All functions:
  Elements:
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmSupportedAlgorithmsBlock::lock
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:74,1
    - Dst: '&mut [u8]::deref_mut'
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:75,1
    - Dst: '&mut [u8]::encap'
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:77,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:78,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:78,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:78,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:77,1
    - Dst: spdm_emu::spdm_emu::send_message
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:82,1
    - Dst: SpdmResult::clone
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:83,1
    - Dst: spdm_emu::spdm_emu::receive_message
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:90,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 3
    argNames:
    - stream
    - transport_encap
    - transport_type
    argTypes:
    - Arc<Mutex<TcpStream>>
    - Arc<Mutex<dyn common::SpdmTransportEncap + Send + Sync>>
    - u32
    constantsTouched: []
    func_position:
      end: 93
      start: 65
    functionDepth: 6
    functionLinenumber: 65
    functionLinenumberEnd: 93
    functionName: send_receive_stop
    functionSourceFile: /src/spdm-rs/test/spdm-requester-emu/src/main.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - spdm_emu::spdm_emu::receive_message
    - SpdmResult::clone
    - SpdmSupportedAlgorithmsBlock::lock
    - unwrap
    - '&mut [u8]::encap'
    - spdm_emu::spdm_emu::send_message
    - Mutex::new
    - '&mut [u8]::deref_mut'
    linkageType: ''
    returnType: void
    signature: 'async fn send_receive_stop(stream: Arc<Mutex<TcpStream>>,transport_encap:
      Arc<Mutex<dyn common::SpdmTransportEncap + Send + Sync>>,transport_type: u32,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: use_raw_pub_key
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:100,1
    - Dst: use_handshake_in_the_clear
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:124,1
    - Dst: use_pqc
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:141,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:145,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:146,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:147,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:148,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:149,1
    - Dst: SpdmBaseAsymAlgo::empty
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:155,1
    - Dst: use_ecdsa
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:156,1
    - Dst: SpdmDheAlgo::empty
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:163,1
    - Dst: SpdmReqAsymAlgo::empty
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:169,1
    - Dst: req_use_ecdsa
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:170,1
    - Dst: SpdmPqcAsymAlgo::empty
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:180,1
    - Dst: SpdmPqcReqAsymAlgo::empty
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:190,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:195,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:200,1
    - Dst: SecuredMessageVersion::try_from
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:200,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:200,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:201,1
    - Dst: SecuredMessageVersion::try_from
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:201,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:201,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:202,1
    - Dst: SecuredMessageVersion::try_from
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:202,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:202,1
    - Dst: use_supported_algos_ext_cap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:205,1
    - Dst: Default::default
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:206,1
    - Dst: use_ecdsa
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:212,1
    - Dst: std::fs::read
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:217,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:217,1
    - Dst: Default::default
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:219,1
    - Dst: len
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:221,1
    - Dst: len
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:222,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:222,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:231,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:232,1
    - Dst: Default::default
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:233,1
    - Dst: Default::default
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:237,1
    - Dst: use_ecdsa
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:242,1
    - Dst: std::fs::read
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:247,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:247,1
    - Dst: use_ecdsa
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:250,1
    - Dst: std::fs::read
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:255,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:255,1
    - Dst: use_ecdsa
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:258,1
    - Dst: std::fs::read
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:263,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:263,1
    - Dst: len
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:265,1
    - Dst: len
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:266,1
    - Dst: len
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:267,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:276,1
    - Dst: as_ref
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:276,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:278,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:279,1
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:282,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:282,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:283,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:283,1
    - Dst: Default::default
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:285,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:289,1
    - Dst: as_ref
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:289,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:290,1
    - Dst: as_ref
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:291,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:292,1
    - Dst: as_ref
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:293,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:297,1
    - Dst: Default::default
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:308,1
    - Dst: Default::default
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:315,1
    - Dst: requester::RequesterContext::new
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:320,1
    - Dst: bool::init_connection
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:328,1
    - Dst: is_err
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:328,1
    - Dst: bool::get_peer_supported_algorithms
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:335,1
    - Dst: use_supported_algos_ext_cap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:354,1
    - Dst: bool::send_receive_spdm_digest
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:364,1
    - Dst: is_err
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:364,1
    - Dst: bool::send_receive_spdm_certificate
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:368,1
    - Dst: is_err
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:368,1
    - Dst: bool::send_receive_spdm_challenge
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:379,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:383,1
    - Dst: SpdmChallengeContextStruct::default
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:383,1
    - Dst: is_err
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:379,1
    - Dst: SpdmMeasurementRecordStructure::default
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:395,1
    - Dst: bool::send_receive_spdm_measurement
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:399,1
    - Dst: is_err
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:399,1
    - Dst: None::is_none
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:418,1
    - Dst: bool::start_session
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:423,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:434,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:434,1
    - Dst: export_keys
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:435,1
    - Dst: bool::send_receive_spdm_heartbeat
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:453,1
    - Dst: is_err
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:453,1
    - Dst: bool::send_receive_spdm_key_update
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:461,1
    - Dst: is_err
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:461,1
    - Dst: reset_buffer_via_request_code
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:472,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:474,1
    - Dst: export_keys
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:478,1
    - Dst: bool::encode_spdm_key_update_op
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:482,1
    - Dst: SpdmKeyUpdateOperation::Unknown
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:483,1
    - Dst: bool::send_message
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:491,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:492,1
    - Dst: is_ok
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:491,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:496,1
    - Dst: create_data_secret_update
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:503,1
    - Dst: SpdmResult::ok
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:503,1
    - Dst: export_keys
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:508,1
    - Dst: bool::receive_message
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:513,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:514,1
    - Dst: bool::handle_spdm_key_update_op_response
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:522,1
    - Dst: export_keys
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:530,1
    - Dst: reset_buffer_via_request_code
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:539,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:541,1
    - Dst: export_keys
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:545,1
    - Dst: bool::encode_spdm_key_update_op
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:549,1
    - Dst: bool::send_message
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:558,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:559,1
    - Dst: is_ok
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:558,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:563,1
    - Dst: create_data_secret_update
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:570,1
    - Dst: SpdmResult::ok
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:570,1
    - Dst: export_keys
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:575,1
    - Dst: bool::receive_message
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:579,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:580,1
    - Dst: bool::handle_spdm_key_update_op_response
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:588,1
    - Dst: export_keys
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:596,1
    - Dst: reset_buffer_via_request_code
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:601,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:603,1
    - Dst: bool::encode_spdm_key_update_op
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:606,1
    - Dst: SpdmKeyUpdateOperation::Unknown
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:607,1
    - Dst: bool::send_message
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:615,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:616,1
    - Dst: is_ok
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:615,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:620,1
    - Dst: create_data_secret_update
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:627,1
    - Dst: SpdmResult::ok
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:627,1
    - Dst: bool::receive_message
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:633,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:634,1
    - Dst: bool::handle_spdm_key_update_op_response
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:642,1
    - Dst: bool::send_receive_spdm_measurement
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:655,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:657,1
    - Dst: is_err
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:655,1
    - Dst: None::is_none
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:674,1
    - Dst: None::is_none
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:674,1
    - Dst: bool::send_receive_spdm_digest
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:679,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:680,1
    - Dst: is_err
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:679,1
    - Dst: bool::send_receive_spdm_certificate
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:687,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:688,1
    - Dst: is_err
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:687,1
    - Dst: bool::end_session
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:696,1
    - Dst: is_err
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:696,1
    - Dst: intersects
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:703,1
    - Dst: bool::start_session
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:712,1
    - Dst: bool::end_session
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:720,1
    - Dst: is_err
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:720,1
    - Dst: td_benchmark::StackProfiling::stack_usage
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:730,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:730,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 574
    argCount: 2
    argNames:
    - socket_io_transport
    - transport_encap
    argTypes:
    - Arc<Mutex<dyn SpdmDeviceIo + Send + Sync>>
    - Arc<Mutex<dyn SpdmTransportEncap + Send + Sync>>
    constantsTouched: []
    func_position:
      end: 733
      start: 96
    functionDepth: 12
    functionLinenumber: 96
    functionLinenumberEnd: 733
    functionName: test_spdm
    functionSourceFile: /src/spdm-rs/test/spdm-requester-emu/src/main.rs
    functionUses: 0
    functionsReached:
    - bool::handle_spdm_key_update_op_response
    - unwrap
    - bool::send_receive_spdm_digest
    - bool::send_receive_spdm_measurement
    - use_raw_pub_key
    - SpdmDheAlgo::empty
    - SecuredMessageVersion::try_from
    - spdmlib::secret::asym_sign::register
    - use_handshake_in_the_clear
    - gen_array_clone
    - intersects
    - is_ok
    - SpdmChallengeContextStruct::default
    - SpdmKemAlgo::empty
    - SpdmMeasurementRecordStructure::default
    - use_ecdsa
    - SpdmBaseAsymAlgo::empty
    - clone
    - bool::init_connection
    - std::fs::read
    - spdmlib::secret::pqc_asym_sign::register
    - is_err
    - get_session_via_id
    - bool::send_receive_spdm_key_update
    - Default::default
    - SpdmReqAsymAlgo::empty
    - Some
    - SpdmPqcReqAsymAlgo::empty
    - bool::receive_message
    - use_supported_algos_ext_cap
    - requester::RequesterContext::new
    - None::is_none
    - SpdmKeyUpdateOperation::Unknown
    - req_use_ecdsa
    - len
    - td_benchmark::StackProfiling::stack_usage
    - bool::end_session
    - bool::start_session
    - bool::send_receive_spdm_certificate
    - Option::expect
    - bool::send_message
    - create_data_secret_update
    - bool::send_receive_spdm_challenge
    - use_pqc
    - SpdmPqcAsymAlgo::empty
    - Result::unwrap
    - export_keys
    - bool::send_receive_spdm_heartbeat
    - bool::encode_spdm_key_update_op
    - reset_buffer_via_request_code
    - copy_from_slice
    - bool::get_peer_supported_algorithms
    - as_ref
    - SpdmResult::ok
    linkageType: ''
    returnType: void
    signature: 'async fn test_spdm(socket_io_transport: Arc<Mutex<dyn SpdmDeviceIo
      + Send + Sync>>,transport_encap: Arc<Mutex<dyn SpdmTransportEncap + Send + Sync>>,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: use_handshake_in_the_clear
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:752,1
    - Dst: use_pqc
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:774,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:778,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:779,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:780,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:781,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:782,1
    - Dst: SpdmBaseAsymAlgo::empty
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:788,1
    - Dst: use_ecdsa
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:789,1
    - Dst: SpdmDheAlgo::empty
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:796,1
    - Dst: SpdmReqAsymAlgo::empty
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:802,1
    - Dst: req_use_ecdsa
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:803,1
    - Dst: SpdmPqcAsymAlgo::empty
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:813,1
    - Dst: SpdmPqcReqAsymAlgo::empty
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:819,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:824,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:829,1
    - Dst: SecuredMessageVersion::try_from
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:829,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:829,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:830,1
    - Dst: SecuredMessageVersion::try_from
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:830,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:830,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:831,1
    - Dst: SecuredMessageVersion::try_from
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:831,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:831,1
    - Dst: Default::default
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:833,1
    - Dst: Default::default
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:837,1
    - Dst: use_ecdsa
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:842,1
    - Dst: std::fs::read
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:847,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:847,1
    - Dst: use_ecdsa
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:850,1
    - Dst: std::fs::read
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:855,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:855,1
    - Dst: use_ecdsa
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:858,1
    - Dst: std::fs::read
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:863,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:863,1
    - Dst: len
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:865,1
    - Dst: len
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:866,1
    - Dst: len
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:867,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:876,1
    - Dst: as_ref
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:876,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:878,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:879,1
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:882,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:882,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:883,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:883,1
    - Dst: Default::default
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:885,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:889,1
    - Dst: as_ref
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:889,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:890,1
    - Dst: as_ref
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:890,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:891,1
    - Dst: as_ref
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:892,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:896,1
    - Dst: Default::default
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:907,1
    - Dst: Default::default
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:914,1
    - Dst: requester::RequesterContext::new
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:918,1
    - Dst: bool::init_connection
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:926,1
    - Dst: is_err
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:926,1
    - Dst: bool::send_receive_spdm_digest
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:930,1
    - Dst: is_err
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:930,1
    - Dst: bool::send_receive_spdm_certificate
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:934,1
    - Dst: is_err
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:934,1
    - Dst: bool::send_receive_spdm_challenge
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:942,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:946,1
    - Dst: SpdmChallengeContextStruct::default
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:946,1
    - Dst: is_err
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:942,1
    - Dst: SpdmMeasurementRecordStructure::default
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:955,1
    - Dst: bool::send_receive_spdm_measurement
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:959,1
    - Dst: is_err
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:959,1
    - Dst: bool::start_session
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:978,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:978,1
    - Dst: idekm::pci_ide_km_requester::IdekmReqContext::pci_ide_km_query
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:997,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:997,1
    - Dst: Option::lock
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1018,1
    - Dst: spdmlib::crypto::rand::get_random
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1020,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1020,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1020,1
    - Dst: spdmlib::crypto::rand::get_random
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1021,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1021,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1021,1
    - Dst: spdmlib::crypto::rand::get_random
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1022,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1022,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1022,1
    - Dst: spdmlib::crypto::rand::get_random
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1023,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1023,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1023,1
    - Dst: spdmlib::crypto::rand::get_random
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1024,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1024,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1024,1
    - Dst: spdmlib::crypto::rand::get_random
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1025,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1025,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1025,1
    - Dst: spdmlib::crypto::rand::get_random
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1026,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1026,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1026,1
    - Dst: spdmlib::crypto::rand::get_random
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1027,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1027,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1027,1
    - Dst: KpAckStatus::default
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1030,1
    - Dst: idekm::pci_ide_km_requester::IdekmReqContext::pci_ide_km_key_prog
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1031,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1031,1
    - Dst: spdmlib::crypto::rand::get_random
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1060,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1060,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1060,1
    - Dst: spdmlib::crypto::rand::get_random
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1061,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1061,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1061,1
    - Dst: spdmlib::crypto::rand::get_random
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1062,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1062,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1062,1
    - Dst: spdmlib::crypto::rand::get_random
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1063,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1063,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1063,1
    - Dst: spdmlib::crypto::rand::get_random
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1064,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1064,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1064,1
    - Dst: spdmlib::crypto::rand::get_random
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1065,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1065,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1065,1
    - Dst: spdmlib::crypto::rand::get_random
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1066,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1066,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1066,1
    - Dst: spdmlib::crypto::rand::get_random
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1067,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1067,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1067,1
    - Dst: KpAckStatus::default
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1070,1
    - Dst: idekm::pci_ide_km_requester::IdekmReqContext::pci_ide_km_key_prog
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1071,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1071,1
    - Dst: spdmlib::crypto::rand::get_random
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1100,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1100,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1100,1
    - Dst: spdmlib::crypto::rand::get_random
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1101,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1101,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1101,1
    - Dst: spdmlib::crypto::rand::get_random
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1102,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1102,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1102,1
    - Dst: spdmlib::crypto::rand::get_random
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1103,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1103,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1103,1
    - Dst: spdmlib::crypto::rand::get_random
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1104,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1104,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1104,1
    - Dst: spdmlib::crypto::rand::get_random
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1105,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1105,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1105,1
    - Dst: spdmlib::crypto::rand::get_random
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1106,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1106,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1106,1
    - Dst: spdmlib::crypto::rand::get_random
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1107,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1107,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1107,1
    - Dst: KpAckStatus::default
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1110,1
    - Dst: idekm::pci_ide_km_requester::IdekmReqContext::pci_ide_km_key_prog
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1111,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1111,1
    - Dst: spdmlib::crypto::rand::get_random
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1140,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1140,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1140,1
    - Dst: spdmlib::crypto::rand::get_random
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1141,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1141,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1141,1
    - Dst: spdmlib::crypto::rand::get_random
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1142,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1142,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1142,1
    - Dst: spdmlib::crypto::rand::get_random
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1143,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1143,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1143,1
    - Dst: spdmlib::crypto::rand::get_random
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1144,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1144,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1144,1
    - Dst: spdmlib::crypto::rand::get_random
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1145,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1145,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1145,1
    - Dst: spdmlib::crypto::rand::get_random
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1146,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1146,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1146,1
    - Dst: spdmlib::crypto::rand::get_random
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1147,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1147,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1147,1
    - Dst: KpAckStatus::default
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1150,1
    - Dst: idekm::pci_ide_km_requester::IdekmReqContext::pci_ide_km_key_prog
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1151,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1151,1
    - Dst: spdmlib::crypto::rand::get_random
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1180,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1180,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1180,1
    - Dst: spdmlib::crypto::rand::get_random
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1181,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1181,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1181,1
    - Dst: spdmlib::crypto::rand::get_random
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1182,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1182,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1182,1
    - Dst: spdmlib::crypto::rand::get_random
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1183,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1183,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1183,1
    - Dst: spdmlib::crypto::rand::get_random
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1184,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1184,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1184,1
    - Dst: spdmlib::crypto::rand::get_random
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1185,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1185,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1185,1
    - Dst: spdmlib::crypto::rand::get_random
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1186,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1186,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1186,1
    - Dst: spdmlib::crypto::rand::get_random
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1187,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1187,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1187,1
    - Dst: KpAckStatus::default
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1190,1
    - Dst: idekm::pci_ide_km_requester::IdekmReqContext::pci_ide_km_key_prog
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1191,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1191,1
    - Dst: spdmlib::crypto::rand::get_random
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1220,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1220,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1220,1
    - Dst: spdmlib::crypto::rand::get_random
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1221,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1221,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1221,1
    - Dst: spdmlib::crypto::rand::get_random
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1222,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1222,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1222,1
    - Dst: spdmlib::crypto::rand::get_random
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1223,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1223,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1223,1
    - Dst: spdmlib::crypto::rand::get_random
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1224,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1224,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1224,1
    - Dst: spdmlib::crypto::rand::get_random
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1225,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1225,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1225,1
    - Dst: spdmlib::crypto::rand::get_random
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1226,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1226,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1226,1
    - Dst: spdmlib::crypto::rand::get_random
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1227,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1227,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1227,1
    - Dst: KpAckStatus::default
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1230,1
    - Dst: idekm::pci_ide_km_requester::IdekmReqContext::pci_ide_km_key_prog
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1231,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1231,1
    - Dst: idekm::pci_ide_km_requester::IdekmReqContext::pci_ide_km_key_set_go
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1260,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1260,1
    - Dst: idekm::pci_ide_km_requester::IdekmReqContext::pci_ide_km_key_set_go
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1278,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1278,1
    - Dst: idekm::pci_ide_km_requester::IdekmReqContext::pci_ide_km_key_set_go
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1296,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1296,1
    - Dst: idekm::pci_ide_km_requester::IdekmReqContext::pci_ide_km_key_set_go
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1314,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1314,1
    - Dst: idekm::pci_ide_km_requester::IdekmReqContext::pci_ide_km_key_set_go
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1332,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1332,1
    - Dst: idekm::pci_ide_km_requester::IdekmReqContext::pci_ide_km_key_set_go
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1350,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1350,1
    - Dst: idekm::pci_ide_km_requester::IdekmReqContext::pci_ide_km_key_set_stop
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1368,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1368,1
    - Dst: idekm::pci_ide_km_requester::IdekmReqContext::pci_ide_km_key_set_stop
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1386,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1386,1
    - Dst: idekm::pci_ide_km_requester::IdekmReqContext::pci_ide_km_key_set_stop
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1404,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1404,1
    - Dst: idekm::pci_ide_km_requester::IdekmReqContext::pci_ide_km_key_set_stop
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1422,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1422,1
    - Dst: idekm::pci_ide_km_requester::IdekmReqContext::pci_ide_km_key_set_stop
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1440,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1440,1
    - Dst: idekm::pci_ide_km_requester::IdekmReqContext::pci_ide_km_key_set_stop
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1458,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1458,1
    - Dst: tdisp::pci_tdisp_requester::pci_tdisp_req_get_tdisp_version
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1481,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1481,1
    - Dst: LockInterfaceFlag::empty
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1488,1
    - Dst: tdisp::pci_tdisp_requester::pci_tdisp_req_get_tdisp_capabilities
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1493,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1493,1
    - Dst: tdisp::pci_tdisp_requester::pci_tdisp_req_get_device_interface_state
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1510,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1510,1
    - Dst: tdisp::pci_tdisp_requester::pci_tdisp_req_lock_interface_request
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1527,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1527,1
    - Dst: tdisp::pci_tdisp_requester::pci_tdisp_req_get_device_interface_state
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1546,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1546,1
    - Dst: tdisp::pci_tdisp_requester::pci_tdisp_req_get_device_interface_report
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1559,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1559,1
    - Dst: TdiReportStructure::read_bytes
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1570,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1570,1
    - Dst: tdisp::pci_tdisp_requester::pci_tdisp_req_start_interface_request
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1576,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1576,1
    - Dst: tdisp::pci_tdisp_requester::pci_tdisp_req_get_device_interface_state
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1588,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1588,1
    - Dst: tdisp::pci_tdisp_requester::pci_tdisp_req_stop_interface_request
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1599,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1599,1
    - Dst: tdisp::pci_tdisp_requester::pci_tdisp_req_get_device_interface_state
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1604,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1604,1
    - Dst: bool::end_session
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1616,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdm-requester-emu/src/main.rs:1616,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 1005
    argCount: 3
    argNames:
    - socket_io_transport
    - transport_encap
    - key_iv
    argTypes:
    - Arc<Mutex<dyn SpdmDeviceIo + Send + Sync>>
    - Arc<Mutex<dyn SpdmTransportEncap + Send + Sync>>
    - Arc<Mutex<Aes256GcmKeyBuffer>>
    constantsTouched: []
    func_position:
      end: 1617
      start: 736
    functionDepth: 12
    functionLinenumber: 736
    functionLinenumberEnd: 1617
    functionName: test_idekm_tdisp
    functionSourceFile: /src/spdm-rs/test/spdm-requester-emu/src/main.rs
    functionUses: 0
    functionsReached:
    - SpdmResult::unwrap
    - unwrap
    - bool::send_receive_spdm_digest
    - bool::send_receive_spdm_measurement
    - Option::unwrap
    - TdiReportStructure::read_bytes
    - SpdmDheAlgo::empty
    - SecuredMessageVersion::try_from
    - spdmlib::secret::asym_sign::register
    - use_handshake_in_the_clear
    - gen_array_clone
    - SpdmChallengeContextStruct::default
    - SpdmKemAlgo::empty
    - idekm::pci_ide_km_requester::IdekmReqContext::pci_ide_km_key_set_go
    - SpdmMeasurementRecordStructure::default
    - use_ecdsa
    - Option::lock
    - SpdmBaseAsymAlgo::empty
    - clone
    - idekm::pci_ide_km_requester::IdekmReqContext::pci_ide_km_key_prog
    - tdisp::pci_tdisp_requester::pci_tdisp_req_get_tdisp_version
    - bool::init_connection
    - std::fs::read
    - tdisp::pci_tdisp_requester::pci_tdisp_req_stop_interface_request
    - KpAckStatus::default
    - tdisp::pci_tdisp_requester::pci_tdisp_req_get_device_interface_report
    - spdmlib::secret::pqc_asym_sign::register
    - idekm::pci_ide_km_requester::IdekmReqContext::pci_ide_km_key_set_stop
    - is_err
    - tdisp::pci_tdisp_requester::pci_tdisp_req_lock_interface_request
    - spdmlib::crypto::rand::get_random
    - Default::default
    - SpdmReqAsymAlgo::empty
    - Some
    - SpdmPqcReqAsymAlgo::empty
    - tdisp::pci_tdisp_requester::pci_tdisp_req_get_tdisp_capabilities
    - requester::RequesterContext::new
    - tdisp::pci_tdisp_requester::pci_tdisp_req_get_device_interface_state
    - idekm::pci_ide_km_requester::IdekmReqContext::pci_ide_km_query
    - req_use_ecdsa
    - len
    - LockInterfaceFlag::empty
    - bool::end_session
    - bool::start_session
    - bool::send_receive_spdm_certificate
    - Option::expect
    - bool::send_receive_spdm_challenge
    - use_pqc
    - SpdmPqcAsymAlgo::empty
    - Result::unwrap
    - to_le_bytes
    - tdisp::pci_tdisp_requester::pci_tdisp_req_start_interface_request
    - copy_from_slice
    - as_ref
    linkageType: ''
    returnType: void
    signature: 'async fn test_idekm_tdisp(socket_io_transport: Arc<Mutex<dyn SpdmDeviceIo
      + Send + Sync>>,transport_encap: Arc<Mutex<dyn SpdmTransportEncap + Send + Sync>>,key_iv:
      Arc<Mutex<Aes256GcmKeyBuffer>>,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::env::var
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/lib.rs:33,1
    - Dst: Result::to_lowercase
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/lib.rs:34,1
    - Dst: as_str
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/lib.rs:34,1
    - Dst: SimpleLogger::new
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/lib.rs:44,1
    - Dst: Self::with_level
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/lib.rs:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 10
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: new_logger_from_env
    functionSourceFile: /src/spdm-rs/fuzz-target/fuzzlib/src/lib.rs
    functionUses: 1
    functionsReached:
    - std::env::var
    - as_str
    - Result::to_lowercase
    - SimpleLogger::new
    - Self::with_level
    linkageType: ''
    returnType: SimpleLogger
    signature: pub fn new_logger_from_env() -> SimpleLogger
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: emu_main_inner
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 12
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: emu_main
    functionSourceFile: /src/spdm-rs/test/spdm-responder-emu/src/main.rs
    functionUses: 0
    functionsReached:
    - emu_main_inner
    linkageType: ''
    returnType: void
    signature: fn emu_main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_logger_from_env
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:138,1
    - Dst: SimpleLogger::init
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:138,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:138,1
    - Dst: spdm_emu::crypto_callback::register_aws_lc_crypto_callbacks
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:149,1
    - Dst: spdm_emu::crypto::crypto_mbedtls_register_handles
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:152,1
    - Dst: spdmlib::secret::measurement::register
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:154,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:154,1
    - Dst: spdmlib::secret::psk::register
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:155,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:155,1
    - Dst: spdm_emu::crypto_callback::register_pqc_crypto_callbacks
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:161,1
    - Dst: LockInterfaceFlag::empty
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:176,1
    - Dst: spdmlib::message::vendor::register_vendor_defined_struct
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:186,1
    - Dst: TcpListener::bind
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:191,1
    - Dst: expect
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:191,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:195,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:195,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:197,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:197,1
    - Dst: incoming
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:199,1
    - Dst: next
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:199,1
    - Dst: SpdmResult::expect
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:200,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:201,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:201,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:205,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:205,1
    - Dst: spdm_emu::async_runtime::block_on
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:209,1
    - Dst: Box::pin
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:209,1
    - Dst: handle_message
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:209,1
    - Dst: SpdmResult::clone
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:210,1
    - Dst: Self::clone
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:212,1
    - Dst: Self::clone
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:214,1
    - Dst: Self::clone
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:216,1
    - Dst: spdm_emu::async_runtime::block_on
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:219,1
    - Dst: Box::pin
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:219,1
    - Dst: process_socket_message
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:219,1
    - Dst: SpdmResult::clone
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:220,1
    - Dst: Self::clone
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:222,1
    - Dst: Self::clone
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:224,1
    - Dst: Self::clone
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:226,1
    - Dst: handle_message
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:233,1
    - Dst: SpdmResult::clone
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:234,1
    - Dst: Self::clone
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:236,1
    - Dst: Self::clone
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:238,1
    - Dst: Self::clone
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:240,1
    - Dst: process_socket_message
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:243,1
    - Dst: SpdmResult::clone
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:244,1
    - Dst: Self::clone
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:246,1
    - Dst: Self::clone
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:248,1
    - Dst: Self::clone
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:250,1
    - Dst: td_benchmark::StackProfiling::stack_usage
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:259,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:259,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 117
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 266
      start: 137
    functionDepth: 11
    functionLinenumber: 137
    functionLinenumberEnd: 266
    functionName: emu_main_inner
    functionSourceFile: /src/spdm-rs/test/spdm-responder-emu/src/main.rs
    functionUses: 1
    functionsReached:
    - Arc::new
    - unwrap
    - spdm_emu::crypto::crypto_mbedtls_register_handles
    - incoming
    - expect
    - Mutex::new
    - clone
    - spdm_emu::crypto_callback::register_pqc_crypto_callbacks
    - process_socket_message
    - next
    - SpdmResult::expect
    - spdmlib::secret::measurement::register
    - new_logger_from_env
    - Box::pin
    - SpdmResult::clone
    - spdmlib::message::vendor::register_vendor_defined_struct
    - Self::clone
    - LockInterfaceFlag::empty
    - td_benchmark::StackProfiling::stack_usage
    - spdm_emu::crypto_callback::register_aws_lc_crypto_callbacks
    - SimpleLogger::init
    - spdmlib::secret::psk::register
    - spdm_emu::async_runtime::block_on
    - handle_message
    - TcpListener::bind
    linkageType: ''
    returnType: void
    signature: fn emu_main_inner()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PathBuf::from
      Src: /src/spdm-rs/external/ring/build.rs:273,1
    - Dst: env::var_os
      Src: /src/spdm-rs/external/ring/build.rs:274,1
    - Dst: Option::expect
      Src: /src/spdm-rs/external/ring/build.rs:274,1
    - Dst: env::var
      Src: /src/spdm-rs/external/ring/build.rs:279,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/ring/build.rs:279,1
    - Dst: env::var
      Src: /src/spdm-rs/external/ring/build.rs:281,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/ring/build.rs:281,1
    - Dst: env::var
      Src: /src/spdm-rs/external/ring/build.rs:282,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/ring/build.rs:282,1
    - Dst: env::var
      Src: /src/spdm-rs/external/ring/build.rs:283,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/ring/build.rs:283,1
    - Dst: env::var
      Src: /src/spdm-rs/external/ring/build.rs:284,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/ring/build.rs:284,1
    - Dst: join
      Src: /src/spdm-rs/external/ring/build.rs:278,1
    - Dst: env::var_os
      Src: /src/spdm-rs/external/ring/build.rs:294,1
    - Dst: Option::as_deref
      Src: /src/spdm-rs/external/ring/build.rs:294,1
    - Dst: pregenerate_asm_main
      Src: /src/spdm-rs/external/ring/build.rs:296,1
    - Dst: ring_build_rs_main
      Src: /src/spdm-rs/external/ring/build.rs:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 303
      start: 270
    functionDepth: 13
    functionLinenumber: 270
    functionLinenumberEnd: 303
    functionName: main
    functionSourceFile: /src/spdm-rs/external/ring/build.rs
    functionUses: 20
    functionsReached:
    - env::var_os
    - PathBuf::from
    - Option::unwrap
    - env::var
    - ring_build_rs_main
    - Option::as_deref
    - join
    - Option::expect
    - pregenerate_asm_main
    linkageType: ''
    returnType: void
    signature: fn main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_key_prog.rs:63,1
    - Dst: clone
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_key_prog.rs:64,1
    - Dst: ok
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_key_prog.rs:63,1
    - Dst: ok_or
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_key_prog.rs:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 7
    argNames:
    - stream_id
    - key_set
    - key_direction
    - key_sub_stream
    - port_index
    - key_iv
    - status
    argTypes:
    - u8
    - u8
    - u8
    - u8
    - u8
    - Aes256GcmKeyBuffer
    - '&mut KpAckStatus'
    constantsTouched: []
    func_position:
      end: 76
      start: 54
    functionDepth: 9
    functionLinenumber: 54
    functionLinenumberEnd: 76
    functionName: pci_ide_km_device_key_prog
    functionSourceFile: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_key_prog.rs
    functionUses: 1
    functionsReached:
    - ok
    - try_get_or_init
    - clone
    - ok_or
    linkageType: ''
    returnType: SpdmResult
    signature: 'fn pci_ide_km_device_key_prog(stream_id: u8,key_set: u8,key_direction:
      u8,key_sub_stream: u8,port_index: u8,key_iv: Aes256GcmKeyBuffer,status: &mut
      KpAckStatus,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_key_set_go.rs:56,1
    - Dst: clone
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_key_set_go.rs:57,1
    - Dst: ok
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_key_set_go.rs:56,1
    - Dst: ok_or
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_key_set_go.rs:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - stream_id
    - key_set
    - key_direction
    - key_sub_stream
    - port_index
    argTypes:
    - u8
    - u8
    - u8
    - u8
    - u8
    constantsTouched: []
    func_position:
      end: 67
      start: 49
    functionDepth: 9
    functionLinenumber: 49
    functionLinenumberEnd: 67
    functionName: pci_ide_km_device_key_set_go
    functionSourceFile: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_key_set_go.rs
    functionUses: 1
    functionsReached:
    - ok
    - try_get_or_init
    - clone
    - ok_or
    linkageType: ''
    returnType: SpdmResult
    signature: 'fn pci_ide_km_device_key_set_go(stream_id: u8,key_set: u8,key_direction:
      u8,key_sub_stream: u8,port_index: u8,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_key_set_stop.rs:57,1
    - Dst: clone
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_key_set_stop.rs:58,1
    - Dst: ok
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_key_set_stop.rs:57,1
    - Dst: ok_or
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_key_set_stop.rs:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - stream_id
    - key_set
    - key_direction
    - key_sub_stream
    - port_index
    argTypes:
    - u8
    - u8
    - u8
    - u8
    - u8
    constantsTouched: []
    func_position:
      end: 68
      start: 50
    functionDepth: 9
    functionLinenumber: 50
    functionLinenumberEnd: 68
    functionName: pci_ide_km_device_key_set_stop
    functionSourceFile: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_key_set_stop.rs
    functionUses: 1
    functionsReached:
    - ok
    - try_get_or_init
    - clone
    - ok_or
    linkageType: ''
    returnType: SpdmResult
    signature: 'fn pci_ide_km_device_key_set_stop(stream_id: u8,key_set: u8,key_direction:
      u8,key_sub_stream: u8,port_index: u8,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_query.rs:61,1
    - Dst: clone
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_query.rs:62,1
    - Dst: ok
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_query.rs:61,1
    - Dst: ok_or
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_query.rs:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 7
    argNames:
    - port_index
    - dev_func_num
    - bus_num
    - segment
    - max_port_index
    - ide_reg_block
    - ide_reg_block_cnt
    argTypes:
    - u8
    - '&mut u8'
    - '&mut u8'
    - '&mut u8'
    - '&mut u8'
    - '&mut [u32; PCI_IDE_KM_IDE_REG_BLOCK_MAX_COUNT]'
    - '&mut usize'
    constantsTouched: []
    func_position:
      end: 74
      start: 52
    functionDepth: 9
    functionLinenumber: 52
    functionLinenumberEnd: 74
    functionName: pci_ide_km_device_query
    functionSourceFile: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_query.rs
    functionUses: 1
    functionsReached:
    - ok
    - try_get_or_init
    - clone
    - ok_or
    linkageType: ''
    returnType: SpdmResult
    signature: 'fn pci_ide_km_device_query(port_index: u8,dev_func_num: &mut u8,bus_num:
      &mut u8,segment: &mut u8,max_port_index: &mut u8,ide_reg_block: &mut [u32; PCI_IDE_KM_IDE_REG_BLOCK_MAX_COUNT],ide_reg_block_cnt:
      &mut usize,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pci_ide_km_rsp_key_prog::register
      Src: /src/spdm-rs/test/spdm-responder-emu/src/spdm_device_idekm_example.rs:77,1
    - Dst: pci_ide_km_rsp_key_set_go::register
      Src: /src/spdm-rs/test/spdm-responder-emu/src/spdm_device_idekm_example.rs:80,1
    - Dst: pci_ide_km_rsp_key_set_stop::register
      Src: /src/spdm-rs/test/spdm-responder-emu/src/spdm_device_idekm_example.rs:83,1
    - Dst: pci_ide_km_rsp_query::register
      Src: /src/spdm-rs/test/spdm-responder-emu/src/spdm_device_idekm_example.rs:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 89
    functionName: init_device_idekm_instance
    functionSourceFile: /src/spdm-rs/test/spdm-responder-emu/src/spdm_device_idekm_example.rs
    functionUses: 0
    functionsReached:
    - pci_ide_km_rsp_query::register
    - pci_ide_km_rsp_key_prog::register
    - pci_ide_km_rsp_key_set_stop::register
    - pci_ide_km_rsp_key_set_go::register
    linkageType: ''
    returnType: void
    signature: pub fn init_device_idekm_instance()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_capabilities.rs:84,1
    - Dst: clone
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_capabilities.rs:85,1
    - Dst: ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_capabilities.rs:84,1
    - Dst: ok_or
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_capabilities.rs:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 10
    argNames:
    - vdm_handle
    - tsm_caps
    - interface_id
    - dsm_caps
    - req_msgs_supported
    - lock_interface_flags_supported
    - dev_addr_width
    - num_req_this
    - num_req_all
    - tdisp_error_code
    argTypes:
    - usize
    - u32
    - '&mut InterfaceId'
    - '&mut u32'
    - '&mut [u8; 16]'
    - '&mut LockInterfaceFlag'
    - '&mut u8'
    - '&mut u8'
    - '&mut u8'
    - '&mut Option<TdispErrorCode>'
    constantsTouched: []
    func_position:
      end: 102
      start: 70
    functionDepth: 9
    functionLinenumber: 70
    functionLinenumberEnd: 102
    functionName: pci_tdisp_device_capabilities
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_capabilities.rs
    functionUses: 1
    functionsReached:
    - ok
    - try_get_or_init
    - clone
    - ok_or
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub(crate) fn pci_tdisp_device_capabilities(// INvdm_handle: usize,tsm_caps:
      u32,// OUTinterface_id: &mut InterfaceId,dsm_caps: &mut u32,req_msgs_supported:
      &mut [u8; 16],lock_interface_flags_supported: &mut LockInterfaceFlag,dev_addr_width:
      &mut u8,num_req_this: &mut u8,num_req_all: &mut u8,tdisp_error_code: &mut Option<TdispErrorCode>,)
      -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_error.rs:50,1
    - Dst: clone
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_error.rs:51,1
    - Dst: ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_error.rs:50,1
    - Dst: ok_or
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_error.rs:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - vdm_handle
    - interface_id
    argTypes:
    - usize
    - '&mut InterfaceId'
    constantsTouched: []
    func_position:
      end: 60
      start: 44
    functionDepth: 9
    functionLinenumber: 44
    functionLinenumberEnd: 60
    functionName: pci_tdisp_device_error
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_error.rs
    functionUses: 1
    functionsReached:
    - ok
    - try_get_or_init
    - clone
    - ok_or
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub(crate) fn pci_tdisp_device_error(// INvdm_handle: usize,// OUTinterface_id:
      &mut InterfaceId,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_device_interface_report.rs:67,1
    - Dst: clone
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_device_interface_report.rs:68,1
    - Dst: ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_device_interface_report.rs:67,1
    - Dst: ok_or
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_device_interface_report.rs:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - vdm_handle
    - interface_id
    - tdi_report
    - tdi_report_size
    - tdisp_error_code
    argTypes:
    - usize
    - '&mut InterfaceId'
    - '&mut [u8; MAX_DEVICE_REPORT_BUFFER]'
    - '&mut usize'
    - '&mut Option<TdispErrorCode>'
    constantsTouched: []
    func_position:
      end: 78
      start: 58
    functionDepth: 9
    functionLinenumber: 58
    functionLinenumberEnd: 78
    functionName: pci_tdisp_device_interface_report
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_device_interface_report.rs
    functionUses: 1
    functionsReached:
    - ok
    - try_get_or_init
    - clone
    - ok_or
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub(crate) fn pci_tdisp_device_interface_report(// INvdm_handle: usize,//
      OUTinterface_id: &mut InterfaceId,tdi_report: &mut [u8; MAX_DEVICE_REPORT_BUFFER],tdi_report_size:
      &mut usize,tdisp_error_code: &mut Option<TdispErrorCode>,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_device_interface_state.rs:62,1
    - Dst: clone
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_device_interface_state.rs:63,1
    - Dst: ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_device_interface_state.rs:62,1
    - Dst: ok_or
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_device_interface_state.rs:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - vdm_handle
    - interface_id
    - tdi_state
    - tdisp_error_code
    argTypes:
    - usize
    - '&mut InterfaceId'
    - '&mut TdiState'
    - '&mut Option<TdispErrorCode>'
    constantsTouched: []
    func_position:
      end: 69
      start: 54
    functionDepth: 9
    functionLinenumber: 54
    functionLinenumberEnd: 69
    functionName: pci_tdisp_device_interface_state
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_device_interface_state.rs
    functionUses: 1
    functionsReached:
    - ok
    - try_get_or_init
    - clone
    - ok_or
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub(crate) fn pci_tdisp_device_interface_state(// INvdm_handle: usize,//
      OUTinterface_id: &mut InterfaceId,tdi_state: &mut TdiState,tdisp_error_code:
      &mut Option<TdispErrorCode>,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_lock_interface_request.rs:80,1
    - Dst: clone
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_lock_interface_request.rs:81,1
    - Dst: ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_lock_interface_request.rs:80,1
    - Dst: ok_or
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_lock_interface_request.rs:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 8
    argNames:
    - vdm_handle
    - flags
    - default_stream_id
    - mmio_reporting_offset
    - bind_p2p_address_mask
    - interface_id
    - start_interface_nonce
    - tdisp_error_code
    argTypes:
    - usize
    - '&LockInterfaceFlag'
    - u8
    - u64
    - u64
    - '&mut InterfaceId'
    - '&mut [u8; START_INTERFACE_NONCE_LEN]'
    - '&mut Option<TdispErrorCode>'
    constantsTouched: []
    func_position:
      end: 94
      start: 68
    functionDepth: 9
    functionLinenumber: 68
    functionLinenumberEnd: 94
    functionName: pci_tdisp_device_lock_interface
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_lock_interface_request.rs
    functionUses: 1
    functionsReached:
    - ok
    - try_get_or_init
    - clone
    - ok_or
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub(crate) fn pci_tdisp_device_lock_interface(// INvdm_handle: usize,flags:
      &LockInterfaceFlag,default_stream_id: u8,mmio_reporting_offset: u64,bind_p2p_address_mask:
      u64,// OUTinterface_id: &mut InterfaceId,start_interface_nonce: &mut [u8; START_INTERFACE_NONCE_LEN],tdisp_error_code:
      &mut Option<TdispErrorCode>,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_start_interface_request.rs:65,1
    - Dst: clone
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_start_interface_request.rs:66,1
    - Dst: ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_start_interface_request.rs:65,1
    - Dst: ok_or
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_start_interface_request.rs:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - vdm_handle
    - start_interface_nonce
    - interface_id
    - tdisp_error_code
    argTypes:
    - usize
    - '&[u8; START_INTERFACE_NONCE_LEN]'
    - '&mut InterfaceId'
    - '&mut Option<TdispErrorCode>'
    constantsTouched: []
    func_position:
      end: 75
      start: 57
    functionDepth: 9
    functionLinenumber: 57
    functionLinenumberEnd: 75
    functionName: pci_tdisp_device_start_interface
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_start_interface_request.rs
    functionUses: 1
    functionsReached:
    - ok
    - try_get_or_init
    - clone
    - ok_or
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub(crate) fn pci_tdisp_device_start_interface(//INvdm_handle: usize,start_interface_nonce:
      &[u8; START_INTERFACE_NONCE_LEN],//OUTinterface_id: &mut InterfaceId,tdisp_error_code:
      &mut Option<TdispErrorCode>,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_stop_interface_request.rs:61,1
    - Dst: clone
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_stop_interface_request.rs:62,1
    - Dst: ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_stop_interface_request.rs:61,1
    - Dst: ok_or
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_stop_interface_request.rs:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - vdm_handle
    - interface_id
    - tdisp_error_code
    argTypes:
    - usize
    - '&mut InterfaceId'
    - '&mut Option<TdispErrorCode>'
    constantsTouched: []
    func_position:
      end: 66
      start: 54
    functionDepth: 9
    functionLinenumber: 54
    functionLinenumberEnd: 66
    functionName: pci_tdisp_device_stop_interface
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_stop_interface_request.rs
    functionUses: 1
    functionsReached:
    - ok
    - try_get_or_init
    - clone
    - ok_or
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub(crate) fn pci_tdisp_device_stop_interface(// INvdm_handle: usize,//
      OUTinterface_id: &mut InterfaceId,tdisp_error_code: &mut Option<TdispErrorCode>,)
      -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_bind_p2p_stream_request.rs:64,1
    - Dst: clone
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_bind_p2p_stream_request.rs:65,1
    - Dst: ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_bind_p2p_stream_request.rs:64,1
    - Dst: ok_or
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_bind_p2p_stream_request.rs:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - vdm_handle
    - p2p_stream_id
    - interface_id
    - tdisp_error_code
    argTypes:
    - usize
    - u8
    - '&mut InterfaceId'
    - '&mut Option<TdispErrorCode>'
    constantsTouched: []
    func_position:
      end: 74
      start: 56
    functionDepth: 9
    functionLinenumber: 56
    functionLinenumberEnd: 74
    functionName: pci_tdisp_device_bind_p2p_stream
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_bind_p2p_stream_request.rs
    functionUses: 1
    functionsReached:
    - ok
    - try_get_or_init
    - clone
    - ok_or
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub(crate) fn pci_tdisp_device_bind_p2p_stream(//INvdm_handle: usize,p2p_stream_id:
      u8,//OUTinterface_id: &mut InterfaceId,tdisp_error_code: &mut Option<TdispErrorCode>,)
      -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_unbind_p2p_stream_request.rs:64,1
    - Dst: clone
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_unbind_p2p_stream_request.rs:65,1
    - Dst: ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_unbind_p2p_stream_request.rs:64,1
    - Dst: ok_or
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_unbind_p2p_stream_request.rs:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - vdm_handle
    - p2p_stream_id
    - interface_id
    - tdisp_error_code
    argTypes:
    - usize
    - u8
    - '&mut InterfaceId'
    - '&mut Option<TdispErrorCode>'
    constantsTouched: []
    func_position:
      end: 74
      start: 56
    functionDepth: 9
    functionLinenumber: 56
    functionLinenumberEnd: 74
    functionName: pci_tdisp_device_unbind_p2p_stream
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_unbind_p2p_stream_request.rs
    functionUses: 1
    functionsReached:
    - ok
    - try_get_or_init
    - clone
    - ok_or
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub(crate) fn pci_tdisp_device_unbind_p2p_stream(//INvdm_handle: usize,p2p_stream_id:
      u8,//OUTinterface_id: &mut InterfaceId,tdisp_error_code: &mut Option<TdispErrorCode>,)
      -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_set_mmio_attribute_request.rs:64,1
    - Dst: clone
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_set_mmio_attribute_request.rs:65,1
    - Dst: ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_set_mmio_attribute_request.rs:64,1
    - Dst: ok_or
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_set_mmio_attribute_request.rs:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - vdm_handle
    - mmio_range
    - interface_id
    - tdisp_error_code
    argTypes:
    - usize
    - '&TdispMmioRange'
    - '&mut InterfaceId'
    - '&mut Option<TdispErrorCode>'
    constantsTouched: []
    func_position:
      end: 74
      start: 56
    functionDepth: 9
    functionLinenumber: 56
    functionLinenumberEnd: 74
    functionName: pci_tdisp_device_set_mmio_attribute
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_set_mmio_attribute_request.rs
    functionUses: 1
    functionsReached:
    - ok
    - try_get_or_init
    - clone
    - ok_or
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub(crate) fn pci_tdisp_device_set_mmio_attribute(//INvdm_handle:
      usize,mmio_range: &TdispMmioRange,//OUTinterface_id: &mut InterfaceId,tdisp_error_code:
      &mut Option<TdispErrorCode>,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_vdm_response.rs:42,1
    - Dst: clone
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_vdm_response.rs:43,1
    - Dst: ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_vdm_response.rs:42,1
    - Dst: ok_or
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_vdm_response.rs:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - vdm_handle
    - vendor_defined_req_payload_struct
    argTypes:
    - usize
    - '&VendorDefinedReqPayloadStruct'
    constantsTouched: []
    func_position:
      end: 47
      start: 37
    functionDepth: 9
    functionLinenumber: 37
    functionLinenumberEnd: 47
    functionName: pci_tdisp_device_vdm_response
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_vdm_response.rs
    functionUses: 1
    functionsReached:
    - ok
    - try_get_or_init
    - clone
    - ok_or
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub(crate) fn pci_tdisp_device_vdm_response(//INvdm_handle: usize,vendor_defined_req_payload_struct:
      &VendorDefinedReqPayloadStruct,) -> SpdmResult<VendorDefinedRspPayloadStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_version.rs:62,1
    - Dst: clone
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_version.rs:63,1
    - Dst: ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_version.rs:62,1
    - Dst: ok_or
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_version.rs:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - vdm_handle
    - interface_id
    - version_num_count
    - version_num_entry
    argTypes:
    - usize
    - '&mut InterfaceId'
    - '&mut u8'
    - '&mut [TdispVersion; MAX_TDISP_VERSION_COUNT]'
    constantsTouched: []
    func_position:
      end: 74
      start: 54
    functionDepth: 9
    functionLinenumber: 54
    functionLinenumberEnd: 74
    functionName: pci_tdisp_device_version
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_version.rs
    functionUses: 1
    functionsReached:
    - ok
    - try_get_or_init
    - clone
    - ok_or
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub(crate) fn pci_tdisp_device_version(// INvdm_handle: usize,// OUTinterface_id:
      &mut InterfaceId,version_num_count: &mut u8,version_num_entry: &mut [TdispVersion;
      MAX_TDISP_VERSION_COUNT],) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pci_tdisp_rsp_tdisp_capabilities::register
      Src: /src/spdm-rs/test/spdm-responder-emu/src/spdm_device_tdisp_example.rs:392,1
    - Dst: pci_tdisp_rsp_tdisp_error::register
      Src: /src/spdm-rs/test/spdm-responder-emu/src/spdm_device_tdisp_example.rs:395,1
    - Dst: pci_tdisp_rsp_device_interface_report::register
      Src: /src/spdm-rs/test/spdm-responder-emu/src/spdm_device_tdisp_example.rs:398,1
    - Dst: pci_tdisp_rsp_device_interface_state::register
      Src: /src/spdm-rs/test/spdm-responder-emu/src/spdm_device_tdisp_example.rs:401,1
    - Dst: pci_tdisp_rsp_lock_interface_request::register
      Src: /src/spdm-rs/test/spdm-responder-emu/src/spdm_device_tdisp_example.rs:404,1
    - Dst: pci_tdisp_rsp_start_interface_request::register
      Src: /src/spdm-rs/test/spdm-responder-emu/src/spdm_device_tdisp_example.rs:407,1
    - Dst: pci_tdisp_rsp_stop_interface_request::register
      Src: /src/spdm-rs/test/spdm-responder-emu/src/spdm_device_tdisp_example.rs:410,1
    - Dst: pci_tdisp_rsp_tdisp_version::register
      Src: /src/spdm-rs/test/spdm-responder-emu/src/spdm_device_tdisp_example.rs:413,1
    - Dst: pci_tdisp_rsp_bind_p2p_stream_request::register
      Src: /src/spdm-rs/test/spdm-responder-emu/src/spdm_device_tdisp_example.rs:416,1
    - Dst: pci_tdisp_rsp_unbind_p2p_stream_request::register
      Src: /src/spdm-rs/test/spdm-responder-emu/src/spdm_device_tdisp_example.rs:419,1
    - Dst: pci_tdisp_rsp_set_mmio_attribute_request::register
      Src: /src/spdm-rs/test/spdm-responder-emu/src/spdm_device_tdisp_example.rs:422,1
    - Dst: pci_tdisp_rsp_vdm_response::register
      Src: /src/spdm-rs/test/spdm-responder-emu/src/spdm_device_tdisp_example.rs:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 428
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 428
    functionName: init_device_tdisp_instance
    functionSourceFile: /src/spdm-rs/test/spdm-responder-emu/src/spdm_device_tdisp_example.rs
    functionUses: 0
    functionsReached:
    - pci_tdisp_rsp_vdm_response::register
    - pci_tdisp_rsp_unbind_p2p_stream_request::register
    - pci_tdisp_rsp_tdisp_capabilities::register
    - pci_tdisp_rsp_lock_interface_request::register
    - pci_tdisp_rsp_stop_interface_request::register
    - pci_tdisp_rsp_bind_p2p_stream_request::register
    - pci_tdisp_rsp_set_mmio_attribute_request::register
    - pci_tdisp_rsp_tdisp_version::register
    - pci_tdisp_rsp_device_interface_state::register
    - pci_tdisp_rsp_device_interface_report::register
    - pci_tdisp_rsp_start_interface_request::register
    - pci_tdisp_rsp_tdisp_error::register
    linkageType: ''
    returnType: void
    signature: pub fn init_device_tdisp_instance()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::lock
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:66,1
    - Dst: deref
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:67,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:68,1
    - Dst: SpdmSocketHeader::read
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:69,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:69,1
    - Dst: to_be
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:72,1
    - Dst: to_be
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:73,1
    - Dst: to_be
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:77,1
    - Dst: send_hello
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:79,1
    - Dst: SpdmResult::clone
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:79,1
    - Dst: Arc<Mutex<dyn SpdmTransportEncap + Send + Sync>>::clone
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:79,1
    - Dst: send_stop
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:83,1
    - Dst: SpdmResult::clone
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:83,1
    - Dst: Arc<Mutex<dyn SpdmTransportEncap + Send + Sync>>::clone
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:83,1
    - Dst: send_pci_discovery
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:89,1
    - Dst: SpdmResult::clone
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:90,1
    - Dst: Arc<Mutex<dyn SpdmTransportEncap + Send + Sync>>::clone
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:91,1
    - Dst: send_unknown
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:97,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 64
    argCount: 4
    argNames:
    - stream
    - transport_encap
    - buffer
    - buffer_size
    argTypes:
    - Arc<Mutex<TcpStream>>
    - Arc<Mutex<dyn SpdmTransportEncap + Send + Sync>>
    - Arc<Mutex<[u8; RECEIVER_BUFFER_SIZE]>>
    - usize
    constantsTouched: []
    func_position:
      end: 102
      start: 57
    functionDepth: 10
    functionLinenumber: 57
    functionLinenumberEnd: 102
    functionName: process_socket_message
    functionSourceFile: /src/spdm-rs/test/spdm-responder-emu/src/main.rs
    functionUses: 1
    functionsReached:
    - send_pci_discovery
    - SpdmSocketHeader::read
    - SpdmCertChainBuffer::lock
    - SpdmResult::clone
    - Arc<Mutex<dyn SpdmTransportEncap + Send + Sync>>::clone
    - to_be
    - send_unknown
    - Option::unwrap
    - deref
    - send_hello
    - send_stop
    - Reader::init
    linkageType: ''
    returnType: bool
    signature: 'async fn process_socket_message(stream: Arc<Mutex<TcpStream>>,transport_encap:
      Arc<Mutex<dyn SpdmTransportEncap + Send + Sync>>,buffer: Arc<Mutex<[u8; RECEIVER_BUFFER_SIZE]>>,buffer_size:
      usize,) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SocketIoTransport::new
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:275,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:276,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:276,1
    - Dst: use_raw_pub_key
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:277,1
    - Dst: use_psk_without_context
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:278,1
    - Dst: use_handshake_in_the_clear
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:310,1
    - Dst: use_pqc
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:327,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:331,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:332,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:333,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:334,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:335,1
    - Dst: SpdmBaseAsymAlgo::empty
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:342,1
    - Dst: use_ecdsa
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:343,1
    - Dst: SpdmDheAlgo::empty
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:350,1
    - Dst: SpdmReqAsymAlgo::empty
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:356,1
    - Dst: req_use_ecdsa
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:357,1
    - Dst: SpdmPqcAsymAlgo::empty
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:367,1
    - Dst: SpdmPqcReqAsymAlgo::empty
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:377,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:382,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:388,1
    - Dst: SecuredMessageVersion::try_from
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:388,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:388,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:389,1
    - Dst: SecuredMessageVersion::try_from
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:389,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:389,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:390,1
    - Dst: SecuredMessageVersion::try_from
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:390,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:390,1
    - Dst: Default::default
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:392,1
    - Dst: Default::default
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:396,1
    - Dst: std::env::var
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:401,1
    - Dst: Option::ok
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:401,1
    - Dst: std::fs::read
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:406,1
    - Dst: Option::unwrap_or_else
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:406,1
    - Dst: SpdmResult::len
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:408,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:411,1
    - Dst: use_ecdsa
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:416,1
    - Dst: std::fs::read
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:421,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:421,1
    - Dst: use_ecdsa
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:424,1
    - Dst: std::fs::read
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:429,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:429,1
    - Dst: use_ecdsa
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:432,1
    - Dst: std::fs::read
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:437,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:437,1
    - Dst: len
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:439,1
    - Dst: len
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:440,1
    - Dst: len
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:441,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:450,1
    - Dst: as_ref
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:450,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:451,1
    - Dst: as_ref
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:452,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:453,1
    - Dst: as_ref
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:454,1
    - Dst: use_ecdsa
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:461,1
    - Dst: std::fs::read
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:466,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:466,1
    - Dst: Default::default
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:468,1
    - Dst: len
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:470,1
    - Dst: len
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:471,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:471,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:480,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:481,1
    - Dst: Default::default
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:482,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:487,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:497,1
    - Dst: Default::default
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:498,1
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:502,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:502,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:503,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:503,1
    - Dst: spdm_emu::watchdog_impl_sample::init_watchdog
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:504,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:505,1
    - Dst: SpdmSupportedAlgorithmsBlock::lock
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:512,1
    - Dst: '&mut [u8]::deref_mut'
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:513,1
    - Dst: '&mut [u8]::zeroize'
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:514,1
    - Dst: bool::process_message
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:515,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 246
    argCount: 3
    argNames:
    - stream
    - transport_encap
    - raw_packet
    argTypes:
    - Arc<Mutex<TcpStream>>
    - Arc<Mutex<dyn SpdmTransportEncap + Send + Sync>>
    - Arc<Mutex<[u8; RECEIVER_BUFFER_SIZE]>>
    constantsTouched: []
    func_position:
      end: 535
      start: 269
    functionDepth: 11
    functionLinenumber: 269
    functionLinenumberEnd: 535
    functionName: handle_message
    functionSourceFile: /src/spdm-rs/test/spdm-responder-emu/src/main.rs
    functionUses: 1
    functionsReached:
    - Arc::new
    - responder::ResponderContext::new
    - std::env::var
    - SpdmSupportedAlgorithmsBlock::lock
    - use_raw_pub_key
    - SpdmDheAlgo::empty
    - SecuredMessageVersion::try_from
    - spdmlib::secret::asym_sign::register
    - use_handshake_in_the_clear
    - Option::ok
    - gen_array_clone
    - use_psk_without_context
    - SpdmKemAlgo::empty
    - Mutex::new
    - '&mut [u8]::deref_mut'
    - use_ecdsa
    - SpdmBaseAsymAlgo::empty
    - clone
    - std::fs::read
    - spdmlib::secret::pqc_asym_sign::register
    - spdm_emu::watchdog_impl_sample::init_watchdog
    - Default::default
    - SpdmReqAsymAlgo::empty
    - Some
    - SpdmPqcReqAsymAlgo::empty
    - Option::unwrap_or_else
    - req_use_ecdsa
    - len
    - '&mut [u8]::zeroize'
    - bool::process_message
    - Option::expect
    - SocketIoTransport::new
    - SpdmResult::len
    - use_pqc
    - SpdmPqcAsymAlgo::empty
    - Result::unwrap
    - copy_from_slice
    - as_ref
    linkageType: ''
    returnType: usize
    signature: 'async fn handle_message(stream: Arc<Mutex<TcpStream>>,transport_encap:
      Arc<Mutex<dyn SpdmTransportEncap + Send + Sync>>,raw_packet: Arc<Mutex<[u8;
      RECEIVER_BUFFER_SIZE]>>,) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmSupportedAlgorithmsBlock::lock
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:547,1
    - Dst: '&mut [u8]::deref_mut'
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:548,1
    - Dst: '&mut [u8]::encap'
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:550,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:552,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:553,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:553,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:550,1
    - Dst: spdm_emu::spdm_emu::send_message
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:559,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 3
    argNames:
    - stream
    - transport_encap
    - tranport_type
    argTypes:
    - Arc<Mutex<TcpStream>>
    - Arc<Mutex<dyn SpdmTransportEncap + Send + Sync>>
    - u32
    constantsTouched: []
    func_position:
      end: 565
      start: 538
    functionDepth: 6
    functionLinenumber: 538
    functionLinenumberEnd: 565
    functionName: send_hello
    functionSourceFile: /src/spdm-rs/test/spdm-responder-emu/src/main.rs
    functionUses: 1
    functionsReached:
    - Arc::new
    - SpdmSupportedAlgorithmsBlock::lock
    - unwrap
    - '&mut [u8]::encap'
    - spdm_emu::spdm_emu::send_message
    - Mutex::new
    - '&mut [u8]::deref_mut'
    linkageType: ''
    returnType: void
    signature: 'pub async fn send_hello(stream: Arc<Mutex<TcpStream>>,transport_encap:
      Arc<Mutex<dyn SpdmTransportEncap + Send + Sync>>,tranport_type: u32,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmSupportedAlgorithmsBlock::lock
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:576,1
    - Dst: '&mut [u8]::deref_mut'
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:577,1
    - Dst: '&mut [u8]::encap'
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:578,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:579,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:579,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:579,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:578,1
    - Dst: spdm_emu::spdm_emu::send_message
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 3
    argNames:
    - stream
    - transport_encap
    - transport_type
    argTypes:
    - Arc<Mutex<TcpStream>>
    - Arc<Mutex<dyn SpdmTransportEncap + Send + Sync>>
    - u32
    constantsTouched: []
    func_position:
      end: 589
      start: 568
    functionDepth: 6
    functionLinenumber: 568
    functionLinenumberEnd: 589
    functionName: send_unknown
    functionSourceFile: /src/spdm-rs/test/spdm-responder-emu/src/main.rs
    functionUses: 2
    functionsReached:
    - Arc::new
    - SpdmSupportedAlgorithmsBlock::lock
    - unwrap
    - '&mut [u8]::encap'
    - spdm_emu::spdm_emu::send_message
    - Mutex::new
    - '&mut [u8]::deref_mut'
    linkageType: ''
    returnType: void
    signature: 'pub async fn send_unknown(stream: Arc<Mutex<TcpStream>>,transport_encap:
      Arc<Mutex<dyn SpdmTransportEncap + Send + Sync>>,transport_type: u32,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spdm_emu::spdm_emu::send_message
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - stream
    - _transport_encap
    - transport_type
    argTypes:
    - Arc<Mutex<TcpStream>>
    - Arc<Mutex<dyn SpdmTransportEncap + Send + Sync>>
    - u32
    constantsTouched: []
    func_position:
      end: 605
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 605
    functionName: send_stop
    functionSourceFile: /src/spdm-rs/test/spdm-responder-emu/src/main.rs
    functionUses: 1
    functionsReached:
    - spdm_emu::spdm_emu::send_message
    linkageType: ''
    returnType: void
    signature: 'pub async fn send_stop(stream: Arc<Mutex<TcpStream>>,_transport_encap:
      Arc<Mutex<dyn SpdmTransportEncap + Send + Sync>>,transport_type: u32,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:614,1
    - Dst: PciDoeMessageHeader::read
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:616,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:632,1
    - Dst: send_unknown
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:651,1
    - Dst: SpdmResult::clone
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:651,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:657,1
    - Dst: Writer::used
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:665,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:666,1
    - Dst: spdm_emu::spdm_emu::send_message
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:667,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 70
    argCount: 4
    argNames:
    - stream
    - transport_encap
    - transport_type
    - buffer
    argTypes:
    - Arc<Mutex<TcpStream>>
    - Arc<Mutex<dyn SpdmTransportEncap + Send + Sync>>
    - u32
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 675
      start: 608
    functionDepth: 11
    functionLinenumber: 608
    functionLinenumberEnd: 675
    functionName: send_pci_discovery
    functionSourceFile: /src/spdm-rs/test/spdm-responder-emu/src/main.rs
    functionUses: 1
    functionsReached:
    - PciDoeMessageHeader::read
    - SpdmResult::clone
    - Writer::used
    - send_unknown
    - u8::read
    - spdm_emu::spdm_emu::send_message
    - Writer::init
    - copy_from_slice
    - Reader::init
    linkageType: ''
    returnType: bool
    signature: 'pub async fn send_pci_discovery(stream: Arc<Mutex<TcpStream>>,transport_encap:
      Arc<Mutex<dyn SpdmTransportEncap + Send + Sync>>,transport_type: u32,buffer:
      &[u8],) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: idekm::pci_idekm::vendor_id
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:682,1
    - Dst: Err
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:683,1
    - Dst: idekm::pci_ide_km_responder::pci_ide_km_rsp_dispatcher
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:687,1
    - Dst: tdisp::pci_tdisp_responder::pci_tdisp_rsp_dispatcher
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:692,1
    - Dst: Err
      Src: /src/spdm-rs/test/spdm-responder-emu/src/main.rs:697,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - vdm_handle
    - vendor_id_struct
    - vendor_defined_req_payload_struct
    argTypes:
    - usize
    - '&VendorIDStruct'
    - '&VendorDefinedReqPayloadStruct'
    constantsTouched: []
    func_position:
      end: 699
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 699
    functionName: pci_idekm_tdisp_rsp_dispatcher
    functionSourceFile: /src/spdm-rs/test/spdm-responder-emu/src/main.rs
    functionUses: 0
    functionsReached:
    - idekm::pci_ide_km_responder::pci_ide_km_rsp_dispatcher
    - tdisp::pci_tdisp_responder::pci_tdisp_rsp_dispatcher
    - idekm::pci_idekm::vendor_id
    - Err
    linkageType: ''
    returnType: SpdmResult
    signature: 'fn pci_idekm_tdisp_rsp_dispatcher(vdm_handle: usize,vendor_id_struct:
      &VendorIDStruct,vendor_defined_req_payload_struct: &VendorDefinedReqPayloadStruct,)
      -> SpdmResult<VendorDefinedRspPayloadStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: register_handlers
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:11,1
    - Dst: '&str::to_string'
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:12,1
    - Dst: '&str::to_string'
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:12,1
    - Dst: register_handlers
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:15,1
    - Dst: '&str::to_string'
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:16,1
    - Dst: '&str::to_string'
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:16,1
    - Dst: register_handlers
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:19,1
    - Dst: '&str::to_string'
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:20,1
    - Dst: '&str::to_string'
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:20,1
    - Dst: register_handlers
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:23,1
    - Dst: '&str::to_string'
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:24,1
    - Dst: '&str::to_string'
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:24,1
    - Dst: register_handlers
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:27,1
    - Dst: '&str::to_string'
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:28,1
    - Dst: '&str::to_string'
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:28,1
    - Dst: register_handlers
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:31,1
    - Dst: '&str::to_string'
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:32,1
    - Dst: '&str::to_string'
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:32,1
    - Dst: register_handlers
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:35,1
    - Dst: '&str::to_string'
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:36,1
    - Dst: '&str::to_string'
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:36,1
    - Dst: register_handlers
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:39,1
    - Dst: '&str::to_string'
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:40,1
    - Dst: '&str::to_string'
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 10
    functionDepth: 7
    functionLinenumber: 10
    functionLinenumberEnd: 43
    functionName: init_handlers
    functionSourceFile: /src/spdm-rs/test/cavp_acvts_test/src/main.rs
    functionUses: 0
    functionsReached:
    - '&str::to_string'
    - register_handlers
    linkageType: ''
    returnType: void
    signature: fn init_handlers()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serde_json::from_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:60,1
    - Dst: map_err
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:60,1
    - Dst: io::Error::new
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:61,1
    - Dst: Vec::new
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:62,1
    - Dst: as_array
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:64,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:64,1
    - Dst: u8::is_object
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:66,1
    - Dst: as_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:69,1
    - Dst: push
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:71,1
    - Dst: as_u64
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:76,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:76,1
    - Dst: as_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:77,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:77,1
    - Dst: as_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:78,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:78,1
    - Dst: as_bool
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:79,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:79,1
    - Dst: as_array
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:80,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:80,1
    - Dst: as_array_mut
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:89,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:89,1
    - Dst: get_handler
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:90,1
    - Dst: handler
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:91,1
    - Dst: append
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:92,1
    - Dst: push
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:93,1
    - Dst: serde_json::to_string_pretty
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:96,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:96,1
    - Dst: Ok
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:97,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 75
    argCount: 1
    argNames:
    - input_json
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 98
      start: 58
    functionDepth: 13
    functionLinenumber: 58
    functionLinenumberEnd: 98
    functionName: handle_input_json
    functionSourceFile: /src/spdm-rs/test/cavp_acvts_test/src/main.rs
    functionUses: 0
    functionsReached:
    - u8::is_object
    - as_array_mut
    - append
    - as_str
    - map_err
    - unwrap
    - get_handler
    - serde_json::from_str
    - handler
    - as_bool
    - push
    - Vec::new
    - io::Error::new
    - as_array
    - as_u64
    - Ok
    - serde_json::to_string_pretty
    linkageType: ''
    returnType: io::Result
    signature: 'fn handle_input_json(input_json: String) -> io::Result<String>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:110,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:110,1
    - Dst: insert
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - key
    - handler
    argTypes:
    - (String, String)
    - AlgorithmHandler
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 6
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: register_handlers
    functionSourceFile: /src/spdm-rs/test/cavp_acvts_test/src/main.rs
    functionUses: 1
    functionsReached:
    - insert
    - unwrap
    - lock
    linkageType: ''
    returnType: void
    signature: 'fn register_handlers(key: (String, String), handler: AlgorithmHandler)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:115,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:115,1
    - Dst: get
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:116,1
    - Dst: to_string
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:117,1
    - Dst: '&str::to_string'
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:117,1
    - Dst: cloned
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:116,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - algorithm
    - revision
    argTypes:
    - '&str'
    - '&str'
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 6
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: get_handler
    functionSourceFile: /src/spdm-rs/test/cavp_acvts_test/src/main.rs
    functionUses: 1
    functionsReached:
    - unwrap
    - '&str::to_string'
    - get
    - to_string
    - cloned
    - lock
    linkageType: ''
    returnType: AlgorithmHandler
    signature: 'fn get_handler(algorithm: &str, revision: &str) -> AlgorithmHandler'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: algorithm_sha2
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - test_groups
    argTypes:
    - '&Vec<Value>'
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 14
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: handle_algorithm_sha2_256
    functionSourceFile: /src/spdm-rs/test/cavp_acvts_test/src/main.rs
    functionUses: 0
    functionsReached:
    - algorithm_sha2
    linkageType: ''
    returnType: Vec
    signature: 'fn handle_algorithm_sha2_256(test_groups: &Vec<Value>) -> Vec<Value>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: algorithm_sha2
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - test_groups
    argTypes:
    - '&Vec<Value>'
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 14
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: handle_algorithm_sha2_384
    functionSourceFile: /src/spdm-rs/test/cavp_acvts_test/src/main.rs
    functionUses: 0
    functionsReached:
    - algorithm_sha2
    linkageType: ''
    returnType: Vec
    signature: 'fn handle_algorithm_sha2_384(test_groups: &Vec<Value>) -> Vec<Value>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:140,1
    - Dst: is_object
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:142,1
    - Dst: as_u64
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:145,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:145,1
    - Dst: as_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:146,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:146,1
    - Dst: as_array
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:148,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:148,1
    - Dst: Vec::new
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:149,1
    - Dst: DateTime::is_object
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:154,1
    - Dst: as_u64
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:157,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:157,1
    - Dst: as_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:158,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:158,1
    - Dst: from_hex
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:159,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:159,1
    - Dst: as_u64
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:160,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:160,1
    - Dst: hash::hash_all
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:162,1
    - Dst: SpdmResult::as_slice
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:162,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:162,1
    - Dst: Self::push
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:164,1
    - Dst: as_u64
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:172,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:172,1
    - Dst: as_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:173,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:173,1
    - Dst: from_hex
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:174,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:174,1
    - Dst: as_u64
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:175,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:175,1
    - Dst: SpdmResult::clone
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:183,1
    - Dst: as_array_mut
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:185,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:185,1
    - Dst: clone
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:189,1
    - Dst: clone
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:190,1
    - Dst: clone
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:191,1
    - Dst: Vec::new
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:193,1
    - Dst: extend
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:194,1
    - Dst: clone
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:194,1
    - Dst: extend
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:195,1
    - Dst: clone
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:195,1
    - Dst: extend
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:196,1
    - Dst: clone
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:196,1
    - Dst: hash::hash_all
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:198,1
    - Dst: as_slice
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:198,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:198,1
    - Dst: Option::as_ref
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:199,1
    - Dst: '&[u8]::to_vec'
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:199,1
    - Dst: clone
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:201,1
    - Dst: push
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:202,1
    - Dst: Self::push
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:206,1
    - Dst: as_u64
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:211,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:211,1
    - Dst: as_u64
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:213,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:213,1
    - Dst: as_u64
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:214,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:214,1
    - Dst: as_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:215,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:215,1
    - Dst: as_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:217,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:217,1
    - Dst: from_hex
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:223,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:223,1
    - Dst: hash::hash_ctx_init
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:227,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:227,1
    - Dst: hash::hash_ctx_update
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:229,1
    - Dst: SpdmResult::as_slice
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:229,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:229,1
    - Dst: hash::hash_ctx_finalize
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:231,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:231,1
    - Dst: Self::push
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:233,1
    - Dst: Self::push
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:244,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 223
    argCount: 2
    argNames:
    - test_groups
    - algo_str
    argTypes:
    - '&Vec<Value>'
    - '&str'
    constantsTouched: []
    func_position:
      end: 250
      start: 130
    functionDepth: 13
    functionLinenumber: 130
    functionLinenumberEnd: 250
    functionName: algorithm_sha2
    functionSourceFile: /src/spdm-rs/test/cavp_acvts_test/src/main.rs
    functionUses: 2
    functionsReached:
    - SpdmResult::unwrap
    - as_str
    - unwrap
    - Option::unwrap
    - Self::push
    - push
    - Option::as_ref
    - as_array
    - SpdmResult::as_slice
    - clone
    - hash::hash_ctx_init
    - Vec::new
    - as_u64
    - '&[u8]::to_vec'
    - SpdmResult::clone
    - hash::hash_all
    - hash::hash_ctx_finalize
    - extend
    - from_hex
    - as_array_mut
    - Result::unwrap
    - hash::hash_ctx_update
    - is_object
    - DateTime::is_object
    - as_slice
    linkageType: ''
    returnType: Vec
    signature: 'fn algorithm_sha2(test_groups: &Vec<Value>, algo_str: &str) -> Vec<Value>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: algorithm_hmac_sha2
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - test_groups
    argTypes:
    - '&Vec<Value>'
    constantsTouched: []
    func_position:
      end: 254
      start: 252
    functionDepth: 14
    functionLinenumber: 252
    functionLinenumberEnd: 254
    functionName: handle_algorithm_hmac_sha2_256
    functionSourceFile: /src/spdm-rs/test/cavp_acvts_test/src/main.rs
    functionUses: 0
    functionsReached:
    - algorithm_hmac_sha2
    linkageType: ''
    returnType: Vec
    signature: 'fn handle_algorithm_hmac_sha2_256(test_groups: &Vec<Value>) -> Vec<Value>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: algorithm_hmac_sha2
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - test_groups
    argTypes:
    - '&Vec<Value>'
    constantsTouched: []
    func_position:
      end: 258
      start: 256
    functionDepth: 14
    functionLinenumber: 256
    functionLinenumberEnd: 258
    functionName: handle_algorithm_hmac_sha2_384
    functionSourceFile: /src/spdm-rs/test/cavp_acvts_test/src/main.rs
    functionUses: 0
    functionsReached:
    - algorithm_hmac_sha2
    linkageType: ''
    returnType: Vec
    signature: 'fn handle_algorithm_hmac_sha2_384(test_groups: &Vec<Value>) -> Vec<Value>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:270,1
    - Dst: is_object
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:272,1
    - Dst: as_u64
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:275,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:275,1
    - Dst: as_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:276,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:276,1
    - Dst: as_u64
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:278,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:278,1
    - Dst: as_u64
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:279,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:279,1
    - Dst: as_u64
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:280,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:280,1
    - Dst: as_array
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:281,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:281,1
    - Dst: Vec::new
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:282,1
    - Dst: DateTime::is_object
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:284,1
    - Dst: as_u64
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:287,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:287,1
    - Dst: as_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:288,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:288,1
    - Dst: as_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:289,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:289,1
    - Dst: from_hex
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:290,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:290,1
    - Dst: from_hex
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:291,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:291,1
    - Dst: hmac::hmac
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:292,1
    - Dst: bool::as_slice
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:292,1
    - Dst: as_slice
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:292,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:292,1
    - Dst: Features::as_ref
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:293,1
    - Dst: Self::push
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:295,1
    - Dst: Self::push
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:300,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 95
    argCount: 2
    argNames:
    - test_groups
    - algo_str
    argTypes:
    - '&Vec<Value>'
    - '&str'
    constantsTouched: []
    func_position:
      end: 306
      start: 260
    functionDepth: 13
    functionLinenumber: 260
    functionLinenumberEnd: 306
    functionName: algorithm_hmac_sha2
    functionSourceFile: /src/spdm-rs/test/cavp_acvts_test/src/main.rs
    functionUses: 2
    functionsReached:
    - hmac::hmac
    - as_str
    - unwrap
    - bool::as_slice
    - Option::unwrap
    - Features::as_ref
    - Self::push
    - Result::unwrap
    - is_object
    - Vec::new
    - DateTime::is_object
    - from_hex
    - as_array
    - as_u64
    - as_slice
    linkageType: ''
    returnType: Vec
    signature: 'fn algorithm_hmac_sha2(test_groups: &Vec<Value>, algo_str: &str) ->
      Vec<Value>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fips::assert_fips_status_indicator
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/tests/fips.rs:4,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/tests/fips.rs:4,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 175
    functionDepth: 5
    functionLinenumber: 175
    functionLinenumberEnd: 186
    functionName: ecdsa_verify
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/tests/fips.rs
    functionUses: 3
    functionsReached:
    - unwrap
    - fips::assert_fips_status_indicator
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:379,1
    - Dst: is_object
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:381,1
    - Dst: as_u64
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:384,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:384,1
    - Dst: as_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:385,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:385,1
    - Dst: as_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:387,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:387,1
    - Dst: as_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:388,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:388,1
    - Dst: as_array
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:389,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:389,1
    - Dst: Vec::new
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:390,1
    - Dst: DateTime::is_object
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:392,1
    - Dst: as_u64
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:395,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:395,1
    - Dst: as_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:396,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:396,1
    - Dst: as_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:397,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:397,1
    - Dst: as_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:398,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:398,1
    - Dst: as_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:399,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:399,1
    - Dst: as_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:400,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:400,1
    - Dst: ecdsa_verify
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:402,1
    - Dst: Self::push
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:404,1
    - Dst: Self::push
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:406,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 83
    argCount: 1
    argNames:
    - test_groups
    argTypes:
    - '&Vec<Value>'
    constantsTouched: []
    func_position:
      end: 412
      start: 378
    functionDepth: 13
    functionLinenumber: 378
    functionLinenumberEnd: 412
    functionName: handle_algorithm_ecdsa
    functionSourceFile: /src/spdm-rs/test/cavp_acvts_test/src/main.rs
    functionUses: 0
    functionsReached:
    - as_str
    - unwrap
    - Self::push
    - ecdsa_verify
    - is_object
    - Vec::new
    - DateTime::is_object
    - as_array
    - as_u64
    linkageType: ''
    returnType: Vec
    signature: 'fn handle_algorithm_ecdsa(test_groups: &Vec<Value>) -> Vec<Value>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:419,1
    - Dst: is_object
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:421,1
    - Dst: as_u64
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:424,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:424,1
    - Dst: as_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:425,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:425,1
    - Dst: as_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:426,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:426,1
    - Dst: as_u64
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:427,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:427,1
    - Dst: as_u64
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:428,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:428,1
    - Dst: as_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:429,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:429,1
    - Dst: as_u64
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:430,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:430,1
    - Dst: as_u64
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:431,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:431,1
    - Dst: as_u64
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:432,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:432,1
    - Dst: as_array
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:439,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:439,1
    - Dst: Value::Array
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:440,1
    - Dst: Vec::new
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:440,1
    - Dst: as_u64
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:442,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:442,1
    - Dst: from_hex
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:445,1
    - Dst: as_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:445,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:445,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:445,1
    - Dst: from_hex
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:446,1
    - Dst: as_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:446,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:446,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:446,1
    - Dst: from_hex
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:447,1
    - Dst: as_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:447,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:447,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:447,1
    - Dst: rand::get_random
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:452,1
    - Dst: Result::as_mut_slice
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:452,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:452,1
    - Dst: SpdmAeadKeyStruct::from
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:454,1
    - Dst: bool::as_slice
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:454,1
    - Dst: SpdmAeadIvStruct::from
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:455,1
    - Dst: Result::as_slice
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:455,1
    - Dst: aead::encrypt
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:456,1
    - Dst: as_slice
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:460,1
    - Dst: SpdmResult::as_slice
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:461,1
    - Dst: Tag::as_mut_slice
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:462,1
    - Dst: as_mut_slice
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:463,1
    - Dst: as_array_mut
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:467,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:467,1
    - Dst: push
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:467,1
    - Dst: from_hex
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:478,1
    - Dst: as_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:478,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:478,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:478,1
    - Dst: from_hex
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:479,1
    - Dst: as_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:479,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:479,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:479,1
    - Dst: from_hex
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:480,1
    - Dst: as_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:480,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:480,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:480,1
    - Dst: from_hex
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:481,1
    - Dst: as_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:481,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:481,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:481,1
    - Dst: from_hex
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:482,1
    - Dst: as_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:482,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:482,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:482,1
    - Dst: SpdmAeadKeyStruct::from
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:484,1
    - Dst: bool::as_slice
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:484,1
    - Dst: SpdmAeadIvStruct::from
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:485,1
    - Dst: Result::as_slice
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:485,1
    - Dst: aead::decrypt
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:489,1
    - Dst: as_slice
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:493,1
    - Dst: as_slice
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:494,1
    - Dst: Tag::as_slice
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:495,1
    - Dst: SpdmResult::as_mut_slice
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:496,1
    - Dst: Option::is_ok
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:499,1
    - Dst: as_array_mut
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:502,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:502,1
    - Dst: push
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:502,1
    - Dst: as_array_mut
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:511,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:511,1
    - Dst: push
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:511,1
    - Dst: Self::push
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:523,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 208
    argCount: 1
    argNames:
    - test_groups
    argTypes:
    - '&Vec<Value>'
    constantsTouched: []
    func_position:
      end: 529
      start: 414
    functionDepth: 13
    functionLinenumber: 414
    functionLinenumberEnd: 529
    functionName: handle_algorithm_aead
    functionSourceFile: /src/spdm-rs/test/cavp_acvts_test/src/main.rs
    functionUses: 0
    functionsReached:
    - SpdmResult::unwrap
    - SpdmAeadKeyStruct::from
    - Tag::as_mut_slice
    - as_str
    - unwrap
    - Self::push
    - push
    - as_array
    - Result::as_mut_slice
    - as_mut_slice
    - SpdmResult::as_slice
    - rand::get_random
    - bool::as_slice
    - Vec::new
    - as_u64
    - Tag::as_slice
    - SpdmAeadIvStruct::from
    - Option::is_ok
    - SpdmResult::as_mut_slice
    - aead::encrypt
    - aead::decrypt
    - from_hex
    - Value::Array
    - as_array_mut
    - Result::as_slice
    - Result::unwrap
    - is_object
    - as_slice
    linkageType: ''
    returnType: Vec
    signature: 'fn handle_algorithm_aead(test_groups: &Vec<Value>) -> Vec<Value>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:538,1
    - Dst: as_u64
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:540,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:540,1
    - Dst: as_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:541,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:541,1
    - Dst: as_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:543,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:543,1
    - Dst: as_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:544,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:544,1
    - Dst: Value::Array
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:562,1
    - Dst: Vec::new
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:562,1
    - Dst: as_array
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:563,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:563,1
    - Dst: from_hex
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:576,1
    - Dst: as_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:576,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:576,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:576,1
    - Dst: from_hex
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:578,1
    - Dst: as_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:578,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:578,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:578,1
    - Dst: from_hex
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:580,1
    - Dst: as_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:580,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:580,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:580,1
    - Dst: from_hex
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:582,1
    - Dst: as_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:582,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:582,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:582,1
    - Dst: from_hex
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:584,1
    - Dst: as_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:584,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:584,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:584,1
    - Dst: EphemeralPrivateKey::from_private_key_bytes
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:586,1
    - Dst: Result::as_slice
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:588,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:586,1
    - Dst: Result::compute_public_key
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:593,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:593,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:593,1
    - Dst: to_vec
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:593,1
    - Dst: len
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:594,1
    - Dst: Result::as_slice
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:596,1
    - Dst: as_slice
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:597,1
    - Dst: Result::as_slice
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:601,1
    - Dst: as_slice
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:602,1
    - Dst: Vec::new
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:616,1
    - Dst: push
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:617,1
    - Dst: extend_from_slice
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:618,1
    - Dst: extend_from_slice
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:619,1
    - Dst: ring::agreement::UnparsedPublicKey::new
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:621,1
    - Dst: ring::agreement::agree_ephemeral
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:624,1
    - Dst: hash::hash_all
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:625,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:625,1
    - Dst: to_hex
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:626,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:626,1
    - Dst: as_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:627,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:627,1
    - Dst: String::as_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:628,1
    - Dst: is_ok
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:624,1
    - Dst: as_array_mut
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:637,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:637,1
    - Dst: push
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:637,1
    - Dst: Value::Array
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:645,1
    - Dst: Vec::new
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:645,1
    - Dst: as_array
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:646,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:646,1
    - Dst: as_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:649,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:649,1
    - Dst: as_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:651,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:651,1
    - Dst: from_hex
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:653,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:653,1
    - Dst: from_hex
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:654,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:654,1
    - Dst: Result::len
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:657,1
    - Dst: Result::len
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:657,1
    - Dst: SpdmDheExchangeStruct::default
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:658,1
    - Dst: Result::len
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:660,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:660,1
    - Dst: Result::as_slice
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:660,1
    - Dst: Result::len
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:661,1
    - Dst: Result::len
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:661,1
    - Dst: Result::len
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:661,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:661,1
    - Dst: Result::as_slice
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:662,1
    - Dst: dhe::generate_key_pair
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:663,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:663,1
    - Dst: Result::compute_final_key
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:664,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:664,1
    - Dst: as_ref
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:665,1
    - Dst: len
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:665,1
    - Dst: as_ref
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:666,1
    - Dst: as_ref
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:667,1
    - Dst: hash::hash_all
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:669,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:669,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:669,1
    - Dst: as_array_mut
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:670,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:670,1
    - Dst: push
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:670,1
    - Dst: Self::push
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:683,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 271
    argCount: 1
    argNames:
    - test_groups
    argTypes:
    - '&Vec<Value>'
    constantsTouched: []
    func_position:
      end: 689
      start: 531
    functionDepth: 13
    functionLinenumber: 531
    functionLinenumberEnd: 689
    functionName: handle_algorithm_ecdhe
    functionSourceFile: /src/spdm-rs/test/cavp_acvts_test/src/main.rs
    functionUses: 0
    functionsReached:
    - ring::agreement::UnparsedPublicKey::new
    - EphemeralPrivateKey::from_private_key_bytes
    - as_str
    - unwrap
    - Result::len
    - to_vec
    - Option::unwrap
    - Self::push
    - push
    - Result::compute_public_key
    - as_array
    - is_ok
    - extend_from_slice
    - Result::as_ref
    - String::as_str
    - Vec::new
    - as_u64
    - hash::hash_all
    - ring::agreement::agree_ephemeral
    - to_hex
    - len
    - from_hex
    - SpdmDheExchangeStruct::default
    - Value::Array
    - dhe::generate_key_pair
    - as_array_mut
    - Result::as_slice
    - Result::unwrap
    - Result::compute_final_key
    - copy_from_slice
    - as_ref
    - as_slice
    linkageType: ''
    returnType: Vec
    signature: 'fn handle_algorithm_ecdhe(test_groups: &Vec<Value>) -> Vec<Value>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:694,1
    - Dst: as_u64
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:696,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:696,1
    - Dst: as_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:697,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:697,1
    - Dst: as_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:698,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:698,1
    - Dst: as_u64
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:699,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:699,1
    - Dst: as_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:700,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:700,1
    - Dst: as_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:701,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:701,1
    - Dst: as_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:702,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:702,1
    - Dst: from_hex
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:707,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:707,1
    - Dst: from_hex
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:708,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:708,1
    - Dst: as_array
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:717,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:717,1
    - Dst: Value::Array
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:718,1
    - Dst: Vec::new
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:718,1
    - Dst: as_u64
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:720,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:720,1
    - Dst: from_hex
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:721,1
    - Dst: as_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:721,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:721,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:721,1
    - Dst: from_hex
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:722,1
    - Dst: as_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:722,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:722,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:722,1
    - Dst: '&[u8]::verify'
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:724,1
    - Dst: bool::as_slice
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:724,1
    - Dst: Result::as_slice
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:724,1
    - Dst: as_array_mut
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:726,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:726,1
    - Dst: push
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:726,1
    - Dst: Self::push
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:732,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 96
    argCount: 1
    argNames:
    - test_groups
    argTypes:
    - '&Vec<Value>'
    constantsTouched: []
    func_position:
      end: 738
      start: 691
    functionDepth: 13
    functionLinenumber: 691
    functionLinenumberEnd: 738
    functionName: handle_algorithm_rsa
    functionSourceFile: /src/spdm-rs/test/cavp_acvts_test/src/main.rs
    functionUses: 0
    functionsReached:
    - as_array_mut
    - Result::as_slice
    - as_str
    - unwrap
    - bool::as_slice
    - Self::push
    - Result::unwrap
    - '&[u8]::verify'
    - from_hex
    - Vec::new
    - push
    - as_array
    - as_u64
    - Value::Array
    linkageType: ''
    returnType: Vec
    signature: 'fn handle_algorithm_rsa(test_groups: &Vec<Value>) -> Vec<Value>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&str::len'
      Src: /src/spdm-rs/external/ring/src/testutil.rs:366,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/testutil.rs:367,1
    - Dst: String::from
      Src: /src/spdm-rs/external/ring/src/testutil.rs:367,1
    - Dst: Vec::with_capacity
      Src: /src/spdm-rs/external/ring/src/testutil.rs:372,1
    - Dst: '&str::len'
      Src: /src/spdm-rs/external/ring/src/testutil.rs:372,1
    - Dst: '&str::as_bytes'
      Src: /src/spdm-rs/external/ring/src/testutil.rs:373,1
    - Dst: chunks
      Src: /src/spdm-rs/external/ring/src/testutil.rs:373,1
    - Dst: from_hex_digit
      Src: /src/spdm-rs/external/ring/src/testutil.rs:374,1
    - Dst: from_hex_digit
      Src: /src/spdm-rs/external/ring/src/testutil.rs:375,1
    - Dst: push
      Src: /src/spdm-rs/external/ring/src/testutil.rs:376,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/testutil.rs:378,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 1
    argNames:
    - hex_str
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 379
      start: 365
    functionDepth: 4
    functionLinenumber: 365
    functionLinenumberEnd: 379
    functionName: from_hex
    functionSourceFile: /src/spdm-rs/external/ring/src/testutil.rs
    functionUses: 67
    functionsReached:
    - '&str::len'
    - from_hex_digit
    - Vec::with_capacity
    - '&str::as_bytes'
    - Err
    - chunks
    - push
    - String::from
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_hex(hex_str: &str) -> Result<Vec<u8>, String>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&RangeInclusive::contains'
      Src: /src/spdm-rs/external/ring/src/testutil.rs:387,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/testutil.rs:388,1
    - Dst: '&RangeInclusive::start'
      Src: /src/spdm-rs/external/ring/src/testutil.rs:388,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/testutil.rs:391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - d
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 392
      start: 381
    functionDepth: 4
    functionLinenumber: 381
    functionLinenumberEnd: 392
    functionName: from_hex_digit
    functionSourceFile: /src/spdm-rs/external/ring/src/testutil.rs
    functionUses: 7
    functionsReached:
    - '&RangeInclusive::start'
    - '&RangeInclusive::contains'
    - Err
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn from_hex_digit(d: u8) -> Result<u8, String>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String::with_capacity
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:770,1
    - Dst: len
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:770,1
    - Dst: BytesMutStrubbed::push_str
      Src: /src/spdm-rs/test/cavp_acvts_test/src/main.rs:772,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 775
      start: 769
    functionDepth: 2
    functionLinenumber: 769
    functionLinenumberEnd: 775
    functionName: to_hex
    functionSourceFile: /src/spdm-rs/test/cavp_acvts_test/src/main.rs
    functionUses: 1
    functionsReached:
    - String::with_capacity
    - BytesMutStrubbed::push_str
    - len
    linkageType: ''
    returnType: String
    signature: 'fn to_hex(data: &[u8]) -> String'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/spdm-rs/executor/src/lib.rs:29,1
    - Dst: block_on
      Src: /src/spdm-rs/executor/src/lib.rs:29,1
    - Dst: Box::pin
      Src: /src/spdm-rs/executor/src/lib.rs:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - future
    argTypes:
    - impl Future<Output = T> + 'static + Send
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 6
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: block_on
    functionSourceFile: /src/spdm-rs/executor/src/lib.rs
    functionUses: 66
    functionsReached:
    - Box::pin
    - lock
    - block_on
    linkageType: ''
    returnType: T
    signature: 'pub fn block_on<T>(future: impl Future<Output = T> + ''static + Send)
      -> TwhereT: Send + ''static,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_size
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:51,1
    - Dst: get_u8
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:53,1
    - Dst: SpdmMeasurementRecordStructure::default
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:56,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:58,1
    - Dst: get_u8
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:60,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:72,1
    - Dst: '&str::as_bytes'
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:72,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:73,1
    - Dst: '&str::as_bytes'
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:73,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:74,1
    - Dst: '&str::as_bytes'
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:74,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:75,1
    - Dst: '&str::as_bytes'
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:75,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:76,1
    - Dst: '&str::as_bytes'
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:76,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:77,1
    - Dst: '&str::as_bytes'
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:77,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:78,1
    - Dst: '&str::as_bytes'
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:78,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:79,1
    - Dst: '&str::as_bytes'
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:79,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:80,1
    - Dst: '&str::as_bytes'
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:80,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:81,1
    - Dst: '&str::as_bytes'
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:81,1
    - Dst: hash::hash_all
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:82,1
    - Dst: Option::expect
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:82,1
    - Dst: hash::hash_all
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:83,1
    - Dst: Option::expect
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:83,1
    - Dst: hash::hash_all
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:84,1
    - Dst: Option::expect
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:84,1
    - Dst: hash::hash_all
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:85,1
    - Dst: Option::expect
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:85,1
    - Dst: hash::hash_all
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:86,1
    - Dst: Option::expect
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:86,1
    - Dst: hash::hash_all
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:87,1
    - Dst: Option::expect
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:87,1
    - Dst: hash::hash_all
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:88,1
    - Dst: Option::expect
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:88,1
    - Dst: hash::hash_all
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:89,1
    - Dst: Option::expect
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:89,1
    - Dst: hash::hash_all
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:90,1
    - Dst: Option::expect
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:90,1
    - Dst: hash::hash_all
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:91,1
    - Dst: Option::expect
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:91,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:112,1
    - Dst: as_ref
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:112,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:113,1
    - Dst: as_ref
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:113,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:114,1
    - Dst: as_ref
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:114,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:115,1
    - Dst: as_ref
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:115,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:116,1
    - Dst: as_ref
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:116,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:117,1
    - Dst: as_ref
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:117,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:118,1
    - Dst: as_ref
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:118,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:119,1
    - Dst: as_ref
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:119,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:120,1
    - Dst: as_ref
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:120,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:121,1
    - Dst: as_ref
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:121,1
    - Dst: Writer::init
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:136,1
    - Dst: encode
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:138,1
    - Dst: Result::ok
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:138,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:142,1
    - Dst: u24::new
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:144,1
    - Dst: Writer::used
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:144,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:151,1
    - Dst: '&str::as_bytes'
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:151,1
    - Dst: hash::hash_all
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:153,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:157,1
    - Dst: as_ref
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:159,1
    - Dst: Writer::init
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:174,1
    - Dst: encode
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:175,1
    - Dst: Result::ok
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:175,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:177,1
    - Dst: u24::new
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:179,1
    - Dst: Writer::used
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:179,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 287
    argCount: 4
    argNames:
    - spdm_version
    - measurement_specification
    - measurement_hash_algo
    - measurement_index
    argTypes:
    - SpdmVersion
    - SpdmMeasurementSpecification
    - SpdmMeasurementHashAlgo
    - usize
    constantsTouched: []
    func_position:
      end: 184
      start: 31
    functionDepth: 8
    functionLinenumber: 31
    functionLinenumberEnd: 184
    functionName: measurement_collection_impl
    functionSourceFile: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs
    functionUses: 0
    functionsReached:
    - Result::ok
    - Some
    - get_u8
    - get_size
    - hash::hash_all
    - '&str::as_bytes'
    - encode
    - Writer::used
    - Writer::init
    - copy_from_slice
    - as_ref
    - u24::new
    - Option::expect
    - SpdmMeasurementRecordStructure::default
    linkageType: ''
    returnType: Option
    signature: 'fn measurement_collection_impl(spdm_version: SpdmVersion,measurement_specification:
      SpdmMeasurementSpecification,measurement_hash_algo: SpdmMeasurementHashAlgo,measurement_index:
      usize,) -> Option<SpdmMeasurementRecordStructure>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_from_slice
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:196,1
    - Dst: '&str::as_bytes'
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:196,1
    - Dst: hash::hash_all
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:197,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:198,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:202,1
    - Dst: '&str::as_bytes'
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:202,1
    - Dst: hash::hash_all
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:203,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 5
    argNames:
    - spdm_version
    - base_hash_algo
    - measurement_specification
    - measurement_hash_algo
    - measurement_summary_hash_type
    argTypes:
    - SpdmVersion
    - SpdmBaseHashAlgo
    - SpdmMeasurementSpecification
    - SpdmMeasurementHashAlgo
    - SpdmMeasurementSummaryHashType
    constantsTouched: []
    func_position:
      end: 209
      start: 186
    functionDepth: 10
    functionLinenumber: 186
    functionLinenumberEnd: 209
    functionName: generate_measurement_summary_hash_impl
    functionSourceFile: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs
    functionUses: 0
    functionsReached:
    - hash::hash_all
    - '&str::as_bytes'
    - Some
    - copy_from_slice
    linkageType: ''
    returnType: Option
    signature: 'fn generate_measurement_summary_hash_impl(spdm_version: SpdmVersion,base_hash_algo:
      SpdmBaseHashAlgo,measurement_specification: SpdmMeasurementSpecification,measurement_hash_algo:
      SpdmMeasurementHashAlgo,measurement_summary_hash_type: SpdmMeasurementSummaryHashType,)
      -> Option<SpdmDigestStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&str::len'
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:223,1
    - Dst: Box::new
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:224,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:226,1
    - Dst: crypto::hkdf::hkdf_extract
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:228,1
    - Dst: get_size
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:230,1
    - Dst: SpdmHkdfInputKeyingMaterial::SpdmSharedSecretFinalKey
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:231,1
    - Dst: crypto::hkdf::hkdf_expand
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:233,1
    - Dst: get_size
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 4
    argNames:
    - spdm_version
    - base_hash_algo
    - psk_hint
    - info
    argTypes:
    - SpdmVersion
    - SpdmBaseHashAlgo
    - '&SpdmPskHintStruct'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 234
      start: 216
    functionDepth: 10
    functionLinenumber: 216
    functionLinenumberEnd: 234
    functionName: handshake_secret_hkdf_expand_impl
    functionSourceFile: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs
    functionUses: 0
    functionsReached:
    - '&str::len'
    - SpdmHkdfInputKeyingMaterial::SpdmSharedSecretFinalKey
    - Box::new
    - copy_from_slice
    - crypto::hkdf::hkdf_expand
    - get_size
    - crypto::hkdf::hkdf_extract
    linkageType: ''
    returnType: Option
    signature: 'fn handshake_secret_hkdf_expand_impl(spdm_version: SpdmVersion,base_hash_algo:
      SpdmBaseHashAlgo,psk_hint: &SpdmPskHintStruct,info: &[u8],) -> Option<SpdmHkdfOutputKeyingMaterial>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&str::len'
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:243,1
    - Dst: Box::new
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:244,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:246,1
    - Dst: SpdmKeySchedule::binconcat
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:249,1
    - Dst: get_size
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:251,1
    - Dst: crypto::hkdf::hkdf_extract
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:258,1
    - Dst: get_size
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:260,1
    - Dst: SpdmHkdfInputKeyingMaterial::SpdmSharedSecretFinalKey
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:261,1
    - Dst: crypto::hkdf::hkdf_expand
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:264,1
    - Dst: get_size
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:264,1
    - Dst: crypto::hkdf::hkdf_extract
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:266,1
    - Dst: as_ref
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:268,1
    - Dst: SpdmHkdfInputKeyingMaterial::SpdmZeroFilled
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:269,1
    - Dst: get_size
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:270,1
    - Dst: Box::new
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:271,1
    - Dst: crypto::hkdf::hkdf_expand
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:274,1
    - Dst: get_size
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs:274,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 54
    argCount: 4
    argNames:
    - spdm_version
    - base_hash_algo
    - psk_hint
    - info
    argTypes:
    - SpdmVersion
    - SpdmBaseHashAlgo
    - '&SpdmPskHintStruct'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 275
      start: 236
    functionDepth: 10
    functionLinenumber: 236
    functionLinenumberEnd: 275
    functionName: master_secret_hkdf_expand_impl
    functionSourceFile: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs
    functionUses: 0
    functionsReached:
    - '&str::len'
    - SpdmHkdfInputKeyingMaterial::SpdmSharedSecretFinalKey
    - Box::new
    - crypto::hkdf::hkdf_extract
    - copy_from_slice
    - crypto::hkdf::hkdf_expand
    - get_size
    - as_ref
    - SpdmKeySchedule::binconcat
    - SpdmHkdfInputKeyingMaterial::SpdmZeroFilled
    linkageType: ''
    returnType: Option
    signature: 'fn master_secret_hkdf_expand_impl(spdm_version: SpdmVersion,base_hash_algo:
      SpdmBaseHashAlgo,psk_hint: &SpdmPskHintStruct,info: &[u8],) -> Option<SpdmHkdfOutputKeyingMaterial>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: register
      Src: /src/spdm-rs/test/spdm-emu/src/secret_impl_sample.rs:298,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdm-emu/src/secret_impl_sample.rs:298,1
    - Dst: measurement_collection
      Src: /src/spdm-rs/test/spdm-emu/src/secret_impl_sample.rs:301,1
    - Dst: SpdmMeasurementBlockStructure::read_bytes
      Src: /src/spdm-rs/test/spdm-emu/src/secret_impl_sample.rs:317,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdm-emu/src/secret_impl_sample.rs:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 327
      start: 297
    functionDepth: 11
    functionLinenumber: 297
    functionLinenumberEnd: 327
    functionName: tests::test_case0_measurement_collection
    functionSourceFile: /src/spdm-rs/test/spdm-emu/src/secret_impl_sample.rs
    functionUses: 0
    functionsReached:
    - SpdmMeasurementBlockStructure::read_bytes
    - clone
    - Option::unwrap
    - register
    - measurement_collection
    linkageType: ''
    returnType: void
    signature: fn test_case0_measurement_collection()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/spdm-rs/test/spdm-emu/src/tcp_transport.rs:18,1
    - Dst: ok
      Src: /src/spdm-rs/test/spdm-emu/src/tcp_transport.rs:18,1
    - Dst: Ok
      Src: /src/spdm-rs/test/spdm-emu/src/tcp_transport.rs:20,1
    - Dst: Err
      Src: /src/spdm-rs/test/spdm-emu/src/tcp_transport.rs:22,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - buffer
    - _timeout
    argTypes:
    - '&mut [u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 24
      start: 17
    functionDepth: 10
    functionLinenumber: 17
    functionLinenumberEnd: 24
    functionName: TcpTransport::receive
    functionSourceFile: /src/spdm-rs/test/spdm-emu/src/tcp_transport.rs
    functionUses: 0
    functionsReached:
    - ok
    - Err
    - read
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn receive(&mut self, buffer: &mut [u8], _timeout: usize) -> Result<usize,
      usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/spdm-rs/test/spdm-emu/src/tcp_transport.rs:27,1
    - Dst: Features::is_ok
      Src: /src/spdm-rs/test/spdm-emu/src/tcp_transport.rs:28,1
    - Dst: Ok
      Src: /src/spdm-rs/test/spdm-emu/src/tcp_transport.rs:29,1
    - Dst: Err
      Src: /src/spdm-rs/test/spdm-emu/src/tcp_transport.rs:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: TcpTransport::send
    functionSourceFile: /src/spdm-rs/test/spdm-emu/src/tcp_transport.rs
    functionUses: 0
    functionsReached:
    - Err
    - Ok
    - write
    - Features::is_ok
    linkageType: ''
    returnType: SpdmResult
    signature: 'fn send(&mut self, buffer: &[u8]) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/test/spdm-emu/src/tcp_transport.rs:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: TcpTransport::flush_all
    functionSourceFile: /src/spdm-rs/test/spdm-emu/src/tcp_transport.rs
    functionUses: 0
    functionsReached:
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: fn flush_all(&mut self) -> SpdmResult
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/spdmlib/src/watchdog/mod.rs:24,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/watchdog/mod.rs:25,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib/src/watchdog/mod.rs:24,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/watchdog/mod.rs:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - session_id
    - seconds
    argTypes:
    - u32
    - u16
    constantsTouched: []
    func_position:
      end: 29
      start: 23
    functionDepth: 9
    functionLinenumber: 23
    functionLinenumberEnd: 29
    functionName: start_watchdog
    functionSourceFile: /src/spdm-rs/spdmlib/src/watchdog/mod.rs
    functionUses: 2
    functionsReached:
    - unwrap
    - ok
    - try_get_or_init
    - clone
    linkageType: ''
    returnType: void
    signature: 'pub fn start_watchdog(session_id: u32, seconds: u16)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/spdmlib/src/watchdog/mod.rs:32,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/watchdog/mod.rs:33,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib/src/watchdog/mod.rs:32,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/watchdog/mod.rs:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - session_id
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 9
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: stop_watchdog
    functionSourceFile: /src/spdm-rs/spdmlib/src/watchdog/mod.rs
    functionUses: 1
    functionsReached:
    - unwrap
    - ok
    - try_get_or_init
    - clone
    linkageType: ''
    returnType: void
    signature: 'pub fn stop_watchdog(session_id: u32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/spdmlib/src/watchdog/mod.rs:40,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/watchdog/mod.rs:41,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib/src/watchdog/mod.rs:40,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/watchdog/mod.rs:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - session_id
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 9
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: reset_watchdog
    functionSourceFile: /src/spdm-rs/spdmlib/src/watchdog/mod.rs
    functionUses: 1
    functionsReached:
    - unwrap
    - ok
    - try_get_or_init
    - clone
    linkageType: ''
    returnType: void
    signature: 'pub fn reset_watchdog(session_id: u32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spdmlib::watchdog::register
      Src: /src/spdm-rs/test/spdmlib-test/src/watchdog_impl_sample.rs:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: init_watchdog
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/watchdog_impl_sample.rs
    functionUses: 5
    functionsReached:
    - spdmlib::watchdog::register
    linkageType: ''
    returnType: void
    signature: pub fn init_watchdog()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spdmlib::crypto::aead::register
      Src: /src/spdm-rs/test/spdm-emu/src/crypto.rs:7,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdm-emu/src/crypto.rs:7,1
    - Dst: spdmlib::crypto::asym_verify::register
      Src: /src/spdm-rs/test/spdm-emu/src/crypto.rs:9,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdm-emu/src/crypto.rs:10,1
    - Dst: spdmlib::crypto::cert_operation::register
      Src: /src/spdm-rs/test/spdm-emu/src/crypto.rs:13,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdm-emu/src/crypto.rs:14,1
    - Dst: spdmlib::crypto::dhe::register
      Src: /src/spdm-rs/test/spdm-emu/src/crypto.rs:17,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdm-emu/src/crypto.rs:17,1
    - Dst: spdmlib::crypto::hash::register
      Src: /src/spdm-rs/test/spdm-emu/src/crypto.rs:19,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdm-emu/src/crypto.rs:19,1
    - Dst: spdmlib::crypto::hkdf::register
      Src: /src/spdm-rs/test/spdm-emu/src/crypto.rs:21,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdm-emu/src/crypto.rs:21,1
    - Dst: spdmlib::crypto::hmac::register
      Src: /src/spdm-rs/test/spdm-emu/src/crypto.rs:23,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdm-emu/src/crypto.rs:23,1
    - Dst: spdmlib::crypto::rand::register
      Src: /src/spdm-rs/test/spdm-emu/src/crypto.rs:25,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdm-emu/src/crypto.rs:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 6
    functionDepth: 2
    functionLinenumber: 6
    functionLinenumberEnd: 26
    functionName: crypto_mbedtls_register_handles
    functionSourceFile: /src/spdm-rs/test/spdm-emu/src/crypto.rs
    functionUses: 1
    functionsReached:
    - spdmlib::crypto::aead::register
    - spdmlib::crypto::hash::register
    - clone
    - spdmlib::crypto::cert_operation::register
    - spdmlib::crypto::asym_verify::register
    - spdmlib::crypto::hmac::register
    - spdmlib::crypto::hkdf::register
    - spdmlib::crypto::dhe::register
    - spdmlib::crypto::rand::register
    linkageType: ''
    returnType: void
    signature: pub fn crypto_mbedtls_register_handles()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - Arc<Mutex<TcpStream>>
    constantsTouched: []
    func_position:
      end: 34
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 34
    functionName: SocketIoTransport::new
    functionSourceFile: /src/spdm-rs/test/spdm-emu/src/socket_io_transport.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(stream: Arc<Mutex<TcpStream>>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmSupportedAlgorithmsBlock::lock
      Src: /src/spdm-rs/test/spdm-emu/src/socket_io_transport.rs:46,1
    - Dst: '&mut [u8]::deref_mut'
      Src: /src/spdm-rs/test/spdm-emu/src/socket_io_transport.rs:47,1
    - Dst: receive_message
      Src: /src/spdm-rs/test/spdm-emu/src/socket_io_transport.rs:50,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdm-emu/src/socket_io_transport.rs:50,1
    - Dst: len
      Src: /src/spdm-rs/test/spdm-emu/src/socket_io_transport.rs:54,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdm-emu/src/socket_io_transport.rs:57,1
    - Dst: Ok
      Src: /src/spdm-rs/test/spdm-emu/src/socket_io_transport.rs:58,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdm-emu/src/socket_io_transport.rs:61,1
    - Dst: Err
      Src: /src/spdm-rs/test/spdm-emu/src/socket_io_transport.rs:62,1
    - Dst: Err
      Src: /src/spdm-rs/test/spdm-emu/src/socket_io_transport.rs:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 37
    argCount: 2
    argNames:
    - read_buffer
    - timeout
    argTypes:
    - Arc<Mutex<&mut [u8]>>
    - usize
    constantsTouched: []
    func_position:
      end: 68
      start: 39
    functionDepth: 11
    functionLinenumber: 39
    functionLinenumberEnd: 68
    functionName: SocketIoTransport::receive
    functionSourceFile: /src/spdm-rs/test/spdm-emu/src/socket_io_transport.rs
    functionUses: 0
    functionsReached:
    - clone
    - SpdmSupportedAlgorithmsBlock::lock
    - receive_message
    - Err
    - len
    - copy_from_slice
    - Ok
    - '&mut [u8]::deref_mut'
    linkageType: ''
    returnType: Result
    signature: 'async fn receive(&mut self,read_buffer: Arc<Mutex<&mut [u8]>>,timeout:
      usize,) -> Result<usize, usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send_message
      Src: /src/spdm-rs/test/spdm-emu/src/socket_io_transport.rs:71,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdm-emu/src/socket_io_transport.rs:72,1
    - Dst: Ok
      Src: /src/spdm-rs/test/spdm-emu/src/socket_io_transport.rs:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - Arc<&[u8]>
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 7
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: SocketIoTransport::send
    functionSourceFile: /src/spdm-rs/test/spdm-emu/src/socket_io_transport.rs
    functionUses: 0
    functionsReached:
    - send_message
    - Ok
    - clone
    linkageType: ''
    returnType: SpdmResult
    signature: 'async fn send(&mut self, buffer: Arc<&[u8]>) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/test/spdm-emu/src/socket_io_transport.rs:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: SocketIoTransport::flush_all
    functionSourceFile: /src/spdm-rs/test/spdm-emu/src/socket_io_transport.rs
    functionUses: 0
    functionsReached:
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: async fn flush_all(&mut self) -> SpdmResult
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: MAX
    functionSourceFile: /src/spdm-rs/test/spdm-emu/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: 'pub const fn MAX(a: usize, b: usize) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::env::var
      Src: /src/spdm-rs/test/spdmlib-test/src/common/mod.rs:21,1
    - Dst: Option::map
      Src: /src/spdm-rs/test/spdmlib-test/src/common/mod.rs:21,1
    - Dst: FipsServiceStatus::unwrap_or
      Src: /src/spdm-rs/test/spdmlib-test/src/common/mod.rs:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 10
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: use_ecdsa
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/common/mod.rs
    functionUses: 5
    functionsReached:
    - std::env::var
    - Option::map
    - FipsServiceStatus::unwrap_or
    linkageType: ''
    returnType: bool
    signature: pub fn use_ecdsa() -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::env::var
      Src: /src/spdm-rs/test/spdmlib-test/src/common/mod.rs:30,1
    - Dst: Option::map
      Src: /src/spdm-rs/test/spdmlib-test/src/common/mod.rs:30,1
    - Dst: FipsServiceStatus::unwrap_or
      Src: /src/spdm-rs/test/spdmlib-test/src/common/mod.rs:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 10
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: req_use_ecdsa
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/common/mod.rs
    functionUses: 5
    functionsReached:
    - std::env::var
    - Option::map
    - FipsServiceStatus::unwrap_or
    linkageType: ''
    returnType: bool
    signature: pub fn req_use_ecdsa() -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::env::var
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:57,1
    - Dst: Option::map
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:57,1
    - Dst: FipsServiceStatus::unwrap_or
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 10
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: use_raw_pub_key
    functionSourceFile: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs
    functionUses: 2
    functionsReached:
    - std::env::var
    - Option::map
    - FipsServiceStatus::unwrap_or
    linkageType: ''
    returnType: bool
    signature: pub fn use_raw_pub_key() -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::env::var
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:66,1
    - Dst: Option::map
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:66,1
    - Dst: FipsServiceStatus::unwrap_or
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 10
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: use_handshake_in_the_clear
    functionSourceFile: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs
    functionUses: 3
    functionsReached:
    - std::env::var
    - Option::map
    - FipsServiceStatus::unwrap_or
    linkageType: ''
    returnType: bool
    signature: pub fn use_handshake_in_the_clear() -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::env::var
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:75,1
    - Dst: Option::map
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:75,1
    - Dst: FipsServiceStatus::unwrap_or
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 10
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: use_psk_without_context
    functionSourceFile: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs
    functionUses: 1
    functionsReached:
    - std::env::var
    - Option::map
    - FipsServiceStatus::unwrap_or
    linkageType: ''
    returnType: bool
    signature: pub fn use_psk_without_context() -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::env::var
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:84,1
    - Dst: Option::map
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:84,1
    - Dst: FipsServiceStatus::unwrap_or
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 10
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: use_pqc
    functionSourceFile: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs
    functionUses: 3
    functionsReached:
    - std::env::var
    - Option::map
    - FipsServiceStatus::unwrap_or
    linkageType: ''
    returnType: bool
    signature: pub fn use_pqc() -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::env::var
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:94,1
    - Dst: Option::map
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:94,1
    - Dst: FipsServiceStatus::unwrap_or
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 10
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: use_supported_algos_ext_cap
    functionSourceFile: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs
    functionUses: 1
    functionsReached:
    - std::env::var
    - Option::map
    - FipsServiceStatus::unwrap_or
    linkageType: ''
    returnType: bool
    signature: pub fn use_supported_algos_ext_cap() -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:109,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:110,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:111,1
    - Dst: Ok
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: SpdmSocketHeader::encode
    functionSourceFile: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs
    functionUses: 0
    functionsReached:
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32::read
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:116,1
    - Dst: u32::read
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:117,1
    - Dst: u32::read
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:118,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 9
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: SpdmSocketHeader::read
    functionSourceFile: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs
    functionUses: 3
    functionsReached:
    - u32::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<SpdmSocketHeader>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmResult::lock
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:137,1
    - Dst: SpdmResult::deref_mut
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:138,1
    - Dst: SpdmResult::read
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:140,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:140,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:145,1
    - Dst: core::mem::size_of::<SpdmSocketHeader>
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:145,1
    - Dst: SpdmSocketHeader::read
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:146,1
    - Dst: to_be
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:148,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:164,1
    - Dst: SpdmSocketHeader::read
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:165,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:167,1
    - Dst: to_be
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:168,1
    - Dst: to_be
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:169,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 69
    argCount: 3
    argNames:
    - stream
    - buffer
    - _timeout
    argTypes:
    - Arc<Mutex<TcpStream>>
    - '&mut [u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 172
      start: 130
    functionDepth: 10
    functionLinenumber: 130
    functionLinenumberEnd: 172
    functionName: receive_message
    functionSourceFile: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs
    functionUses: 24
    functionsReached:
    - SpdmResult::read
    - SpdmSocketHeader::read
    - core::mem::size_of::<SpdmSocketHeader>
    - SpdmResult::deref_mut
    - to_be
    - SpdmResult::lock
    - Reader::init
    - Option::expect
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub async fn receive_message(stream: Arc<Mutex<TcpStream>>,buffer:
      &mut [u8],_timeout: usize,) -> Option<(u32, u32, &[u8])>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:182,1
    - Dst: len
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:183,1
    - Dst: to_be
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:185,1
    - Dst: u32::to_be
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:186,1
    - Dst: to_be
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:187,1
    - Dst: Writer::used
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:190,1
    - Dst: SpdmResult::lock
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:194,1
    - Dst: SpdmResult::deref_mut
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:195,1
    - Dst: SpdmResult::write_all
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:196,1
    - Dst: Result::expect
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:196,1
    - Dst: SpdmResult::write_all
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:199,1
    - Dst: Result::expect
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:199,1
    - Dst: SpdmResult::flush
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:200,1
    - Dst: expect
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 42
    argCount: 4
    argNames:
    - stream
    - transport_type
    - command
    - payload
    argTypes:
    - Arc<Mutex<TcpStream>>
    - u32
    - u32
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 204
      start: 174
    functionDepth: 6
    functionLinenumber: 174
    functionLinenumberEnd: 204
    functionName: send_message
    functionSourceFile: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs
    functionUses: 27
    functionsReached:
    - SpdmResult::flush
    - Writer::used
    - SpdmResult::deref_mut
    - to_be
    - SpdmResult::lock
    - Writer::init
    - len
    - SpdmResult::write_all
    - u32::to_be
    - Result::expect
    - expect
    linkageType: ''
    returnType: usize
    signature: 'pub fn send_message(stream: Arc<Mutex<TcpStream>>,transport_type:
      u32,command: u32,payload: &[u8],) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:213,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:221,1
    - Dst: SpdmSocketHeader::read
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:223,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 211
    functionDepth: 10
    functionLinenumber: 211
    functionLinenumberEnd: 227
    functionName: tests::test_case0_spdm_socket_header
    functionSourceFile: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Reader::init
    - Option::unwrap
    - SpdmSocketHeader::read
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_socket_header()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sign_ecdsa_asym_algo
      Src: /src/spdm-rs/test/spdmlib-test/src/common/secret_callback.rs:298,1
    - Dst: sign_ecdsa_asym_algo
      Src: /src/spdm-rs/test/spdmlib-test/src/common/secret_callback.rs:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - spdm_context
    - base_hash_algo
    - base_asym_algo
    - data
    argTypes:
    - '&SpdmContext'
    - SpdmBaseHashAlgo
    - SpdmBaseAsymAlgo
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 307
      start: 290
    functionDepth: 6
    functionLinenumber: 290
    functionLinenumberEnd: 307
    functionName: asym_sign
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/common/secret_callback.rs
    functionUses: 4
    functionsReached:
    - sign_ecdsa_asym_algo
    linkageType: ''
    returnType: Option
    signature: 'fn asym_sign(spdm_context: &SpdmContext,base_hash_algo: SpdmBaseHashAlgo,base_asym_algo:
      SpdmBaseAsymAlgo,data: &[u8],) -> Option<SpdmSignatureStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::get_test_key_directory
      Src: /src/spdm-rs/test/spdmlib-test/src/common/secret_callback.rs:313,1
    - Dst: PathBuf::join
      Src: /src/spdm-rs/test/spdmlib-test/src/common/secret_callback.rs:314,1
    - Dst: std::fs::read
      Src: /src/spdm-rs/test/spdmlib-test/src/common/secret_callback.rs:315,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/common/secret_callback.rs:315,1
    - Dst: as_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/common/secret_callback.rs:316,1
    - Dst: ring::rand::SystemRandom::new
      Src: /src/spdm-rs/test/spdmlib-test/src/common/secret_callback.rs:318,1
    - Dst: ring::signature::EcdsaKeyPair::from_pkcs8
      Src: /src/spdm-rs/test/spdmlib-test/src/common/secret_callback.rs:320,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/common/secret_callback.rs:320,1
    - Dst: ring::rand::SystemRandom::new
      Src: /src/spdm-rs/test/spdmlib-test/src/common/secret_callback.rs:322,1
    - Dst: Option::sign
      Src: /src/spdm-rs/test/spdmlib-test/src/common/secret_callback.rs:324,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/common/secret_callback.rs:324,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/common/secret_callback.rs:325,1
    - Dst: Result::len
      Src: /src/spdm-rs/test/spdmlib-test/src/common/secret_callback.rs:328,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/common/secret_callback.rs:328,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/common/secret_callback.rs:330,1
    - Dst: Result::len
      Src: /src/spdm-rs/test/spdmlib-test/src/common/secret_callback.rs:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 2
    argNames:
    - algorithm
    - data
    argTypes:
    - '&''static ring::signature::EcdsaSigningAlgorithm'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 334
      start: 309
    functionDepth: 5
    functionLinenumber: 309
    functionLinenumberEnd: 334
    functionName: sign_ecdsa_asym_algo
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/common/secret_callback.rs
    functionUses: 1
    functionsReached:
    - ring::rand::SystemRandom::new
    - Result::as_ref
    - common::util::get_test_key_directory
    - std::fs::read
    - Result::len
    - Option::unwrap
    - ring::signature::EcdsaKeyPair::from_pkcs8
    - Result::unwrap
    - PathBuf::join
    - Option::sign
    - copy_from_slice
    - as_slice
    - Option::expect
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn sign_ecdsa_asym_algo(algorithm: &''static ring::signature::EcdsaSigningAlgorithm,data:
      &[u8],) -> Option<SpdmSignatureStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::env::var
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:172,1
    - Dst: PathBuf::from
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:174,1
    - Dst: get_test_key_directory
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:176,1
    - Dst: PathBuf::join
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:181,1
    - Dst: PathBuf::join
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:184,1
    - Dst: PathBuf::join
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:187,1
    - Dst: std::fs::read
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:194,1
    - Dst: Option::unwrap_or_else
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:194,1
    - Dst: as_slice
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:196,1
    - Dst: ring::signature::RsaKeyPair::from_der
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:199,1
    - Dst: Result::ok
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:199,1
    - Dst: Option::public
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:201,1
    - Dst: '&PublicKey::modulus_len'
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:201,1
    - Dst: ring::rand::SystemRandom::new
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:205,1
    - Dst: Option::sign
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:208,1
    - Dst: Option::ok
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:208,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:212,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 47
    argCount: 3
    argNames:
    - padding_alg
    - key_len
    - data
    argTypes:
    - '&''static dyn ring::signature::RsaEncoding'
    - usize
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 216
      start: 164
    functionDepth: 10
    functionLinenumber: 164
    functionLinenumberEnd: 216
    functionName: sign_rsa_asym_algo
    functionSourceFile: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs
    functionUses: 0
    functionsReached:
    - std::env::var
    - Result::ok
    - '&PublicKey::modulus_len'
    - ring::rand::SystemRandom::new
    - std::fs::read
    - PathBuf::from
    - Option::unwrap_or_else
    - get_test_key_directory
    - Option::public
    - PathBuf::join
    - Option::sign
    - Option::ok
    - ring::signature::RsaKeyPair::from_der
    - as_slice
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn sign_rsa_asym_algo(padding_alg: &''static dyn ring::signature::RsaEncoding,key_len:
      usize,data: &[u8],) -> Option<SpdmSignatureStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - base_hash_algo
    argTypes:
    - SpdmBaseHashAlgo
    constantsTouched: []
    func_position:
      end: 281
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 281
    functionName: mbedtls_md_type
    functionSourceFile: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: mbedtls::hash::Type
    signature: 'fn mbedtls_md_type(base_hash_algo: SpdmBaseHashAlgo) -> mbedtls::hash::Type'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mbedtls_md_type
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:285,1
    - Dst: mbedtls::hash::Md::hash
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:287,1
    - Dst: expect
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - base_hash_algo
    - data
    argTypes:
    - SpdmBaseHashAlgo
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 289
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 289
    functionName: mbedtls_digest
    functionSourceFile: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs
    functionUses: 2
    functionsReached:
    - mbedtls::hash::Md::hash
    - mbedtls_md_type
    - expect
    linkageType: ''
    returnType: ([u8; 64], usize)
    signature: 'fn mbedtls_digest(base_hash_algo: SpdmBaseHashAlgo, data: &[u8]) ->
      ([u8; 64], usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::env::var
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:297,1
    - Dst: PathBuf::from
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:298,1
    - Dst: get_test_key_directory
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:300,1
    - Dst: PathBuf::join
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:303,1
    - Dst: PathBuf::join
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:306,1
    - Dst: std::fs::read
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:311,1
    - Dst: Option::unwrap_or_else
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:311,1
    - Dst: mbedtls::pk::Pk::from_private_key
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:314,1
    - Dst: as_slice
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:314,1
    - Dst: Option::ok
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:314,1
    - Dst: mbedtls_md_type
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:316,1
    - Dst: mbedtls_digest
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:317,1
    - Dst: sign
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:323,1
    - Dst: ok
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:323,1
    - Dst: get_sig_size
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:327,1
    - Dst: ecc_signature_der_to_bin
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:329,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:331,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 50
    argCount: 3
    argNames:
    - base_hash_algo
    - base_asym_algo
    - data
    argTypes:
    - SpdmBaseHashAlgo
    - SpdmBaseAsymAlgo
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 335
      start: 292
    functionDepth: 11
    functionLinenumber: 292
    functionLinenumberEnd: 335
    functionName: sign_ecdsa_asym_algo_mbedtls
    functionSourceFile: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs
    functionUses: 0
    functionsReached:
    - std::env::var
    - mbedtls_md_type
    - mbedtls_digest
    - ok
    - std::fs::read
    - PathBuf::from
    - Option::unwrap_or_else
    - mbedtls::pk::Pk::from_private_key
    - get_test_key_directory
    - sign
    - get_sig_size
    - ecc_signature_der_to_bin
    - PathBuf::join
    - Option::ok
    - as_slice
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn sign_ecdsa_asym_algo_mbedtls(base_hash_algo: SpdmBaseHashAlgo,base_asym_algo:
      SpdmBaseAsymAlgo,data: &[u8],) -> Option<SpdmSignatureStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::env::var
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:344,1
    - Dst: PathBuf::from
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:345,1
    - Dst: get_test_key_directory
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:347,1
    - Dst: PathBuf::join
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:351,1
    - Dst: PathBuf::join
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:354,1
    - Dst: PathBuf::join
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:357,1
    - Dst: std::fs::read
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:362,1
    - Dst: Option::unwrap_or_else
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:362,1
    - Dst: mbedtls::pk::Pk::from_private_key
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:365,1
    - Dst: as_slice
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:365,1
    - Dst: Option::ok
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:365,1
    - Dst: mbedtls_md_type
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:367,1
    - Dst: set_options
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:370,1
    - Dst: mbedtls_digest
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:375,1
    - Dst: sign
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:378,1
    - Dst: ok
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:378,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:393,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 52
    argCount: 4
    argNames:
    - base_hash_algo
    - is_pss
    - key_len
    - data
    argTypes:
    - SpdmBaseHashAlgo
    - bool
    - usize
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 397
      start: 338
    functionDepth: 11
    functionLinenumber: 338
    functionLinenumberEnd: 397
    functionName: sign_rsa_asym_algo_mbedtls
    functionSourceFile: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs
    functionUses: 0
    functionsReached:
    - std::env::var
    - mbedtls_md_type
    - mbedtls_digest
    - ok
    - std::fs::read
    - PathBuf::from
    - Option::unwrap_or_else
    - mbedtls::pk::Pk::from_private_key
    - get_test_key_directory
    - sign
    - PathBuf::join
    - set_options
    - Option::ok
    - as_slice
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn sign_rsa_asym_algo_mbedtls(base_hash_algo: SpdmBaseHashAlgo,is_pss:
      bool,key_len: usize,data: &[u8],) -> Option<SpdmSignatureStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:421,1
    - Dst: len
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:426,1
    - Dst: len
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:431,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:434,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 50
    argCount: 2
    argNames:
    - buf
    - idx
    argTypes:
    - '&''a [u8]'
    - '&mut usize'
    constantsTouched: []
    func_position:
      end: 435
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 435
    functionName: e::c::c::_::s::i::g::n::a::t::u::r::e::_::d::e::r::_::t::o::_::b::i::n::read_int
    functionSourceFile: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs
    functionUses: 0
    functionsReached:
    - len
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read_int<''a>(buf: &''a [u8], idx: &mut usize) -> Option<&''a [u8]>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:406,1
    - Dst: len
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:408,1
    - Dst: len
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:414,1
    - Dst: read_int
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:437,1
    - Dst: read_int
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:438,1
    - Dst: len
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:439,1
    - Dst: SpdmResult::len
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:439,1
    - Dst: iter_mut
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:443,1
    - Dst: len
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:446,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:446,1
    - Dst: SpdmResult::len
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:447,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:447,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:448,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 117
    argCount: 2
    argNames:
    - der
    - fixed
    argTypes:
    - '&[u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 449
      start: 405
    functionDepth: 2
    functionLinenumber: 405
    functionLinenumberEnd: 449
    functionName: ecc_signature_der_to_bin
    functionSourceFile: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs
    functionUses: 1
    functionsReached:
    - iter_mut
    - read_int
    - SpdmResult::len
    - len
    - copy_from_slice
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn ecc_signature_der_to_bin(der: &[u8], fixed: &mut [u8]) -> Option<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::env::var
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:541,1
    - Dst: PathBuf::from
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:542,1
    - Dst: get_test_key_directory
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:544,1
    - Dst: PathBuf::join
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:546,1
    - Dst: PathBuf::join
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:548,1
    - Dst: std::fs::read
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:553,1
    - Dst: Option::unwrap_or_else
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:553,1
    - Dst: signature::EcdsaKeyPair::from_pkcs8
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:555,1
    - Dst: as_slice
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:555,1
    - Dst: Result::ok
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:555,1
    - Dst: aws_lc_rs::rand::SystemRandom::new
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:556,1
    - Dst: Option::sign
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:557,1
    - Dst: Option::ok
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:557,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:558,1
    - Dst: Result::len
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:561,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:561,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:562,1
    - Dst: Result::len
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:563,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 48
    argCount: 2
    argNames:
    - algorithm
    - data
    argTypes:
    - '&''static aws_lc_rs::signature::EcdsaSigningAlgorithm'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 566
      start: 536
    functionDepth: 10
    functionLinenumber: 536
    functionLinenumberEnd: 566
    functionName: sign_ecdsa_asym_algo_aws_lc
    functionSourceFile: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs
    functionUses: 0
    functionsReached:
    - std::env::var
    - Result::ok
    - Result::as_ref
    - std::fs::read
    - PathBuf::from
    - Option::unwrap_or_else
    - Result::len
    - get_test_key_directory
    - PathBuf::join
    - Option::sign
    - copy_from_slice
    - Option::ok
    - signature::EcdsaKeyPair::from_pkcs8
    - as_slice
    - aws_lc_rs::rand::SystemRandom::new
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn sign_ecdsa_asym_algo_aws_lc(algorithm: &''static aws_lc_rs::signature::EcdsaSigningAlgorithm,data:
      &[u8],) -> Option<SpdmSignatureStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::env::var
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:579,1
    - Dst: PathBuf::from
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:580,1
    - Dst: get_test_key_directory
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:582,1
    - Dst: PathBuf::join
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:586,1
    - Dst: PathBuf::join
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:589,1
    - Dst: PathBuf::join
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:592,1
    - Dst: std::fs::read
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:597,1
    - Dst: Option::unwrap_or_else
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:597,1
    - Dst: signature::RsaKeyPair::from_der
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:599,1
    - Dst: as_slice
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:599,1
    - Dst: Result::ok
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:599,1
    - Dst: Option::public_modulus_len
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:600,1
    - Dst: aws_lc_rs::rand::SystemRandom::new
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:603,1
    - Dst: Option::sign
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:605,1
    - Dst: Option::ok
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:605,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:608,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 44
    argCount: 3
    argNames:
    - padding_alg
    - key_len
    - data
    argTypes:
    - '&''static dyn aws_lc_rs::signature::RsaEncoding'
    - usize
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 612
      start: 573
    functionDepth: 10
    functionLinenumber: 573
    functionLinenumberEnd: 612
    functionName: sign_rsa_asym_algo_aws_lc
    functionSourceFile: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs
    functionUses: 0
    functionsReached:
    - std::env::var
    - Result::ok
    - Option::public_modulus_len
    - as_slice
    - std::fs::read
    - PathBuf::from
    - Option::unwrap_or_else
    - get_test_key_directory
    - PathBuf::join
    - Option::sign
    - Option::ok
    - signature::RsaKeyPair::from_der
    - aws_lc_rs::rand::SystemRandom::new
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn sign_rsa_asym_algo_aws_lc(padding_alg: &''static dyn aws_lc_rs::signature::RsaEncoding,key_len:
      usize,data: &[u8],) -> Option<SpdmSignatureStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 4
    argNames:
    - _spdm_context
    - _base_hash_algo
    - _pqc_asym_algo
    - _data
    argTypes:
    - '&SpdmContext'
    - SpdmBaseHashAlgo
    - SpdmPqcAsymAlgo
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 343
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 343
    functionName: pqc_asym_sign
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/common/secret_callback.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Option
    signature: 'fn pqc_asym_sign(_spdm_context: &SpdmContext,_base_hash_algo: SpdmBaseHashAlgo,_pqc_asym_algo:
      SpdmPqcAsymAlgo,_data: &[u8],) -> Option<SpdmSignatureStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PathBuf::from
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:515,1
    - Dst: Self::parent
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:516,1
    - Dst: expect
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:516,1
    - Dst: parent
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:516,1
    - Dst: expect
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:516,1
    - Dst: Self::to_path_buf
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 522
      start: 514
    functionDepth: 2
    functionLinenumber: 514
    functionLinenumberEnd: 522
    functionName: get_test_key_directory
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/common/util.rs
    functionUses: 9
    functionsReached:
    - Self::to_path_buf
    - PathBuf::from
    - Self::parent
    - parent
    - expect
    linkageType: ''
    returnType: PathBuf
    signature: pub fn get_test_key_directory() -> PathBuf
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spdmlib::crypto::pqc_asym_verify::register
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:716,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:717,1
    - Dst: spdmlib::crypto::kem_decap::register
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:719,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:719,1
    - Dst: spdmlib::crypto::kem_encap::register
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:720,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:720,1
    - Dst: spdmlib_crypto_aws_lc::pqc_cert_verify_impl::register
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 725
      start: 715
    functionDepth: 2
    functionLinenumber: 715
    functionLinenumberEnd: 725
    functionName: register_pqc_crypto_callbacks
    functionSourceFile: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs
    functionUses: 1
    functionsReached:
    - spdmlib::crypto::kem_encap::register
    - clone
    - spdmlib::crypto::kem_decap::register
    - spdmlib::crypto::pqc_asym_verify::register
    - spdmlib_crypto_aws_lc::pqc_cert_verify_impl::register
    linkageType: ''
    returnType: void
    signature: pub fn register_pqc_crypto_callbacks()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spdmlib::crypto::hash::register
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:739,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:739,1
    - Dst: spdmlib::crypto::hmac::register
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:740,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:740,1
    - Dst: spdmlib::crypto::aead::register
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:741,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:741,1
    - Dst: spdmlib::crypto::asym_verify::register
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:742,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:743,1
    - Dst: spdmlib::crypto::dhe::register
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:745,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:745,1
    - Dst: spdmlib::crypto::hkdf::register
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:746,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:746,1
    - Dst: spdmlib::crypto::rand::register
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:747,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:747,1
    - Dst: spdmlib::crypto::cert_operation::register
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:748,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:749,1
    - Dst: spdmlib::crypto::pqc_asym_verify::register
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:756,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:757,1
    - Dst: spdmlib::crypto::kem_decap::register
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:759,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:759,1
    - Dst: spdmlib::crypto::kem_encap::register
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:760,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs:760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 761
      start: 737
    functionDepth: 2
    functionLinenumber: 737
    functionLinenumberEnd: 761
    functionName: register_aws_lc_crypto_callbacks
    functionSourceFile: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs
    functionUses: 1
    functionsReached:
    - spdmlib::crypto::kem_encap::register
    - spdmlib::crypto::aead::register
    - spdmlib::crypto::hash::register
    - clone
    - spdmlib::crypto::cert_operation::register
    - spdmlib::crypto::asym_verify::register
    - spdmlib::crypto::hmac::register
    - spdmlib::crypto::hkdf::register
    - spdmlib::crypto::kem_decap::register
    - spdmlib::crypto::pqc_asym_verify::register
    - spdmlib::crypto::dhe::register
    - spdmlib::crypto::rand::register
    linkageType: ''
    returnType: void
    signature: pub fn register_aws_lc_crypto_callbacks()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:15,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:16,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:42,1
    - Dst: SecuredMessageVersion::try_from
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:42,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:42,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:55,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:56,1
    - Dst: expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:56,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:60,1
    - Dst: SpdmConfigInfo::read
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:61,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 12
    functionDepth: 10
    functionLinenumber: 12
    functionLinenumberEnd: 64
    functionName: test_spdm_config_info_codec
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs
    functionUses: 0
    functionsReached:
    - Some
    - Result::unwrap
    - Writer::init
    - SecuredMessageVersion::try_from
    - SpdmConfigInfo::read
    - Reader::init
    - expect
    - Option::expect
    - encode
    linkageType: ''
    returnType: void
    signature: fn test_spdm_config_info_codec()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmPqcAsymAlgo::empty
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:91,1
    - Dst: SpdmPqcReqAsymAlgo::empty
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:92,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:93,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:98,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:99,1
    - Dst: expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:99,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:103,1
    - Dst: SpdmNegotiateInfo::read
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:104,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 67
    functionDepth: 11
    functionLinenumber: 67
    functionLinenumberEnd: 107
    functionName: test_spdm_negotiate_info_codec
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs
    functionUses: 0
    functionsReached:
    - SpdmPqcReqAsymAlgo::empty
    - SpdmNegotiateInfo::read
    - SpdmPqcAsymAlgo::empty
    - Writer::init
    - expect
    - Reader::init
    - SpdmKemAlgo::empty
    - Option::expect
    - encode
    linkageType: ''
    returnType: void
    signature: fn test_spdm_negotiate_info_codec()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ManagedBufferA::default
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:111,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:113,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:113,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:119,1
    - Dst: Self::encode
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:120,1
    - Dst: Result::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:120,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:124,1
    - Dst: ManagedBufferA::read
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:125,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 110
    functionDepth: 10
    functionLinenumber: 110
    functionLinenumberEnd: 128
    functionName: test_managed_buffer_a_codec
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs
    functionUses: 0
    functionsReached:
    - Self::append_message
    - Writer::init
    - ManagedBufferA::read
    - ManagedBufferA::default
    - Reader::init
    - Result::expect
    - Option::expect
    - Self::encode
    linkageType: ''
    returnType: void
    signature: fn test_managed_buffer_a_codec()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ManagedBufferB::default
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:132,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:134,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:134,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:140,1
    - Dst: Self::encode
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:141,1
    - Dst: Result::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:141,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:145,1
    - Dst: ManagedBufferB::read
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:146,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 131
    functionDepth: 10
    functionLinenumber: 131
    functionLinenumberEnd: 149
    functionName: test_managed_buffer_b_codec
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs
    functionUses: 0
    functionsReached:
    - Self::append_message
    - ManagedBufferB::default
    - ManagedBufferB::read
    - Writer::init
    - Reader::init
    - Result::expect
    - Option::expect
    - Self::encode
    linkageType: ''
    returnType: void
    signature: fn test_managed_buffer_b_codec()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ManagedBufferC::default
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:153,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:155,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:155,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:161,1
    - Dst: Self::encode
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:162,1
    - Dst: Result::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:162,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:166,1
    - Dst: ManagedBufferC::read
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:167,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 152
    functionDepth: 10
    functionLinenumber: 152
    functionLinenumberEnd: 170
    functionName: test_managed_buffer_c_codec
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs
    functionUses: 0
    functionsReached:
    - Self::append_message
    - ManagedBufferC::default
    - Writer::init
    - Reader::init
    - Result::expect
    - Option::expect
    - Self::encode
    - ManagedBufferC::read
    linkageType: ''
    returnType: void
    signature: fn test_managed_buffer_c_codec()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ManagedBufferM::default
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:174,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:176,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:176,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:182,1
    - Dst: Self::encode
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:183,1
    - Dst: Result::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:183,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:187,1
    - Dst: ManagedBufferM::read
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:188,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 173
    functionDepth: 10
    functionLinenumber: 173
    functionLinenumberEnd: 191
    functionName: test_managed_buffer_m_codec
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs
    functionUses: 0
    functionsReached:
    - Self::append_message
    - Writer::init
    - Reader::init
    - Result::expect
    - ManagedBufferM::default
    - Option::expect
    - Self::encode
    - ManagedBufferM::read
    linkageType: ''
    returnType: void
    signature: fn test_managed_buffer_m_codec()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ManagedBufferK::default
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:195,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:197,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:197,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:203,1
    - Dst: Self::encode
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:204,1
    - Dst: Result::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:204,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:208,1
    - Dst: ManagedBufferK::read
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:209,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 194
    functionDepth: 10
    functionLinenumber: 194
    functionLinenumberEnd: 212
    functionName: test_managed_buffer_k_codec
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs
    functionUses: 0
    functionsReached:
    - Self::append_message
    - ManagedBufferK::default
    - ManagedBufferK::read
    - Writer::init
    - Reader::init
    - Result::expect
    - Option::expect
    - Self::encode
    linkageType: ''
    returnType: void
    signature: fn test_managed_buffer_k_codec()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ManagedBufferF::default
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:216,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:218,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:218,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:224,1
    - Dst: Self::encode
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:225,1
    - Dst: Result::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:225,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:229,1
    - Dst: ManagedBufferF::read
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:230,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 233
      start: 215
    functionDepth: 10
    functionLinenumber: 215
    functionLinenumberEnd: 233
    functionName: test_managed_buffer_f_codec
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs
    functionUses: 0
    functionsReached:
    - Self::append_message
    - ManagedBufferF::read
    - Writer::init
    - ManagedBufferF::default
    - Reader::init
    - Result::expect
    - Option::expect
    - Self::encode
    linkageType: ''
    returnType: void
    signature: fn test_managed_buffer_f_codec()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ManagedBufferM1M2::default
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:237,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:239,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:239,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:245,1
    - Dst: Self::encode
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:246,1
    - Dst: Result::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:246,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:250,1
    - Dst: ManagedBufferM1M2::read
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:251,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 236
    functionDepth: 10
    functionLinenumber: 236
    functionLinenumberEnd: 254
    functionName: test_managed_buffer_m1m2_codec
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs
    functionUses: 0
    functionsReached:
    - Self::append_message
    - ManagedBufferM1M2::read
    - ManagedBufferM1M2::default
    - Writer::init
    - Reader::init
    - Result::expect
    - Option::expect
    - Self::encode
    linkageType: ''
    returnType: void
    signature: fn test_managed_buffer_m1m2_codec()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ManagedBufferL1L2::default
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:258,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:260,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:260,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:266,1
    - Dst: Self::encode
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:267,1
    - Dst: Result::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:267,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:271,1
    - Dst: ManagedBufferL1L2::read
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:272,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 257
    functionDepth: 10
    functionLinenumber: 257
    functionLinenumberEnd: 275
    functionName: test_managed_buffer_l1l2_codec
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs
    functionUses: 0
    functionsReached:
    - ManagedBufferL1L2::read
    - Self::append_message
    - ManagedBufferL1L2::default
    - Writer::init
    - Reader::init
    - Result::expect
    - Option::expect
    - Self::encode
    linkageType: ''
    returnType: void
    signature: fn test_managed_buffer_l1l2_codec()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ManagedBufferTH::default
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:279,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:281,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:281,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:287,1
    - Dst: Self::encode
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:288,1
    - Dst: Result::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:288,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:292,1
    - Dst: ManagedBufferTH::read
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:293,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 278
    functionDepth: 10
    functionLinenumber: 278
    functionLinenumberEnd: 296
    functionName: test_managed_buffer_th_codec
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs
    functionUses: 0
    functionsReached:
    - Self::append_message
    - ManagedBufferTH::default
    - Writer::init
    - ManagedBufferTH::read
    - Reader::init
    - Result::expect
    - Option::expect
    - Self::encode
    linkageType: ''
    returnType: void
    signature: fn test_managed_buffer_th_codec()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ManagedBuffer12Sign::default
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:300,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:302,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:302,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:308,1
    - Dst: Self::encode
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:309,1
    - Dst: Result::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:309,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:313,1
    - Dst: ManagedBuffer12Sign::read
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:315,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 318
      start: 299
    functionDepth: 10
    functionLinenumber: 299
    functionLinenumberEnd: 318
    functionName: test_managed_buffer_12sign_codec
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs
    functionUses: 0
    functionsReached:
    - Self::append_message
    - ManagedBuffer12Sign::default
    - ManagedBuffer12Sign::read
    - Writer::init
    - Reader::init
    - Result::expect
    - Option::expect
    - Self::encode
    linkageType: ''
    returnType: void
    signature: fn test_managed_buffer_12sign_codec()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:328,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:331,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:332,1
    - Dst: expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:332,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:336,1
    - Dst: SpdmMeasurementContentChanged::read
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:337,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 342
      start: 321
    functionDepth: 10
    functionLinenumber: 321
    functionLinenumberEnd: 342
    functionName: test_spdm_measurement_content_changed_codec
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs
    functionUses: 0
    functionsReached:
    - SpdmMeasurementContentChanged::read
    - iter
    - Writer::init
    - Reader::init
    - expect
    - Option::expect
    - encode
    linkageType: ''
    returnType: void
    signature: fn test_spdm_measurement_content_changed_codec()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmRuntimeInfo::default
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:348,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:352,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:353,1
    - Dst: Result::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:353,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:357,1
    - Dst: SpdmRuntimeInfo::read
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:358,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:358,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:362,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:363,1
    - Dst: expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 368
      start: 346
    functionDepth: 11
    functionLinenumber: 346
    functionLinenumberEnd: 368
    functionName: test_spdm_runtime_info_codec_no_hashed
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs
    functionUses: 0
    functionsReached:
    - SpdmRuntimeInfo::read
    - Writer::init
    - SpdmRuntimeInfo::default
    - Reader::init
    - Result::expect
    - expect
    - Option::expect
    - encode
    linkageType: ''
    returnType: void
    signature: fn test_spdm_runtime_info_codec_no_hashed()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmRuntimeInfo::default
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:374,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:378,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:379,1
    - Dst: Result::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:379,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:383,1
    - Dst: SpdmRuntimeInfo::read
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:384,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:384,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:388,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:389,1
    - Dst: expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 394
      start: 372
    functionDepth: 11
    functionLinenumber: 372
    functionLinenumberEnd: 394
    functionName: test_spdm_runtime_info_codec_hashed
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs
    functionUses: 0
    functionsReached:
    - SpdmRuntimeInfo::read
    - Writer::init
    - SpdmRuntimeInfo::default
    - Reader::init
    - Result::expect
    - expect
    - Option::expect
    - encode
    linkageType: ''
    returnType: void
    signature: fn test_spdm_runtime_info_codec_hashed()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:412,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:413,1
    - Dst: expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:413,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:417,1
    - Dst: SpdmProvisionInfo::read
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:418,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 426
      start: 397
    functionDepth: 10
    functionLinenumber: 397
    functionLinenumberEnd: 426
    functionName: test_spdm_provision_info_codec
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Reader::init
    - SpdmProvisionInfo::read
    - expect
    - Option::expect
    - encode
    linkageType: ''
    returnType: void
    signature: fn test_spdm_provision_info_codec()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainData::default
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:433,1
    - Dst: SpdmCertChainData::default
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:441,1
    - Dst: SpdmCertChainData::default
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:449,1
    - Dst: SpdmCertChainData::default
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:457,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:465,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:466,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:477,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:478,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:485,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:485,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:487,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:488,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:497,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:498,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:510,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:511,1
    - Dst: expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:511,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:515,1
    - Dst: SpdmProvisionInfo::read
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:516,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:516,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 134
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 577
      start: 429
    functionDepth: 10
    functionLinenumber: 429
    functionLinenumberEnd: 577
    functionName: test_spdm_provision_info_codec_with_populated_data
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs
    functionUses: 0
    functionsReached:
    - Some
    - Writer::init
    - SpdmCertChainData::default
    - Reader::init
    - SpdmProvisionInfo::read
    - expect
    - Option::expect
    - encode
    linkageType: ''
    returnType: void
    signature: fn test_spdm_provision_info_codec_with_populated_data()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:596,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:597,1
    - Dst: expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:597,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:601,1
    - Dst: SpdmProvisionInfo::read
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:602,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:602,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:616,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:617,1
    - Dst: expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:617,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:621,1
    - Dst: SpdmProvisionInfo::read
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:622,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 629
      start: 580
    functionDepth: 10
    functionLinenumber: 580
    functionLinenumberEnd: 629
    functionName: test_spdm_provision_info_codec_edge_cases
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Reader::init
    - SpdmProvisionInfo::read
    - expect
    - Option::expect
    - encode
    linkageType: ''
    returnType: void
    signature: fn test_spdm_provision_info_codec_edge_cases()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:646,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:647,1
    - Dst: expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:647,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:651,1
    - Dst: SpdmPeerInfo::read
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:652,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 663
      start: 632
    functionDepth: 10
    functionLinenumber: 632
    functionLinenumberEnd: 663
    functionName: test_spdm_peer_info_codec
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - SpdmPeerInfo::read
    - Reader::init
    - expect
    - Option::expect
    - encode
    linkageType: ''
    returnType: void
    signature: fn test_spdm_peer_info_codec()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:668,1
    - Dst: SpdmCertChainBuffer::default
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:672,1
    - Dst: Self::push
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:677,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:709,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:710,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:711,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:712,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:713,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:714,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:715,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:716,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:722,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:723,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:724,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:725,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:726,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:727,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:728,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:729,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:732,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:733,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:734,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:735,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:736,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:737,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:738,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:739,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:742,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:743,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:744,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:745,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:746,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:747,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:748,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:749,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:751,1
    - Dst: Default::default
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:757,1
    - Dst: SpdmAlg::SpdmAlgoDhe
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:761,1
    - Dst: SpdmAlg::SpdmAlgoAead
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:765,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:773,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:774,1
    - Dst: expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:774,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:778,1
    - Dst: SpdmPeerInfo::read
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:780,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:780,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 157
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 831
      start: 666
    functionDepth: 10
    functionLinenumber: 666
    functionLinenumberEnd: 831
    functionName: test_spdm_peer_info_codec_with_populated_data
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs
    functionUses: 0
    functionsReached:
    - SpdmAlg::SpdmAlgoDhe
    - Option::expect
    - SpdmCertChainBuffer::default
    - encode
    - Self::push
    - SpdmAlg::SpdmAlgoAead
    - Writer::init
    - SpdmPeerInfo::read
    - Vec::new
    - Reader::init
    - expect
    - Default::default
    - Some
    linkageType: ''
    returnType: void
    signature: fn test_spdm_peer_info_codec_with_populated_data()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:849,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:850,1
    - Dst: expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:850,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:854,1
    - Dst: SpdmPeerInfo::read
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:856,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:856,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:879,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:880,1
    - Dst: expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:880,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:884,1
    - Dst: SpdmPeerInfo::read
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:886,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:886,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 896
      start: 834
    functionDepth: 10
    functionLinenumber: 834
    functionLinenumberEnd: 896
    functionName: test_spdm_peer_info_codec_edge_cases
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - SpdmPeerInfo::read
    - Reader::init
    - expect
    - Option::expect
    - encode
    linkageType: ''
    returnType: void
    signature: fn test_spdm_peer_info_codec_edge_cases()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmEncapContext::default
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:901,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:905,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:906,1
    - Dst: Result::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:906,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:910,1
    - Dst: SpdmEncapContext::read
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:911,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:911,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 920
      start: 900
    functionDepth: 11
    functionLinenumber: 900
    functionLinenumberEnd: 920
    functionName: test_spdm_encap_context_codec
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs
    functionUses: 0
    functionsReached:
    - SpdmEncapContext::read
    - Writer::init
    - Result::expect
    - Reader::init
    - SpdmEncapContext::default
    - Option::expect
    - encode
    linkageType: ''
    returnType: void
    signature: fn test_spdm_encap_context_codec()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ManagedBufferA::default
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:927,1
    - Dst: ManagedBufferB::default
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:928,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:934,1
    - Dst: Self::encode
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:935,1
    - Dst: Result::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:935,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:938,1
    - Dst: ManagedBufferA::read
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:940,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:940,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:944,1
    - Dst: Self::encode
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:945,1
    - Dst: Result::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:945,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:948,1
    - Dst: ManagedBufferB::read
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:950,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 952
      start: 925
    functionDepth: 10
    functionLinenumber: 925
    functionLinenumberEnd: 952
    functionName: test_empty_managed_buffers_codec
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs
    functionUses: 0
    functionsReached:
    - ManagedBufferB::default
    - ManagedBufferB::read
    - Writer::init
    - ManagedBufferA::read
    - ManagedBufferA::default
    - Reader::init
    - Result::expect
    - Option::expect
    - Self::encode
    linkageType: ''
    returnType: void
    signature: fn test_empty_managed_buffers_codec()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:959,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:960,1
    - Dst: Default::default
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:965,1
    - Dst: Default::default
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:970,1
    - Dst: iter
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:973,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:975,1
    - Dst: (SpdmConfigInfo, SpdmProvisionInfo)::encode
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:976,1
    - Dst: Result::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:976,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:980,1
    - Dst: SpdmConfigInfo::read
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:981,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:981,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 986
      start: 955
    functionDepth: 10
    functionLinenumber: 955
    functionLinenumberEnd: 986
    functionName: test_option_fields_codec
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs
    functionUses: 0
    functionsReached:
    - Option::expect
    - (SpdmConfigInfo, SpdmProvisionInfo)::encode
    - iter
    - Writer::init
    - Reader::init
    - Result::expect
    - SpdmConfigInfo::read
    - Default::default
    - Some
    linkageType: ''
    returnType: void
    signature: fn test_option_fields_codec()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ManagedBufferA::default
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:991,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:993,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:993,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:998,1
    - Dst: Self::encode
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:999,1
    - Dst: Result::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:999,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1003,1
    - Dst: ManagedBufferA::read
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1004,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1004,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 989
    functionDepth: 10
    functionLinenumber: 989
    functionLinenumberEnd: 1007
    functionName: test_max_size_buffers
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs
    functionUses: 0
    functionsReached:
    - Self::append_message
    - Writer::init
    - ManagedBufferA::read
    - ManagedBufferA::default
    - Reader::init
    - Result::expect
    - Option::expect
    - Self::encode
    linkageType: ''
    returnType: void
    signature: fn test_max_size_buffers()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmConfigInfo::default
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1012,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1014,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1015,1
    - Dst: Result::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1015,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1019,1
    - Dst: SpdmConfigInfo::read
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1020,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1010
    functionDepth: 10
    functionLinenumber: 1010
    functionLinenumberEnd: 1027
    functionName: test_error_conditions
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs
    functionUses: 0
    functionsReached:
    - SpdmConfigInfo::default
    - Writer::init
    - Reader::init
    - Result::expect
    - SpdmConfigInfo::read
    - encode
    linkageType: ''
    returnType: void
    signature: fn test_error_conditions()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmRuntimeInfo::default
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1034,1
    - Dst: iter
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1039,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1041,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1042,1
    - Dst: Result::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1042,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1046,1
    - Dst: SpdmRuntimeInfo::read
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1047,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1047,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1051,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1052,1
    - Dst: expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1052,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1032
    functionDepth: 11
    functionLinenumber: 1032
    functionLinenumberEnd: 1058
    functionName: test_spdm_runtime_info_size_variations
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs
    functionUses: 0
    functionsReached:
    - iter
    - SpdmRuntimeInfo::read
    - Writer::init
    - SpdmRuntimeInfo::default
    - Reader::init
    - Result::expect
    - expect
    - Option::expect
    - encode
    linkageType: ''
    returnType: void
    signature: fn test_spdm_runtime_info_size_variations()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmPqcAsymAlgo::empty
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1089,1
    - Dst: SpdmPqcReqAsymAlgo::empty
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1090,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1091,1
    - Dst: SpdmRequestCapabilityFlags::all
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1095,1
    - Dst: SpdmResponseCapabilityFlags::all
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1096,1
    - Dst: SpdmAlgoOtherParams::all
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1107,1
    - Dst: SpdmPqcAsymAlgo::empty
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1116,1
    - Dst: SpdmPqcReqAsymAlgo::empty
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1117,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1118,1
    - Dst: iter
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1122,1
    - Dst: enumerate
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1122,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1124,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1125,1
    - Dst: unwrap_or_else
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1125,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1129,1
    - Dst: SpdmNegotiateInfo::read
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1130,1
    - Dst: Option::unwrap_or_else
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1061
    functionDepth: 11
    functionLinenumber: 1061
    functionLinenumberEnd: 1135
    functionName: test_spdm_negotiate_info_comprehensive
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs
    functionUses: 0
    functionsReached:
    - SpdmAlgoOtherParams::all
    - SpdmPqcReqAsymAlgo::empty
    - unwrap_or_else
    - enumerate
    - SpdmNegotiateInfo::read
    - Option::unwrap_or_else
    - SpdmResponseCapabilityFlags::all
    - iter
    - SpdmRequestCapabilityFlags::all
    - SpdmPqcAsymAlgo::empty
    - Writer::init
    - Reader::init
    - SpdmKemAlgo::empty
    - encode
    linkageType: ''
    returnType: void
    signature: fn test_spdm_negotiate_info_comprehensive()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ManagedBufferA::default
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1140,1
    - Dst: ManagedBufferB::default
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1141,1
    - Dst: ManagedBufferC::default
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1142,1
    - Dst: map
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1146,1
    - Dst: collect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1146,1
    - Dst: map
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1149,1
    - Dst: collect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1149,1
    - Dst: map
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1152,1
    - Dst: collect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1152,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1156,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1156,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1159,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1159,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1162,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1162,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1170,1
    - Dst: Self::encode
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1171,1
    - Dst: Result::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1171,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1181,1
    - Dst: ManagedBufferA::read
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1182,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1182,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1186,1
    - Dst: Self::encode
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1187,1
    - Dst: Result::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1187,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1197,1
    - Dst: ManagedBufferB::read
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1198,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1198,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1202,1
    - Dst: Self::encode
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1203,1
    - Dst: Result::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1203,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1213,1
    - Dst: ManagedBufferC::read
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1214,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 110
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1138
    functionDepth: 10
    functionLinenumber: 1138
    functionLinenumberEnd: 1216
    functionName: test_mixed_buffer_stress
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs
    functionUses: 0
    functionsReached:
    - Self::append_message
    - ManagedBufferC::default
    - ManagedBufferB::default
    - map
    - ManagedBufferB::read
    - Writer::init
    - Self::encode
    - ManagedBufferA::read
    - ManagedBufferA::default
    - collect
    - Reader::init
    - Result::expect
    - Option::expect
    - ManagedBufferC::read
    linkageType: ''
    returnType: void
    signature: fn test_mixed_buffer_stress()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmRuntimeInfo::default
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1244,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1250,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1251,1
    - Dst: expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1251,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1255,1
    - Dst: SpdmProvisionInfo::read
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1257,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1257,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1260,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1261,1
    - Dst: Result::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1261,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1265,1
    - Dst: SpdmPeerInfo::read
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1266,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1266,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1269,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1270,1
    - Dst: Result::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1270,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1274,1
    - Dst: SpdmRuntimeInfo::read
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1276,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs:1276,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1219
    functionDepth: 10
    functionLinenumber: 1219
    functionLinenumberEnd: 1294
    functionName: test_large_struct_memory_boundaries
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs
    functionUses: 0
    functionsReached:
    - SpdmRuntimeInfo::read
    - Writer::init
    - SpdmRuntimeInfo::default
    - SpdmPeerInfo::read
    - Reader::init
    - Result::expect
    - SpdmProvisionInfo::read
    - expect
    - Option::expect
    - encode
    linkageType: ''
    returnType: void
    signature: fn test_large_struct_memory_boundaries()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:20,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:26,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:26,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:27,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:27,1
    - Dst: common::util::new_context
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:28,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:31,1
    - Dst: SpdmOpaqueStruct::spdm_read
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:33,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 18
    functionDepth: 10
    functionLinenumber: 18
    functionLinenumberEnd: 39
    functionName: test_case0_spdm_opaque_struct
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/test_library.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - common::util::new_context
    - Option::unwrap
    - Writer::init
    - SpdmOpaqueStruct::spdm_read
    - Reader::init
    - Mutex::new
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_opaque_struct()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:44,1
    - Dst: Box::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:47,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:50,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:50,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:51,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:51,1
    - Dst: common::util::new_context
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:52,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:55,1
    - Dst: SpdmDigestStruct::spdm_read
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:57,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 42
    functionDepth: 9
    functionLinenumber: 42
    functionLinenumberEnd: 63
    functionName: test_case0_spdm_digest_struct
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/test_library.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - common::util::new_context
    - Option::unwrap
    - Box::new
    - Writer::init
    - SpdmDigestStruct::spdm_read
    - Reader::init
    - Mutex::new
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_digest_struct()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:67,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:73,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:73,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:74,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:74,1
    - Dst: common::util::new_context
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:75,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:79,1
    - Dst: SpdmSignatureStruct::spdm_read
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:81,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 65
    functionDepth: 9
    functionLinenumber: 65
    functionLinenumberEnd: 86
    functionName: test_case0_spdm_signature_struct
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/test_library.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SpdmSignatureStruct::spdm_read
    - common::util::new_context
    - Option::unwrap
    - Writer::init
    - Reader::init
    - Mutex::new
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_signature_struct()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:90,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:103,1
    - Dst: u24::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:114,1
    - Dst: Writer::used
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:114,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:118,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:118,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:119,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:119,1
    - Dst: common::util::new_context
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:120,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:126,1
    - Dst: SpdmMeasurementRecordStructure::spdm_read
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:129,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 88
    functionDepth: 10
    functionLinenumber: 88
    functionLinenumberEnd: 131
    functionName: test_case0_spdm_measurement_record_structure
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/test_library.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - Writer::used
    - common::util::new_context
    - Option::unwrap
    - SpdmMeasurementRecordStructure::spdm_read
    - Writer::init
    - Reader::init
    - Mutex::new
    - u24::new
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_measurement_record_structure()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:136,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:149,1
    - Dst: u24::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:160,1
    - Dst: Writer::used
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:160,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:164,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:164,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:165,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:165,1
    - Dst: common::util::new_context
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 134
    functionDepth: 3
    functionLinenumber: 134
    functionLinenumberEnd: 168
    functionName: test_case1_spdm_measurement_record_structure
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/test_library.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - Writer::used
    - common::util::new_context
    - Writer::init
    - Mutex::new
    - u24::new
    linkageType: ''
    returnType: void
    signature: fn test_case1_spdm_measurement_record_structure()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:172,1
    - Dst: SpdmDheExchangeStruct::default
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:173,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:179,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:179,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:180,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:180,1
    - Dst: common::util::new_context
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:181,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:185,1
    - Dst: SpdmDheExchangeStruct::spdm_read
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:188,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 170
    functionDepth: 9
    functionLinenumber: 170
    functionLinenumberEnd: 197
    functionName: test_case0_spdm_dhe_exchange_struct
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/test_library.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - common::util::new_context
    - Option::unwrap
    - Writer::init
    - SpdmDheExchangeStruct::spdm_read
    - SpdmDheExchangeStruct::default
    - Mutex::new
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_dhe_exchange_struct()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmDmtfMeasurementStructure::default
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:200,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:215,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:215,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:216,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:216,1
    - Dst: common::util::new_context
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:217,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:226,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:228,1
    - Dst: SpdmDmtfMeasurementStructure::spdm_read
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:231,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 199
    functionDepth: 10
    functionLinenumber: 199
    functionLinenumberEnd: 248
    functionName: test_case0_spdm_dmtf_measurement_structure
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/test_library.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SpdmDmtfMeasurementStructure::spdm_read
    - common::util::new_context
    - Option::unwrap
    - SpdmDmtfMeasurementStructure::default
    - Writer::init
    - Reader::init
    - Mutex::new
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_dmtf_measurement_structure()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:252,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:264,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:264,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:265,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:265,1
    - Dst: common::util::new_context
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:266,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:270,1
    - Dst: SpdmMeasurementBlockStructure::spdm_read
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:273,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 299
      start: 250
    functionDepth: 10
    functionLinenumber: 250
    functionLinenumberEnd: 299
    functionName: test_case0_spdm_measurement_block_structure
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/test_library.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - common::util::new_context
    - Option::unwrap
    - Writer::init
    - SpdmMeasurementBlockStructure::spdm_read
    - Reader::init
    - Mutex::new
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_measurement_block_structure()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:303,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:303,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:304,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:304,1
    - Dst: common::util::new_context
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:306,1
    - Dst: Self::clone
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:306,1
    - Dst: Self::clone
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:306,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:316,1
    - Dst: SpdmContext::export
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:321,1
    - Dst: SpdmResult::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:321,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:328,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:328,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:329,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:329,1
    - Dst: common::util::new_context
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:330,1
    - Dst: SpdmContext::import
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:333,1
    - Dst: SpdmResult::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:333,1
    - Dst: common::util::new_context
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:368,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:369,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:369,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:370,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:370,1
    - Dst: common::util::new_context
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:379,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:380,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:380,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:381,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 80
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 387
      start: 302
    functionDepth: 11
    functionLinenumber: 302
    functionLinenumberEnd: 387
    functionName: test_case0_spdm_context_export_import
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/test_library.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SpdmContext::import
    - set_connection_state
    - common::util::new_context
    - SpdmContext::export
    - SpdmResult::expect
    - Self::clone
    - Mutex::new
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_context_export_import()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:391,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:391,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:392,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:392,1
    - Dst: common::util::new_context
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:394,1
    - Dst: Self::clone
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:394,1
    - Dst: Self::clone
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:394,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:416,1
    - Dst: set_local_used_cert_chain_slot_id
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:419,1
    - Dst: set_peer_used_cert_chain_slot_id
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:422,1
    - Dst: wrapping_add
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:433,1
    - Dst: wrapping_add
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:442,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:445,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:446,1
    - Dst: wrapping_add
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:457,1
    - Dst: wrapping_add
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:468,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:471,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:472,1
    - Dst: wrapping_add
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:483,1
    - Dst: wrapping_add
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:494,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:497,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:498,1
    - Dst: SpdmContext::export
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:505,1
    - Dst: SpdmResult::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:505,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:512,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:512,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:513,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:513,1
    - Dst: common::util::new_context
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:514,1
    - Dst: SpdmContext::import
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:517,1
    - Dst: SpdmResult::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:517,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 295
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 653
      start: 390
    functionDepth: 11
    functionLinenumber: 390
    functionLinenumberEnd: 653
    functionName: test_case1_spdm_context_export_import_with_cert_data
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/test_library.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SpdmContext::import
    - set_connection_state
    - common::util::new_context
    - set_peer_used_cert_chain_slot_id
    - SpdmContext::export
    - SpdmResult::expect
    - Self::clone
    - wrapping_add
    - set_local_used_cert_chain_slot_id
    - Mutex::new
    - Some
    linkageType: ''
    returnType: void
    signature: fn test_case1_spdm_context_export_import_with_cert_data()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:657,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:657,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:658,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:658,1
    - Dst: common::util::new_context
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:660,1
    - Dst: Self::clone
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:660,1
    - Dst: Self::clone
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:660,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:670,1
    - Dst: append_message
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:675,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:675,1
    - Dst: append_message
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:682,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:682,1
    - Dst: append_message
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:687,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:687,1
    - Dst: append_message
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:692,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:692,1
    - Dst: SpdmContext::get_session_via_id
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:700,1
    - Dst: setup
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:701,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:701,1
    - Dst: set_use_psk
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:702,1
    - Dst: append_message
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:704,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:704,1
    - Dst: append_message
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:711,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:711,1
    - Dst: append_message
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:716,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:716,1
    - Dst: append_message
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:721,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:721,1
    - Dst: SpdmContext::export
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:730,1
    - Dst: SpdmResult::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:730,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:737,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:737,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:738,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:738,1
    - Dst: common::util::new_context
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:739,1
    - Dst: SpdmContext::import
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:742,1
    - Dst: SpdmResult::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:742,1
    - Dst: SpdmContext::get_immutable_session_via_id
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:802,1
    - Dst: SpdmContext::get_immutable_session_via_id
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:803,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 177
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 830
      start: 656
    functionDepth: 10
    functionLinenumber: 656
    functionLinenumberEnd: 830
    functionName: test_case2_spdm_context_export_import_with_sessions
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/test_library.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SpdmResult::unwrap
    - SpdmContext::import
    - set_connection_state
    - common::util::new_context
    - unwrap
    - set_use_psk
    - SpdmContext::export
    - SpdmResult::expect
    - SpdmContext::get_session_via_id
    - Self::clone
    - append_message
    - SpdmContext::get_immutable_session_via_id
    - Mutex::new
    - setup
    linkageType: ''
    returnType: void
    signature: fn test_case2_spdm_context_export_import_with_sessions()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:834,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:834,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:835,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:835,1
    - Dst: common::util::new_context
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:837,1
    - Dst: Self::clone
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:837,1
    - Dst: Self::clone
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:837,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:884,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:901,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:902,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:910,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:912,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:913,1
    - Dst: append_message
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:922,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:922,1
    - Dst: append_message
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:929,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:929,1
    - Dst: append_message
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:934,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:934,1
    - Dst: append_message
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:939,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:939,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:946,1
    - Dst: SpdmContext::export
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:951,1
    - Dst: SpdmResult::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:951,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:965,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:965,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:966,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:966,1
    - Dst: common::util::new_context
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:967,1
    - Dst: SpdmContext::import
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:969,1
    - Dst: SpdmResult::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_library.rs:969,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 251
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 833
    functionDepth: 10
    functionLinenumber: 833
    functionLinenumberEnd: 1038
    functionName: test_case3_spdm_context_export_import_boundary_conditions
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/test_library.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SpdmContext::import
    - common::util::new_context
    - unwrap
    - set_connection_state
    - SpdmContext::export
    - SpdmResult::expect
    - Self::clone
    - append_message
    - Mutex::new
    - Some
    linkageType: ''
    returnType: void
    signature: fn test_case3_spdm_context_export_import_boundary_conditions()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/test_client_server.rs:24,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/test_client_server.rs:24,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/test_client_server.rs:25,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/test_client_server.rs:25,1
    - Dst: watchdog_impl_sample::init_watchdog
      Src: /src/spdm-rs/test/spdmlib-test/src/test_client_server.rs:26,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_client_server.rs:28,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_client_server.rs:29,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_client_server.rs:29,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_client_server.rs:29,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_client_server.rs:29,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_client_server.rs:32,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_client_server.rs:32,1
    - Dst: common::util::rsp_create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/test_client_server.rs:34,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_client_server.rs:36,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_client_server.rs:43,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_client_server.rs:58,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_client_server.rs:59,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_client_server.rs:59,1
    - Dst: FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_client_server.rs:59,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_client_server.rs:60,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_client_server.rs:61,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_client_server.rs:61,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_client_server.rs:63,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_client_server.rs:63,1
    - Dst: common::util::req_create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/test_client_server.rs:65,1
    - Dst: requester::RequesterContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/test_client_server.rs:66,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/test_client_server.rs:98,1
    - Dst: common::util::get_rsp_cert_chain_buff
      Src: /src/spdm-rs/test/spdmlib-test/src/test_client_server.rs:98,1
    - Dst: Self::start_session
      Src: /src/spdm-rs/test/spdmlib-test/src/test_client_server.rs:109,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/test/spdmlib-test/src/test_client_server.rs:124,1
    - Dst: expect
      Src: /src/spdm-rs/test/spdmlib-test/src/test_client_server.rs:124,1
    - Dst: export_keys
      Src: /src/spdm-rs/test/spdmlib-test/src/test_client_server.rs:128,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/test_client_server.rs:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 89
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 22
    functionDepth: 18
    functionLinenumber: 22
    functionLinenumberEnd: 150
    functionName: intergration_client_server
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/test_client_server.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - spdmlib::secret::asym_sign::register
    - FakeSpdmDeviceIo::new
    - expect
    - Mutex::new
    - clone
    - FakeSpdmDeviceIoReceve::new
    - executor::block_on
    - common::util::req_create_info
    - spdmlib::secret::pqc_asym_sign::register
    - get_session_via_id
    - Some
    - watchdog_impl_sample::init_watchdog
    - requester::RequesterContext::new
    - common::util::rsp_create_info
    - Self::start_session
    - common::util::get_rsp_cert_chain_buff
    - export_keys
    linkageType: ''
    returnType: void
    signature: fn intergration_client_server()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:22,1
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:23,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:25,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:26,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:26,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:26,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:26,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:29,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:29,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:31,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:31,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:32,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:32,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:34,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:42,1
    - Dst: common::util::get_rsp_cert_chain_buff
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:42,1
    - Dst: reset_runtime_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:79,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:82,1
    - Dst: common::util::get_rsp_cert_chain_buff
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:82,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:92,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:97,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:97,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:98,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:99,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:99,1
    - Dst: FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:99,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:100,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:101,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:101,1
    - Dst: RequesterContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:104,1
    - Dst: reset_runtime_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:139,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:141,1
    - Dst: common::util::get_rsp_cert_chain_buff
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:141,1
    - Dst: Self::send_receive_spdm_key_exchange
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:145,1
    - Dst: is_ok
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:145,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 195
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 20
    functionDepth: 7
    functionLinenumber: 20
    functionLinenumberEnd: 152
    functionName: test_case0_send_receive_spdm_key_exchange
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - FakeSpdmDeviceIoReceve::new
    - secret::asym_sign::register
    - clone
    - common::util::get_rsp_cert_chain_buff
    - reset_runtime_info
    - common::util::create_info
    - set_connection_state
    - RequesterContext::new
    - executor::block_on
    - secret::pqc_asym_sign::register
    - Self::send_receive_spdm_key_exchange
    - FakeSpdmDeviceIo::new
    - is_ok
    - Mutex::new
    - Some
    linkageType: ''
    returnType: void
    signature: fn test_case0_send_receive_spdm_key_exchange()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:157,1
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:158,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:160,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:161,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:161,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:161,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:161,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:164,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:164,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:166,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:173,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:173,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:174,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:174,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:177,1
    - Dst: common::util::get_rsp_cert_chain_buff
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:177,1
    - Dst: reset_runtime_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:202,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:205,1
    - Dst: common::util::get_rsp_cert_chain_buff
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:205,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:215,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:220,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:220,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:221,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:222,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:222,1
    - Dst: FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:222,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:223,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:224,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:224,1
    - Dst: RequesterContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:227,1
    - Dst: reset_runtime_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:250,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:252,1
    - Dst: common::util::get_rsp_cert_chain_buff
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:252,1
    - Dst: Self::send_receive_spdm_key_exchange
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:256,1
    - Dst: is_ok
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:256,1
    - Dst: iter
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:262,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs:269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 160
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 155
    functionDepth: 7
    functionLinenumber: 155
    functionLinenumberEnd: 270
    functionName: test_case1_send_receive_spdm_key_exchange
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - RequesterContext::new
    - secret::pqc_asym_sign::register
    - FakeSpdmDeviceIo::new
    - is_ok
    - Mutex::new
    - FakeSpdmDeviceIoReceve::new
    - clone
    - executor::block_on
    - reset_runtime_info
    - set_connection_state
    - Some
    - secret::asym_sign::register
    - common::util::create_info
    - Self::send_receive_spdm_key_exchange
    - common::util::get_rsp_cert_chain_buff
    - iter
    linkageType: ''
    returnType: void
    signature: fn test_case1_send_receive_spdm_key_exchange()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:23,1
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:24,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:26,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:27,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:27,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:27,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:27,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:30,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:30,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:32,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:32,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:33,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:33,1
    - Dst: secret::measurement::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:34,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:34,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:36,1
    - Dst: append_message
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:76,1
    - Dst: reset_runtime_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:81,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:83,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:96,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:101,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:101,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:102,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:103,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:103,1
    - Dst: FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:103,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:104,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:105,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:105,1
    - Dst: RequesterContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:108,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:143,1
    - Dst: common::util::get_rsp_cert_chain_buff
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:143,1
    - Dst: reset_runtime_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:145,1
    - Dst: SpdmMeasurementRecordStructure::default
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:149,1
    - Dst: Self::send_receive_spdm_measurement
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:153,1
    - Dst: is_ok
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:153,1
    - Dst: Self::send_receive_spdm_measurement
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:174,1
    - Dst: is_ok
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:174,1
    - Dst: SpdmMeasurementOperation::Unknown
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:191,1
    - Dst: Self::send_receive_spdm_measurement
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:195,1
    - Dst: is_ok
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:195,1
    - Dst: SpdmMeasurementOperation::Unknown
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:212,1
    - Dst: Self::send_receive_spdm_measurement
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:216,1
    - Dst: is_err
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:216,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:233,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 261
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 234
      start: 21
    functionDepth: 10
    functionLinenumber: 21
    functionLinenumberEnd: 234
    functionName: test_case0_send_receive_spdm_measurement
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - RequesterContext::new
    - secret::pqc_asym_sign::register
    - FakeSpdmDeviceIo::new
    - is_ok
    - Mutex::new
    - SpdmMeasurementRecordStructure::default
    - FakeSpdmDeviceIoReceve::new
    - clone
    - secret::measurement::register
    - reset_runtime_info
    - set_connection_state
    - executor::block_on
    - SpdmMeasurementOperation::Unknown
    - is_err
    - Some
    - secret::asym_sign::register
    - Self::send_receive_spdm_measurement
    - common::util::create_info
    - append_message
    - common::util::get_rsp_cert_chain_buff
    linkageType: ''
    returnType: void
    signature: fn test_case0_send_receive_spdm_measurement()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmMeasurementContextStruct::default
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:259,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:262,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:263,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:264,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:265,1
    - Dst: SimpleLogger::into_boxed_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:266,1
    - Dst: Ok
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:268,1
    - Dst: SpdmMeasurementContextStruct::default
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:275,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:278,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:279,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:280,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:281,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:282,1
    - Dst: SimpleLogger::into_boxed_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:283,1
    - Dst: Err
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:285,1
    - Dst: SpdmMeasurementOperation::Unknown
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:291,1
    - Dst: SpdmMeasurementContextStruct::default
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:292,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:295,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:296,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:297,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:298,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:299,1
    - Dst: SimpleLogger::into_boxed_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:300,1
    - Dst: Ok
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:302,1
    - Dst: SpdmMeasurementOperation::Unknown
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:308,1
    - Dst: SpdmMeasurementContextStruct::default
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:309,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:312,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:313,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:314,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:315,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:316,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:317,1
    - Dst: SimpleLogger::into_boxed_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:318,1
    - Dst: Err
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:320,1
    - Dst: SpdmMeasurementOperation::Unknown
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:326,1
    - Dst: SpdmMeasurementContextStruct::default
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:327,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:330,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:331,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:332,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:333,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:334,1
    - Dst: SimpleLogger::into_boxed_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:335,1
    - Dst: Ok
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:337,1
    - Dst: SpdmMeasurementContextStruct::default
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:344,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:347,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:348,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:349,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:350,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:351,1
    - Dst: SimpleLogger::into_boxed_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:352,1
    - Dst: Ok
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:354,1
    - Dst: SpdmMeasurementContextStruct::default
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:361,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:364,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:365,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:366,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:367,1
    - Dst: SimpleLogger::into_boxed_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:368,1
    - Dst: Ok
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:370,1
    - Dst: SpdmMeasurementContextStruct::default
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:377,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:380,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:381,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:382,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:383,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:384,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:385,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:386,1
    - Dst: SimpleLogger::into_boxed_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:387,1
    - Dst: Err
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:389,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:401,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:402,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:403,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:404,1
    - Dst: SimpleLogger::into_boxed_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:405,1
    - Dst: Ok
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:407,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:419,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:420,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:421,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:422,1
    - Dst: SimpleLogger::into_boxed_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:423,1
    - Dst: Err
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:425,1
    - Dst: executor::add_task
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:429,1
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:430,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:431,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:431,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:432,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:432,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:432,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:432,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:433,1
    - Dst: RequesterContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:435,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:457,1
    - Dst: common::util::get_rsp_cert_chain_buff
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:457,1
    - Dst: reset_runtime_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:458,1
    - Dst: SpdmMeasurementRecordStructure::default
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:461,1
    - Dst: Self::handle_spdm_measurement_record_response
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:465,1
    - Dst: executor::poll_tasks
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:486,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 374
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 487
      start: 237
    functionDepth: 7
    functionLinenumber: 237
    functionLinenumberEnd: 487
    functionName: test_handle_spdm_measurement_record_response
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - RequesterContext::new
    - Mutex::new
    - SpdmMeasurementRecordStructure::default
    - FakeSpdmDeviceIoReceve::new
    - reset_runtime_info
    - SpdmMeasurementContextStruct::default
    - executor::add_task
    - SpdmMeasurementOperation::Unknown
    - executor::poll_tasks
    - Ok
    - Some
    - SimpleLogger::into_boxed_slice
    - common::util::create_info
    - Err
    - common::util::get_rsp_cert_chain_buff
    - Self::handle_spdm_measurement_record_response
    - SimpleLogger::extend_from_slice
    linkageType: ''
    returnType: void
    signature: fn test_handle_spdm_measurement_record_response()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:492,1
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:493,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:495,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:496,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:496,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:496,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:496,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:499,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:499,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:501,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:501,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:502,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:502,1
    - Dst: secret::measurement::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:503,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:503,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:505,1
    - Dst: append_message
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:545,1
    - Dst: reset_runtime_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:550,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:552,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:565,1
    - Dst: append_message_a
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:569,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:569,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:574,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:574,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:575,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:576,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:576,1
    - Dst: FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:576,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:577,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:578,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:578,1
    - Dst: RequesterContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:581,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:616,1
    - Dst: common::util::get_rsp_cert_chain_buff
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:616,1
    - Dst: reset_runtime_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:618,1
    - Dst: append_message_a
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:619,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:619,1
    - Dst: SpdmMeasurementRecordStructure::default
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:626,1
    - Dst: Self::send_receive_spdm_measurement
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:630,1
    - Dst: is_ok
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:630,1
    - Dst: Self::send_receive_spdm_measurement
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:651,1
    - Dst: is_ok
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:651,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:668,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:669,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:669,1
    - Dst: ManagedBufferL1L2::default
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:670,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:671,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:671,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:672,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:673,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:672,1
    - Dst: SpdmSignatureStruct::default
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:677,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:679,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:680,1
    - Dst: crypto::hash::hash_all
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:682,1
    - Dst: Self::as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:682,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:682,1
    - Dst: Self::reset_message
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:684,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:685,1
    - Dst: get_signing_prefix_context
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:686,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:685,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:688,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:688,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:691,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:691,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:694,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:695,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:694,1
    - Dst: as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:698,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:698,1
    - Dst: get_hash_size
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:701,1
    - Dst: as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:702,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:702,1
    - Dst: crypto::spdm_asym_verify
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:707,1
    - Dst: SpdmDer::SpdmDerCertChain
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:711,1
    - Dst: Self::as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:712,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:718,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 368
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 719
      start: 490
    functionDepth: 10
    functionLinenumber: 490
    functionLinenumberEnd: 719
    functionName: test_case1_send_receive_spdm_measurement
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - RequesterContext::new
    - unwrap
    - Option::unwrap
    - crypto::spdm_asym_verify
    - secret::pqc_asym_sign::register
    - FakeSpdmDeviceIo::new
    - is_ok
    - Mutex::new
    - SpdmMeasurementRecordStructure::default
    - FakeSpdmDeviceIoReceve::new
    - clone
    - secret::measurement::register
    - reset_runtime_info
    - set_connection_state
    - Result::as_ref
    - executor::block_on
    - append_message_a
    - SpdmSignatureStruct::default
    - Some
    - Self::reset_message
    - Self::append_message
    - secret::asym_sign::register
    - crypto::hash::hash_all
    - Self::send_receive_spdm_measurement
    - common::util::create_info
    - Self::as_ref
    - get_hash_size
    - append_message
    - '&[u8]::len'
    - ManagedBufferL1L2::default
    - common::util::get_rsp_cert_chain_buff
    - get_signing_prefix_context
    - Result::unwrap
    - SpdmDer::SpdmDerCertChain
    - copy_from_slice
    - as_ref
    linkageType: ''
    returnType: void
    signature: fn test_case1_send_receive_spdm_measurement()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:724,1
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:725,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:727,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:728,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:728,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:728,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:728,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:731,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:731,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:733,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:733,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:734,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:734,1
    - Dst: secret::measurement::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:735,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:735,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:737,1
    - Dst: append_message
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:776,1
    - Dst: reset_runtime_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:781,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:783,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:796,1
    - Dst: append_message_a
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:800,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:800,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:805,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:805,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:806,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:807,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:807,1
    - Dst: FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:807,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:808,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:809,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:809,1
    - Dst: RequesterContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:812,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:846,1
    - Dst: common::util::get_rsp_cert_chain_buff
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:846,1
    - Dst: reset_runtime_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:848,1
    - Dst: append_message_a
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:849,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:849,1
    - Dst: SpdmMeasurementRecordStructure::default
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:856,1
    - Dst: Self::send_receive_spdm_measurement
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:860,1
    - Dst: is_ok
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:860,1
    - Dst: Self::send_receive_spdm_measurement
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:883,1
    - Dst: SpdmMeasurementAttributes::empty
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:890,1
    - Dst: SpdmMeasurementOperation::Unknown
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:892,1
    - Dst: is_ok
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:883,1
    - Dst: Result::clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:910,1
    - Dst: BytesMutStrubbed::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:910,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:911,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:911,1
    - Dst: ManagedBufferL1L2::default
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:912,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:913,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:913,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:914,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:915,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:914,1
    - Dst: SpdmSignatureStruct::default
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:919,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:921,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:922,1
    - Dst: crypto::hash::hash_all
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:923,1
    - Dst: Self::as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:925,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:923,1
    - Dst: Self::reset_message
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:928,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:929,1
    - Dst: get_signing_prefix_context
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:930,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:929,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:932,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:932,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:935,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:935,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:938,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:939,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:938,1
    - Dst: as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:942,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:942,1
    - Dst: get_hash_size
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:945,1
    - Dst: as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:946,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:946,1
    - Dst: crypto::spdm_asym_verify
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:951,1
    - Dst: SpdmDer::SpdmDerCertChain
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:955,1
    - Dst: Self::as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:956,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs:967,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 389
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 968
      start: 722
    functionDepth: 10
    functionLinenumber: 722
    functionLinenumberEnd: 968
    functionName: test_case3_send_receive_spdm_measurement
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - RequesterContext::new
    - unwrap
    - Option::unwrap
    - crypto::spdm_asym_verify
    - secret::pqc_asym_sign::register
    - FakeSpdmDeviceIo::new
    - is_ok
    - Mutex::new
    - SpdmMeasurementRecordStructure::default
    - FakeSpdmDeviceIoReceve::new
    - clone
    - secret::measurement::register
    - reset_runtime_info
    - set_connection_state
    - Result::as_ref
    - executor::block_on
    - append_message_a
    - Result::clone
    - SpdmSignatureStruct::default
    - SpdmMeasurementOperation::Unknown
    - Some
    - SpdmMeasurementAttributes::empty
    - Self::reset_message
    - Self::append_message
    - secret::asym_sign::register
    - crypto::hash::hash_all
    - Self::send_receive_spdm_measurement
    - common::util::create_info
    - Self::as_ref
    - get_hash_size
    - append_message
    - BytesMutStrubbed::unwrap
    - '&[u8]::len'
    - ManagedBufferL1L2::default
    - common::util::get_rsp_cert_chain_buff
    - get_signing_prefix_context
    - SpdmDer::SpdmDerCertChain
    - copy_from_slice
    - as_ref
    linkageType: ''
    returnType: void
    signature: fn test_case3_send_receive_spdm_measurement()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/heartbeat_req.rs:20,1
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/heartbeat_req.rs:21,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/heartbeat_req.rs:23,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/heartbeat_req.rs:24,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/heartbeat_req.rs:24,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/heartbeat_req.rs:24,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/heartbeat_req.rs:24,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/heartbeat_req.rs:27,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/heartbeat_req.rs:27,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/heartbeat_req.rs:29,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/heartbeat_req.rs:29,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/heartbeat_req.rs:30,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/heartbeat_req.rs:30,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/heartbeat_req.rs:32,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/heartbeat_req.rs:42,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/heartbeat_req.rs:42,1
    - Dst: setup
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/heartbeat_req.rs:43,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/heartbeat_req.rs:43,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/heartbeat_req.rs:44,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/heartbeat_req.rs:47,1
    - Dst: set_session_state
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/heartbeat_req.rs:78,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/heartbeat_req.rs:80,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/heartbeat_req.rs:80,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/heartbeat_req.rs:81,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/heartbeat_req.rs:82,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/heartbeat_req.rs:82,1
    - Dst: FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/heartbeat_req.rs:82,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/heartbeat_req.rs:83,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/heartbeat_req.rs:84,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/heartbeat_req.rs:84,1
    - Dst: RequesterContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/heartbeat_req.rs:87,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/heartbeat_req.rs:97,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/heartbeat_req.rs:97,1
    - Dst: setup
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/heartbeat_req.rs:98,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/heartbeat_req.rs:98,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/heartbeat_req.rs:99,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/heartbeat_req.rs:102,1
    - Dst: set_session_state
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/heartbeat_req.rs:133,1
    - Dst: Self::send_receive_spdm_heartbeat
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/heartbeat_req.rs:135,1
    - Dst: is_ok
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/heartbeat_req.rs:135,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/heartbeat_req.rs:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 116
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 18
    functionDepth: 5
    functionLinenumber: 18
    functionLinenumberEnd: 142
    functionName: test_case0_send_receive_spdm_heartbeat
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/requester_tests/heartbeat_req.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - RequesterContext::new
    - SpdmSession::new
    - unwrap
    - secret::pqc_asym_sign::register
    - gen_array_clone
    - FakeSpdmDeviceIo::new
    - is_ok
    - set_session_state
    - SpdmKemAlgo::empty
    - Mutex::new
    - Self::send_receive_spdm_heartbeat
    - FakeSpdmDeviceIoReceve::new
    - clone
    - executor::block_on
    - setup
    - secret::asym_sign::register
    - common::util::create_info
    - set_crypto_param
    linkageType: ''
    returnType: void
    signature: fn test_case0_send_receive_spdm_heartbeat()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:21,1
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:22,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:24,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:25,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:25,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:25,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:25,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:28,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:28,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:30,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:30,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:31,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:31,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:33,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:39,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:44,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:44,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:45,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:46,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:46,1
    - Dst: FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:46,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:47,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:48,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:48,1
    - Dst: RequesterContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:51,1
    - Dst: reset_runtime_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:58,1
    - Dst: Self::send_receive_spdm_capability
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:66,1
    - Dst: is_ok
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:66,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 19
    functionDepth: 7
    functionLinenumber: 19
    functionLinenumberEnd: 70
    functionName: test_case0_send_receive_spdm_capability
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - FakeSpdmDeviceIoReceve::new
    - secret::asym_sign::register
    - clone
    - RequesterContext::new
    - set_connection_state
    - common::util::create_info
    - reset_runtime_info
    - executor::block_on
    - secret::pqc_asym_sign::register
    - Self::send_receive_spdm_capability
    - FakeSpdmDeviceIo::new
    - is_ok
    - Mutex::new
    linkageType: ''
    returnType: void
    signature: fn test_case0_send_receive_spdm_capability()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:79,1
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:80,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:84,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:85,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:85,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:85,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:85,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:88,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:88,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:90,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:90,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:91,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:91,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:93,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:99,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:106,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:106,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:107,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:110,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:110,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:111,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:111,1
    - Dst: FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:111,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:112,1
    - Dst: ResponderContext::clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:113,1
    - Dst: RequesterContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:116,1
    - Dst: reset_runtime_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:123,1
    - Dst: Self::get_peer_supported_algorithms
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:137,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:137,1
    - Dst: as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:174,1
    - Dst: to_vec
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:174,1
    - Dst: ResponderContext::lock
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:175,1
    - Dst: as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:175,1
    - Dst: to_vec
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:175,1
    - Dst: SpdmSupportedAlgorithmsBlock::clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:190,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:192,1
    - Dst: SpdmSupportedAlgorithmsBlock::spdm_encode
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:193,1
    - Dst: Result::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:193,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 106
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 77
    functionDepth: 9
    functionLinenumber: 77
    functionLinenumberEnd: 203
    functionName: test_case1_send_receive_spdm_capability_supported_algorithms
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - RequesterContext::new
    - to_vec
    - secret::pqc_asym_sign::register
    - ResponderContext::clone
    - Writer::init
    - FakeSpdmDeviceIo::new
    - Result::expect
    - Mutex::new
    - FakeSpdmDeviceIoReceve::new
    - clone
    - executor::block_on
    - reset_runtime_info
    - set_connection_state
    - SpdmSupportedAlgorithmsBlock::spdm_encode
    - secret::asym_sign::register
    - common::util::create_info
    - SpdmSupportedAlgorithmsBlock::clone
    - Option::expect
    - Self::get_peer_supported_algorithms
    - as_ref
    - ResponderContext::lock
    linkageType: ''
    returnType: void
    signature: fn test_case1_send_receive_spdm_capability_supported_algorithms()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:214,1
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:215,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:220,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:221,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:221,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:221,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:221,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:224,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:224,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:226,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:226,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:227,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:227,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:229,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:235,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:241,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:241,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:242,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:243,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:243,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:244,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:244,1
    - Dst: FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:244,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:245,1
    - Dst: ResponderContext::clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:246,1
    - Dst: RequesterContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:249,1
    - Dst: reset_runtime_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:256,1
    - Dst: Self::get_peer_supported_algorithms
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:265,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:265,1
    - Dst: as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:276,1
    - Dst: to_vec
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:276,1
    - Dst: ResponderContext::lock
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:277,1
    - Dst: as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:277,1
    - Dst: to_vec
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:277,1
    - Dst: SpdmSupportedAlgorithmsBlock::clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:289,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:291,1
    - Dst: SpdmSupportedAlgorithmsBlock::spdm_encode
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:292,1
    - Dst: Result::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:292,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 101
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 302
      start: 212
    functionDepth: 9
    functionLinenumber: 212
    functionLinenumberEnd: 302
    functionName: test_case2_send_receive_spdm_capability_supported_algorithms_chunked
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - RequesterContext::new
    - to_vec
    - secret::pqc_asym_sign::register
    - ResponderContext::clone
    - Writer::init
    - FakeSpdmDeviceIo::new
    - Result::expect
    - Mutex::new
    - FakeSpdmDeviceIoReceve::new
    - clone
    - executor::block_on
    - reset_runtime_info
    - set_connection_state
    - SpdmSupportedAlgorithmsBlock::spdm_encode
    - secret::asym_sign::register
    - common::util::create_info
    - SpdmSupportedAlgorithmsBlock::clone
    - Option::expect
    - Self::get_peer_supported_algorithms
    - as_ref
    - ResponderContext::lock
    linkageType: ''
    returnType: void
    signature: fn test_case2_send_receive_spdm_capability_supported_algorithms_chunked()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:311,1
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:312,1
    - Dst: remove
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:315,1
    - Dst: remove
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:318,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:324,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:325,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:325,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:325,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:325,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:328,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:328,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:330,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:330,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:331,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:331,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:333,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:339,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:345,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:345,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:346,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:347,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:347,1
    - Dst: FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:347,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:348,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:349,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:349,1
    - Dst: RequesterContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:352,1
    - Dst: reset_runtime_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:359,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 367
      start: 309
    functionDepth: 7
    functionLinenumber: 309
    functionLinenumberEnd: 367
    functionName: test_case3_send_receive_spdm_capability_supported_algorithms_no_chunk
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - FakeSpdmDeviceIoReceve::new
    - secret::asym_sign::register
    - clone
    - RequesterContext::new
    - set_connection_state
    - common::util::create_info
    - reset_runtime_info
    - executor::block_on
    - secret::pqc_asym_sign::register
    - FakeSpdmDeviceIo::new
    - remove
    - Mutex::new
    linkageType: ''
    returnType: void
    signature: fn test_case3_send_receive_spdm_capability_supported_algorithms_no_chunk()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:378,1
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:379,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:387,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:388,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:388,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:388,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:388,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:391,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:391,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:393,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:393,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:394,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:394,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:396,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:402,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:408,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:408,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:409,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:410,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:410,1
    - Dst: FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:410,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:411,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:412,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:412,1
    - Dst: RequesterContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:415,1
    - Dst: reset_runtime_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:422,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs:431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 432
      start: 376
    functionDepth: 7
    functionLinenumber: 376
    functionLinenumberEnd: 432
    functionName: test_case4_send_receive_spdm_capability_supported_algorithms_exceed_max_msg_size
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - FakeSpdmDeviceIoReceve::new
    - secret::asym_sign::register
    - clone
    - RequesterContext::new
    - set_connection_state
    - common::util::create_info
    - reset_runtime_info
    - executor::block_on
    - secret::pqc_asym_sign::register
    - FakeSpdmDeviceIo::new
    - Mutex::new
    linkageType: ''
    returnType: void
    signature: fn test_case4_send_receive_spdm_capability_supported_algorithms_exceed_max_msg_size()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_version_req.rs:18,1
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_version_req.rs:19,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_version_req.rs:21,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_version_req.rs:22,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_version_req.rs:22,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_version_req.rs:22,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_version_req.rs:22,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_version_req.rs:25,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_version_req.rs:25,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_version_req.rs:27,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_version_req.rs:27,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_version_req.rs:28,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_version_req.rs:28,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_version_req.rs:30,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_version_req.rs:37,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_version_req.rs:37,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_version_req.rs:38,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_version_req.rs:39,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_version_req.rs:39,1
    - Dst: FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_version_req.rs:39,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_version_req.rs:40,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_version_req.rs:41,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_version_req.rs:41,1
    - Dst: RequesterContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_version_req.rs:44,1
    - Dst: Self::send_receive_spdm_version
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_version_req.rs:51,1
    - Dst: is_ok
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_version_req.rs:51,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_version_req.rs:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 16
    functionDepth: 7
    functionLinenumber: 16
    functionLinenumberEnd: 55
    functionName: test_case0_send_receive_spdm_version
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_version_req.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - FakeSpdmDeviceIoReceve::new
    - secret::asym_sign::register
    - clone
    - RequesterContext::new
    - executor::block_on
    - common::util::create_info
    - secret::pqc_asym_sign::register
    - Self::send_receive_spdm_version
    - FakeSpdmDeviceIo::new
    - is_ok
    - Mutex::new
    linkageType: ''
    returnType: void
    signature: fn test_case0_send_receive_spdm_version()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: watchdog_impl_sample::init_watchdog
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:23,1
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:25,1
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:26,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:28,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:29,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:29,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:29,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:29,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:32,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:32,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:34,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:34,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:35,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:35,1
    - Dst: secret::measurement::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:36,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:36,1
    - Dst: secret::psk::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:37,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:37,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:39,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:46,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:46,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:47,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:48,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:48,1
    - Dst: FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:48,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:49,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:50,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:50,1
    - Dst: RequesterContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:53,1
    - Dst: Self::init_connection
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:61,1
    - Dst: is_ok
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:61,1
    - Dst: Self::send_receive_spdm_digest
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:64,1
    - Dst: is_ok
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:64,1
    - Dst: Self::send_receive_spdm_certificate
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:67,1
    - Dst: is_ok
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:67,1
    - Dst: Self::start_session
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:79,1
    - Dst: Self::start_session
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:88,1
    - Dst: Self::start_session
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:97,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:106,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 79
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 22
    functionDepth: 17
    functionLinenumber: 22
    functionLinenumberEnd: 107
    functionName: test_case0_start_session
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - Self::init_connection
    - RequesterContext::new
    - secret::pqc_asym_sign::register
    - FakeSpdmDeviceIo::new
    - is_ok
    - Mutex::new
    - FakeSpdmDeviceIoReceve::new
    - clone
    - secret::measurement::register
    - executor::block_on
    - watchdog_impl_sample::init_watchdog
    - secret::asym_sign::register
    - common::util::create_info
    - Self::send_receive_spdm_digest
    - Self::send_receive_spdm_certificate
    - Self::start_session
    - secret::psk::register
    linkageType: ''
    returnType: void
    signature: fn test_case0_start_session()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: watchdog_impl_sample::init_watchdog
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:112,1
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:113,1
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:114,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:116,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:117,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:117,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:117,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:117,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:120,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:120,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:122,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:122,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:123,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:123,1
    - Dst: secret::measurement::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:124,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:124,1
    - Dst: secret::psk::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:125,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:125,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:127,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:134,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:134,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:135,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:136,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:136,1
    - Dst: FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:136,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:137,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:138,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:138,1
    - Dst: RequesterContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:141,1
    - Dst: Self::init_connection
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:149,1
    - Dst: is_ok
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:149,1
    - Dst: Self::send_receive_spdm_digest
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:152,1
    - Dst: is_ok
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:152,1
    - Dst: Self::send_receive_spdm_certificate
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:155,1
    - Dst: is_ok
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:155,1
    - Dst: Self::start_session
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:167,1
    - Dst: Self::start_session
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:176,1
    - Dst: Self::start_session
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:185,1
    - Dst: Self::start_session
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:194,1
    - Dst: Self::end_session
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:203,1
    - Dst: Self::start_session
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:206,1
    - Dst: Self::start_session
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:215,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:224,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 95
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 110
    functionDepth: 17
    functionLinenumber: 110
    functionLinenumberEnd: 225
    functionName: test_case0_get_next_half_session
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - Self::init_connection
    - RequesterContext::new
    - secret::pqc_asym_sign::register
    - FakeSpdmDeviceIo::new
    - is_ok
    - Mutex::new
    - FakeSpdmDeviceIoReceve::new
    - clone
    - secret::measurement::register
    - executor::block_on
    - Self::end_session
    - watchdog_impl_sample::init_watchdog
    - secret::asym_sign::register
    - common::util::create_info
    - Self::send_receive_spdm_digest
    - Self::send_receive_spdm_certificate
    - Self::start_session
    - secret::psk::register
    linkageType: ''
    returnType: void
    signature: fn test_case0_get_next_half_session()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: watchdog_impl_sample::init_watchdog
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:230,1
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:231,1
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:232,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:234,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:235,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:235,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:235,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:235,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:238,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:238,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:240,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:240,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:241,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:241,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:243,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:253,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:253,1
    - Dst: setup
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:254,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:254,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:255,1
    - Dst: protocol::SpdmKemAlgo::empty
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:258,1
    - Dst: set_session_state
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:289,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:292,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:292,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:293,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:294,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:294,1
    - Dst: FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:294,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:295,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:296,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:296,1
    - Dst: RequesterContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:299,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:309,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:309,1
    - Dst: setup
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:310,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:310,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:311,1
    - Dst: protocol::SpdmKemAlgo::empty
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:314,1
    - Dst: set_session_state
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:345,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:348,1
    - Dst: SpdmMessagePayload::SpdmEndSessionRequest
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:355,1
    - Dst: SpdmEndSessionRequestAttributes::empty
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:356,1
    - Dst: Writer::used
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:362,1
    - Dst: Self::send_message
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:364,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:365,1
    - Dst: is_ok
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:364,1
    - Dst: Self::receive_message
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:372,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:373,1
    - Dst: is_ok
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:372,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs:378,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 142
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 379
      start: 228
    functionDepth: 11
    functionLinenumber: 228
    functionLinenumberEnd: 379
    functionName: test_case0_receive_secured_message
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - RequesterContext::new
    - SpdmSession::new
    - unwrap
    - Writer::used
    - secret::pqc_asym_sign::register
    - protocol::SpdmKemAlgo::empty
    - Writer::init
    - gen_array_clone
    - FakeSpdmDeviceIo::new
    - is_ok
    - Self::receive_message
    - set_session_state
    - Mutex::new
    - FakeSpdmDeviceIoReceve::new
    - clone
    - executor::block_on
    - SpdmMessagePayload::SpdmEndSessionRequest
    - SpdmEndSessionRequestAttributes::empty
    - setup
    - watchdog_impl_sample::init_watchdog
    - Some
    - secret::asym_sign::register
    - common::util::create_info
    - set_crypto_param
    - Self::send_message
    linkageType: ''
    returnType: void
    signature: fn test_case0_receive_secured_message()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_digest.rs:20,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_digest.rs:21,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_digest.rs:21,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_digest.rs:22,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_digest.rs:23,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_digest.rs:23,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_digest.rs:23,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_digest.rs:23,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_digest.rs:27,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_digest.rs:27,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_digest.rs:28,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_digest.rs:28,1
    - Dst: requester::RequesterContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_digest.rs:30,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_digest.rs:37,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_digest.rs:54,1
    - Dst: SpdmMessagePayload::SpdmGetDigestsRequest
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_digest.rs:60,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_digest.rs:67,1
    - Dst: bool::encap_handle_get_digest
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_digest.rs:69,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_digest.rs:70,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_digest.rs:71,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_digest.rs:71,1
    - Dst: SpdmDigestsResponsePayload::spdm_read
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_digest.rs:73,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_digest.rs:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 19
    functionDepth: 11
    functionLinenumber: 19
    functionLinenumberEnd: 81
    functionName: test_encap_handle_get_digest
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_digest.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - SpdmMessagePayload::SpdmGetDigestsRequest
    - FakeSpdmDeviceIoReceve::new
    - secret::asym_sign::register
    - clone
    - requester::RequesterContext::new
    - common::util::create_info
    - SpdmMessageHeader::read
    - Option::unwrap
    - secret::pqc_asym_sign::register
    - Writer::init
    - SpdmDigestsResponsePayload::spdm_read
    - Reader::init
    - bool::encap_handle_get_digest
    - Mutex::new
    - Some
    linkageType: ''
    returnType: void
    signature: fn test_encap_handle_get_digest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '{

        crate::common::crypto_callback::FAKE_RAND,

        crate::common::device_io::SharedBuffer},

        crate::common::secret_callback::*,

        crate::common::transport::PciDoeTransportEncap,

        crate::common::util::create_info'
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/challenge_req.rs:25,1
    - Dst: '{

        crate::common::crypto_callback::FAKE_RAND,

        crate::common::device_io::SharedBuffer},

        crate::common::secret_callback::*,

        crate::common::transport::PciDoeTransportEncap,

        crate::common::util::create_info'
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/challenge_req.rs:26,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/challenge_req.rs:28,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/challenge_req.rs:29,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/challenge_req.rs:29,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/challenge_req.rs:29,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/challenge_req.rs:29,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/challenge_req.rs:34,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/challenge_req.rs:34,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/challenge_req.rs:36,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/challenge_req.rs:36,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/challenge_req.rs:37,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/challenge_req.rs:37,1
    - Dst: crypto::rand::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/challenge_req.rs:38,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/challenge_req.rs:38,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/challenge_req.rs:40,1
    - Dst: reset_runtime_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/challenge_req.rs:47,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/challenge_req.rs:49,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/challenge_req.rs:75,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/challenge_req.rs:81,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/challenge_req.rs:81,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/challenge_req.rs:82,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/challenge_req.rs:82,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/challenge_req.rs:83,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/challenge_req.rs:84,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/challenge_req.rs:84,1
    - Dst: FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/challenge_req.rs:84,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/challenge_req.rs:85,1
    - Dst: RequesterContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/challenge_req.rs:89,1
    - Dst: reset_runtime_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/challenge_req.rs:95,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/challenge_req.rs:107,1
    - Dst: get_rsp_cert_chain_buff
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/challenge_req.rs:107,1
    - Dst: Self::send_receive_spdm_challenge
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/challenge_req.rs:119,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/challenge_req.rs:123,1
    - Dst: SpdmChallengeContextStruct::default
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/challenge_req.rs:123,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/challenge_req.rs:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 150
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 24
    functionDepth: 9
    functionLinenumber: 24
    functionLinenumberEnd: 129
    functionName: test_case0_send_receive_spdm_challenge
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/requester_tests/challenge_req.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - RequesterContext::new
    - FakeSpdmDeviceIo::new
    - SpdmChallengeContextStruct::default
    - Mutex::new
    - FakeSpdmDeviceIoReceve::new
    - clone
    - executor::block_on
    - reset_runtime_info
    - set_connection_state
    - Self::send_receive_spdm_challenge
    - spdmlib::secret::pqc_asym_sign::register
    - Some
    - get_rsp_cert_chain_buff
    - secret::asym_sign::register
    - '{

      crate::common::crypto_callback::FAKE_RAND,

      crate::common::device_io::SharedBuffer},

      crate::common::secret_callback::*,

      crate::common::transport::PciDoeTransportEncap,

      crate::common::util::create_info'
    - crypto::rand::register
    linkageType: ''
    returnType: void
    signature: fn test_case0_send_receive_spdm_challenge()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:27,1
    - Dst: create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:28,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:30,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:31,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:31,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:31,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:31,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:34,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:34,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:36,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:36,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:37,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:37,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:39,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:46,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:73,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:78,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:78,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:79,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:80,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:80,1
    - Dst: FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:80,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:81,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:82,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:82,1
    - Dst: RequesterContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:85,1
    - Dst: Self::send_receive_spdm_digest
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:106,1
    - Dst: is_ok
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:106,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 116
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 25
    functionDepth: 6
    functionLinenumber: 25
    functionLinenumberEnd: 110
    functionName: test_case0_send_receive_spdm_digest
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - FakeSpdmDeviceIoReceve::new
    - secret::asym_sign::register
    - clone
    - RequesterContext::new
    - set_connection_state
    - Self::send_receive_spdm_digest
    - executor::block_on
    - create_info
    - secret::pqc_asym_sign::register
    - FakeSpdmDeviceIo::new
    - is_ok
    - Mutex::new
    - Some
    linkageType: ''
    returnType: void
    signature: fn test_case0_send_receive_spdm_digest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:115,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:115,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:116,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:116,1
    - Dst: executor::add_task
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:118,1
    - Dst: create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:119,1
    - Dst: create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:120,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:121,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:122,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:122,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:122,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:122,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:125,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:125,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:126,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:133,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:147,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:147,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:148,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:149,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:149,1
    - Dst: FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:149,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:150,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:151,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:151,1
    - Dst: RequesterContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:154,1
    - Dst: Self::send_receive_spdm_digest
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:161,1
    - Dst: executor::add_task
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:169,1
    - Dst: create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:170,1
    - Dst: create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:171,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:172,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:173,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:173,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:173,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:173,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:176,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:176,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:177,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:184,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:198,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:198,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:199,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:200,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:200,1
    - Dst: FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:200,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:201,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:202,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:202,1
    - Dst: RequesterContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:205,1
    - Dst: Self::send_receive_spdm_certificate
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:212,1
    - Dst: executor::add_task
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:220,1
    - Dst: create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:221,1
    - Dst: create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:222,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:223,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:224,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:224,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:224,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:224,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:227,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:227,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:228,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:235,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:249,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:249,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:250,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:251,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:251,1
    - Dst: FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:251,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:252,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:253,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:253,1
    - Dst: RequesterContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:256,1
    - Dst: Self::send_receive_spdm_challenge
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:263,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:267,1
    - Dst: SpdmChallengeContextStruct::default
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:267,1
    - Dst: executor::add_task
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:277,1
    - Dst: create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:278,1
    - Dst: create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:279,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:280,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:281,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:281,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:281,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:281,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:284,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:284,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:285,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:292,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:306,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:306,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:307,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:308,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:308,1
    - Dst: FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:308,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:309,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:310,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:310,1
    - Dst: RequesterContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:313,1
    - Dst: SpdmMeasurementRecordStructure::default
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:322,1
    - Dst: Self::send_receive_spdm_measurement
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:326,1
    - Dst: executor::poll_tasks
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs:346,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 209
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 347
      start: 114
    functionDepth: 9
    functionLinenumber: 114
    functionLinenumberEnd: 347
    functionName: issue_other_request_before_vca_negotiated
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - RequesterContext::new
    - secret::pqc_asym_sign::register
    - FakeSpdmDeviceIo::new
    - SpdmChallengeContextStruct::default
    - Mutex::new
    - SpdmMeasurementRecordStructure::default
    - clone
    - FakeSpdmDeviceIoReceve::new
    - create_info
    - Self::send_receive_spdm_challenge
    - executor::add_task
    - executor::poll_tasks
    - Some
    - secret::asym_sign::register
    - Self::send_receive_spdm_measurement
    - Self::send_receive_spdm_digest
    - Self::send_receive_spdm_certificate
    linkageType: ''
    returnType: void
    signature: fn issue_other_request_before_vca_negotiated()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/end_session_req.rs:20,1
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/end_session_req.rs:21,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/end_session_req.rs:23,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/end_session_req.rs:23,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/end_session_req.rs:24,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/end_session_req.rs:25,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/end_session_req.rs:25,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/end_session_req.rs:25,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/end_session_req.rs:25,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/end_session_req.rs:29,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/end_session_req.rs:29,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/end_session_req.rs:30,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/end_session_req.rs:30,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/end_session_req.rs:32,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/end_session_req.rs:42,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/end_session_req.rs:42,1
    - Dst: setup
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/end_session_req.rs:43,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/end_session_req.rs:43,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/end_session_req.rs:44,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/end_session_req.rs:47,1
    - Dst: set_session_state
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/end_session_req.rs:78,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/end_session_req.rs:81,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/end_session_req.rs:81,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/end_session_req.rs:82,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/end_session_req.rs:83,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/end_session_req.rs:83,1
    - Dst: FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/end_session_req.rs:83,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/end_session_req.rs:84,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/end_session_req.rs:85,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/end_session_req.rs:85,1
    - Dst: RequesterContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/end_session_req.rs:88,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/end_session_req.rs:98,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/end_session_req.rs:98,1
    - Dst: setup
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/end_session_req.rs:99,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/end_session_req.rs:99,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/end_session_req.rs:100,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/end_session_req.rs:103,1
    - Dst: set_session_state
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/end_session_req.rs:134,1
    - Dst: Self::end_session
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/end_session_req.rs:137,1
    - Dst: is_ok
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/end_session_req.rs:137,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/end_session_req.rs:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 116
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 18
    functionDepth: 5
    functionLinenumber: 18
    functionLinenumberEnd: 141
    functionName: test_case0_send_receive_spdm_end_session
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/requester_tests/end_session_req.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - RequesterContext::new
    - SpdmSession::new
    - unwrap
    - secret::pqc_asym_sign::register
    - gen_array_clone
    - FakeSpdmDeviceIo::new
    - is_ok
    - set_session_state
    - SpdmKemAlgo::empty
    - Mutex::new
    - FakeSpdmDeviceIoReceve::new
    - clone
    - executor::block_on
    - Self::end_session
    - setup
    - secret::asym_sign::register
    - common::util::create_info
    - set_crypto_param
    linkageType: ''
    returnType: void
    signature: fn test_case0_send_receive_spdm_end_session()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:21,1
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:22,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:24,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:25,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:25,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:25,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:25,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:28,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:28,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:30,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:30,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:31,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:31,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:33,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:43,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:43,1
    - Dst: setup
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:44,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:44,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:45,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:48,1
    - Dst: set_session_state
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:52,1
    - Dst: Box::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:55,1
    - Dst: set_shared_secret
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:57,1
    - Dst: generate_handshake_secret
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:59,1
    - Dst: Box::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:63,1
    - Dst: generate_data_secret
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:66,1
    - Dst: Box::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:70,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:73,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:73,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:74,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:75,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:75,1
    - Dst: FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:75,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:76,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:77,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:77,1
    - Dst: RequesterContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:80,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:90,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:90,1
    - Dst: setup
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:91,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:91,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:92,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:95,1
    - Dst: set_session_state
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:99,1
    - Dst: Box::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:102,1
    - Dst: set_shared_secret
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:104,1
    - Dst: generate_handshake_secret
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:106,1
    - Dst: Box::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:110,1
    - Dst: generate_data_secret
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:113,1
    - Dst: Box::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:117,1
    - Dst: Self::send_receive_spdm_key_update
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:121,1
    - Dst: is_ok
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:121,1
    - Dst: SpdmKeyUpdateOperation::Unknown
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:127,1
    - Dst: Self::send_receive_spdm_key_update
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:128,1
    - Dst: is_err
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:128,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 169
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 19
    functionDepth: 10
    functionLinenumber: 19
    functionLinenumberEnd: 135
    functionName: test_case0_send_receive_spdm_key_update
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - generate_handshake_secret
    - RequesterContext::new
    - SpdmSession::new
    - unwrap
    - secret::pqc_asym_sign::register
    - gen_array_clone
    - FakeSpdmDeviceIo::new
    - set_shared_secret
    - is_ok
    - set_session_state
    - SpdmKemAlgo::empty
    - Mutex::new
    - FakeSpdmDeviceIoReceve::new
    - clone
    - executor::block_on
    - Self::send_receive_spdm_key_update
    - is_err
    - setup
    - generate_data_secret
    - secret::asym_sign::register
    - common::util::create_info
    - set_crypto_param
    - SpdmKeyUpdateOperation::Unknown
    - Box::new
    linkageType: ''
    returnType: void
    signature: fn test_case0_send_receive_spdm_key_update()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:25,1
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:26,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:28,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:29,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:29,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:29,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:29,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:32,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:32,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:34,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:34,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:35,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:35,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:37,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:43,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:48,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:48,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:49,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:50,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:50,1
    - Dst: FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:50,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:51,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:52,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:52,1
    - Dst: RequesterContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:55,1
    - Dst: Self::send_receive_spdm_algorithm
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:62,1
    - Dst: is_ok
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:62,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 23
    functionDepth: 7
    functionLinenumber: 23
    functionLinenumberEnd: 66
    functionName: test_case0_send_receive_spdm_algorithm
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - FakeSpdmDeviceIoReceve::new
    - secret::asym_sign::register
    - clone
    - RequesterContext::new
    - set_connection_state
    - common::util::create_info
    - executor::block_on
    - secret::pqc_asym_sign::register
    - Self::send_receive_spdm_algorithm
    - FakeSpdmDeviceIo::new
    - is_ok
    - Mutex::new
    linkageType: ''
    returnType: void
    signature: fn test_case0_send_receive_spdm_algorithm()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:71,1
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:72,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:74,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:75,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:75,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:75,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:75,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:78,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:78,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:80,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:80,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:81,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:81,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:83,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:89,1
    - Dst: insert
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:95,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:113,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:113,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:114,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:115,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:115,1
    - Dst: FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:115,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:116,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:117,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:117,1
    - Dst: RequesterContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:120,1
    - Dst: insert
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:128,1
    - Dst: insert
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:133,1
    - Dst: Self::send_receive_spdm_algorithm
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:151,1
    - Dst: is_ok
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:151,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 116
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 69
    functionDepth: 7
    functionLinenumber: 69
    functionLinenumberEnd: 161
    functionName: test_case1_send_receive_spdm_algorithm
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - insert
    - FakeSpdmDeviceIoReceve::new
    - secret::asym_sign::register
    - clone
    - RequesterContext::new
    - set_connection_state
    - common::util::create_info
    - executor::block_on
    - secret::pqc_asym_sign::register
    - Self::send_receive_spdm_algorithm
    - FakeSpdmDeviceIo::new
    - is_ok
    - Mutex::new
    linkageType: ''
    returnType: void
    signature: fn test_case1_send_receive_spdm_algorithm()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:166,1
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:167,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:169,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:170,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:170,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:170,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:170,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:173,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:173,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:175,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:175,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:176,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:176,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:178,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:184,1
    - Dst: insert
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:190,1
    - Dst: remove
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:195,1
    - Dst: remove
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:200,1
    - Dst: insert
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:205,1
    - Dst: remove
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:210,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:228,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:228,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:229,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:230,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:230,1
    - Dst: FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:230,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:231,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:232,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:232,1
    - Dst: RequesterContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:235,1
    - Dst: insert
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:243,1
    - Dst: remove
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:248,1
    - Dst: remove
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:253,1
    - Dst: insert
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:258,1
    - Dst: Self::send_receive_spdm_algorithm
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:276,1
    - Dst: is_ok
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:276,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs:285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 152
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 164
    functionDepth: 7
    functionLinenumber: 164
    functionLinenumberEnd: 286
    functionName: test_case2_send_receive_spdm_algorithm
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - insert
    - FakeSpdmDeviceIoReceve::new
    - secret::asym_sign::register
    - clone
    - RequesterContext::new
    - set_connection_state
    - common::util::create_info
    - executor::block_on
    - secret::pqc_asym_sign::register
    - Self::send_receive_spdm_algorithm
    - FakeSpdmDeviceIo::new
    - is_ok
    - remove
    - Mutex::new
    linkageType: ''
    returnType: void
    signature: fn test_case2_send_receive_spdm_algorithm()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '{

        crate::common::device_io::SharedBuffer},

        crate::common::secret_callback::*,

        crate::common::transport::PciDoeTransportEncap,

        crate::common::util::create_info'
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:28,1
    - Dst: '{

        crate::common::device_io::SharedBuffer},

        crate::common::secret_callback::*,

        crate::common::transport::PciDoeTransportEncap,

        crate::common::util::create_info'
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:29,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:31,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:32,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:32,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:32,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:32,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:36,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:36,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:38,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:38,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:39,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:39,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:41,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:61,1
    - Dst: get_rsp_cert_chain_buff
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:61,1
    - Dst: reset_runtime_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:71,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:84,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:90,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:90,1
    - Dst: setup
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:91,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:91,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:92,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:95,1
    - Dst: set_session_state
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:99,1
    - Dst: set_last_session_id
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:100,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:103,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:104,1
    - Dst: crypto::hash::hash_ctx_init
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:105,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:105,1
    - Dst: Box::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:110,1
    - Dst: set_shared_secret
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:112,1
    - Dst: generate_handshake_secret
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:114,1
    - Dst: Box::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:118,1
    - Dst: generate_data_secret
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:121,1
    - Dst: Box::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:125,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:129,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:129,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:130,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:131,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:131,1
    - Dst: FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:131,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:132,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:133,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:133,1
    - Dst: RequesterContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:136,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:168,1
    - Dst: get_rsp_cert_chain_buff
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:168,1
    - Dst: reset_runtime_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:170,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:172,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:172,1
    - Dst: setup
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:173,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:173,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:174,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:177,1
    - Dst: set_session_state
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:181,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:182,1
    - Dst: crypto::hash::hash_ctx_init
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:183,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:183,1
    - Dst: Box::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:188,1
    - Dst: set_shared_secret
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:190,1
    - Dst: generate_handshake_secret
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:192,1
    - Dst: Box::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:196,1
    - Dst: generate_data_secret
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:199,1
    - Dst: Box::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:203,1
    - Dst: Self::send_receive_spdm_finish
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:206,1
    - Dst: is_ok
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:206,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 319
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 26
    functionDepth: 11
    functionLinenumber: 26
    functionLinenumberEnd: 213
    functionName: test_case0_send_receive_spdm_finish
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - generate_handshake_secret
    - Self::send_receive_spdm_finish
    - RequesterContext::new
    - SpdmSession::new
    - unwrap
    - Option::unwrap
    - secret::pqc_asym_sign::register
    - gen_array_clone
    - FakeSpdmDeviceIo::new
    - set_shared_secret
    - is_ok
    - SpdmKemAlgo::empty
    - Mutex::new
    - set_session_state
    - FakeSpdmDeviceIoReceve::new
    - clone
    - executor::block_on
    - reset_runtime_info
    - set_connection_state
    - '{

      crate::common::device_io::SharedBuffer},

      crate::common::secret_callback::*,

      crate::common::transport::PciDoeTransportEncap,

      crate::common::util::create_info'
    - setup
    - Some
    - get_rsp_cert_chain_buff
    - set_last_session_id
    - generate_data_secret
    - secret::asym_sign::register
    - set_crypto_param
    - Box::new
    - crypto::hash::hash_ctx_init
    linkageType: ''
    returnType: void
    signature: fn test_case0_send_receive_spdm_finish()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '{

        crate::common::device_io::SharedBuffer},

        crate::common::secret_callback::*,

        crate::common::transport::PciDoeTransportEncap,

        crate::common::util::create_info'
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:219,1
    - Dst: '{

        crate::common::device_io::SharedBuffer},

        crate::common::secret_callback::*,

        crate::common::transport::PciDoeTransportEncap,

        crate::common::util::create_info'
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:220,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:222,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:223,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:223,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:223,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:223,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:227,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:227,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:229,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:229,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:230,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:230,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:232,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:252,1
    - Dst: get_rsp_cert_chain_buff
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:252,1
    - Dst: reset_runtime_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:262,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:264,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:264,1
    - Dst: setup
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:265,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:265,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:266,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:269,1
    - Dst: set_session_state
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:273,1
    - Dst: set_last_session_id
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:274,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:277,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:278,1
    - Dst: crypto::hash::hash_ctx_init
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:279,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:279,1
    - Dst: Box::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:285,1
    - Dst: set_shared_secret
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:287,1
    - Dst: generate_handshake_secret
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:289,1
    - Dst: Box::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:293,1
    - Dst: generate_data_secret
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:296,1
    - Dst: Box::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:300,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:304,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:304,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:305,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:306,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:306,1
    - Dst: FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:306,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:307,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:308,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:308,1
    - Dst: RequesterContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:311,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:330,1
    - Dst: get_rsp_cert_chain_buff
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:330,1
    - Dst: reset_runtime_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:332,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:334,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:334,1
    - Dst: setup
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:335,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:335,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:336,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:339,1
    - Dst: set_session_state
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:343,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:344,1
    - Dst: crypto::hash::hash_ctx_init
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:345,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:345,1
    - Dst: Box::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:350,1
    - Dst: set_shared_secret
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:352,1
    - Dst: generate_handshake_secret
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:354,1
    - Dst: Box::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:358,1
    - Dst: generate_data_secret
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:361,1
    - Dst: Box::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:365,1
    - Dst: Self::send_receive_spdm_finish
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:368,1
    - Dst: is_ok
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:368,1
    - Dst: iter
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:374,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs:381,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 269
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 382
      start: 217
    functionDepth: 11
    functionLinenumber: 217
    functionLinenumberEnd: 382
    functionName: test_case1_send_receive_spdm_finish
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - generate_handshake_secret
    - Self::send_receive_spdm_finish
    - RequesterContext::new
    - SpdmSession::new
    - unwrap
    - Option::unwrap
    - secret::pqc_asym_sign::register
    - gen_array_clone
    - FakeSpdmDeviceIo::new
    - set_shared_secret
    - is_ok
    - set_session_state
    - SpdmKemAlgo::empty
    - Mutex::new
    - FakeSpdmDeviceIoReceve::new
    - clone
    - executor::block_on
    - reset_runtime_info
    - '{

      crate::common::device_io::SharedBuffer},

      crate::common::secret_callback::*,

      crate::common::transport::PciDoeTransportEncap,

      crate::common::util::create_info'
    - setup
    - Some
    - get_rsp_cert_chain_buff
    - set_last_session_id
    - generate_data_secret
    - secret::asym_sign::register
    - set_crypto_param
    - iter
    - Box::new
    - crypto::hash::hash_ctx_init
    linkageType: ''
    returnType: void
    signature: fn test_case1_send_receive_spdm_finish()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_certificate.rs:23,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_certificate.rs:24,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_certificate.rs:24,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_certificate.rs:25,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_certificate.rs:26,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_certificate.rs:26,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_certificate.rs:26,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_certificate.rs:26,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_certificate.rs:30,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_certificate.rs:30,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_certificate.rs:31,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_certificate.rs:31,1
    - Dst: RequesterContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_certificate.rs:33,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_certificate.rs:40,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_certificate.rs:57,1
    - Dst: SpdmMessagePayload::SpdmGetCertificateRequest
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_certificate.rs:63,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_certificate.rs:74,1
    - Dst: bool::encap_handle_get_certificate
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_certificate.rs:76,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_certificate.rs:77,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_certificate.rs:78,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_certificate.rs:78,1
    - Dst: SpdmCertificateResponsePayload::spdm_read
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_certificate.rs:80,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_certificate.rs:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 22
    functionDepth: 11
    functionLinenumber: 22
    functionLinenumberEnd: 90
    functionName: test_encap_handle_get_certificate
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_certificate.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - FakeSpdmDeviceIoReceve::new
    - secret::asym_sign::register
    - clone
    - RequesterContext::new
    - bool::encap_handle_get_certificate
    - common::util::create_info
    - SpdmCertificateResponsePayload::spdm_read
    - SpdmMessageHeader::read
    - Option::unwrap
    - secret::pqc_asym_sign::register
    - Writer::init
    - Reader::init
    - SpdmMessagePayload::SpdmGetCertificateRequest
    - Mutex::new
    - Some
    linkageType: ''
    returnType: void
    signature: fn test_encap_handle_get_certificate()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/vendor_req.rs:23,1
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/vendor_req.rs:24,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/vendor_req.rs:26,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/vendor_req.rs:27,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/vendor_req.rs:27,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/vendor_req.rs:27,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/vendor_req.rs:27,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/vendor_req.rs:30,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/vendor_req.rs:30,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/vendor_req.rs:32,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/vendor_req.rs:32,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/vendor_req.rs:33,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/vendor_req.rs:33,1
    - Dst: ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/vendor_req.rs:35,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/vendor_req.rs:42,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/vendor_req.rs:42,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/vendor_req.rs:43,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/vendor_req.rs:44,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/vendor_req.rs:44,1
    - Dst: FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/vendor_req.rs:44,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/vendor_req.rs:45,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/vendor_req.rs:46,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/vendor_req.rs:46,1
    - Dst: RequesterContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/vendor_req.rs:49,1
    - Dst: Self::send_receive_spdm_vendor_defined_request
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/vendor_req.rs:67,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/vendor_req.rs:69,1
    - Dst: is_ok
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/vendor_req.rs:67,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/vendor_req.rs:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 21
    functionDepth: 16
    functionLinenumber: 21
    functionLinenumberEnd: 79
    functionName: test_case0_send_spdm_vendor_defined_request
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/requester_tests/vendor_req.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - FakeSpdmDeviceIoReceve::new
    - secret::asym_sign::register
    - clone
    - RequesterContext::new
    - Some
    - common::util::create_info
    - executor::block_on
    - secret::pqc_asym_sign::register
    - ResponderContext::new
    - FakeSpdmDeviceIo::new
    - is_ok
    - Mutex::new
    - Self::send_receive_spdm_vendor_defined_request
    linkageType: ''
    returnType: void
    signature: fn test_case0_send_spdm_vendor_defined_request()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_error.rs:19,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_error.rs:20,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_error.rs:20,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_error.rs:21,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_error.rs:22,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_error.rs:22,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_error.rs:22,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_error.rs:22,1
    - Dst: requester::RequesterContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_error.rs:26,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_error.rs:35,1
    - Dst: bool::encode_encap_error_response
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_error.rs:36,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_error.rs:38,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_error.rs:39,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_error.rs:39,1
    - Dst: SpdmErrorResponsePayload::spdm_read
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_error.rs:40,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_error.rs:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 18
    functionDepth: 11
    functionLinenumber: 18
    functionLinenumberEnd: 50
    functionName: test_encode_encap_error_response
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_error.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - FakeSpdmDeviceIoReceve::new
    - requester::RequesterContext::new
    - common::util::create_info
    - SpdmMessageHeader::read
    - Option::unwrap
    - Writer::init
    - SpdmErrorResponsePayload::spdm_read
    - bool::encode_encap_error_response
    - Reader::init
    - Mutex::new
    linkageType: ''
    returnType: void
    signature: fn test_encode_encap_error_response()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:33,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:35,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:35,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:36,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:37,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:37,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:37,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:37,1
    - Dst: setup_test_context_and_session
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:41,1
    - Dst: lock
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:57,1
    - Dst: deref_mut
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:58,1
    - Dst: receive
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:59,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:60,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:60,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:59,1
    - Dst: decode_secured_message
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:66,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:66,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:72,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:73,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:73,1
    - Dst: SpdmGetEncapsulatedRequestPayload::spdm_read
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:75,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 31
    functionDepth: 11
    functionLinenumber: 31
    functionLinenumberEnd: 84
    functionName: test_send_get_encapsulated_request
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - FakeSpdmDeviceIoReceve::new
    - executor::block_on
    - common::util::create_info
    - unwrap
    - SpdmGetEncapsulatedRequestPayload::spdm_read
    - receive
    - SpdmMessageHeader::read
    - Option::unwrap
    - setup_test_context_and_session
    - decode_secured_message
    - deref_mut
    - Reader::init
    - lock
    - Mutex::new
    linkageType: ''
    returnType: void
    signature: fn test_send_get_encapsulated_request()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:89,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:90,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:90,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:91,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:92,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:92,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:92,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:92,1
    - Dst: setup_test_context_and_session
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:96,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:105,1
    - Dst: encode_secured_message
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:127,1
    - Dst: Writer::used_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:129,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:127,1
    - Dst: lock
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:134,1
    - Dst: deref_mut
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:135,1
    - Dst: lock
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:147,1
    - Dst: deref_mut
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:148,1
    - Dst: receive
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:149,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:150,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:150,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:149,1
    - Dst: decode_secured_message
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:156,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:156,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:163,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:164,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:164,1
    - Dst: SpdmDeliverEncapsulatedResponsePayload::spdm_read
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:166,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:166,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:175,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:175,1
    - Dst: SpdmDigestsResponsePayload::spdm_read
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:176,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 96
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 87
    functionDepth: 11
    functionLinenumber: 87
    functionLinenumberEnd: 185
    functionName: test_receive_encapsulated_request
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - unwrap
    - Option::unwrap
    - Writer::init
    - Mutex::new
    - FakeSpdmDeviceIoReceve::new
    - executor::block_on
    - SpdmDeliverEncapsulatedResponsePayload::spdm_read
    - receive
    - decode_secured_message
    - Reader::init
    - common::util::create_info
    - SpdmMessageHeader::read
    - setup_test_context_and_session
    - SpdmDigestsResponsePayload::spdm_read
    - Writer::used_slice
    - deref_mut
    - encode_secured_message
    - lock
    linkageType: ''
    returnType: void
    signature: fn test_receive_encapsulated_request()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:191,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:192,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:192,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:193,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:194,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:194,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:194,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:194,1
    - Dst: setup_test_context_and_session
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:198,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:208,1
    - Dst: encode_secured_message
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:238,1
    - Dst: Writer::used_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:240,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:238,1
    - Dst: lock
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:245,1
    - Dst: deref_mut
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:246,1
    - Dst: lock
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:258,1
    - Dst: deref_mut
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:259,1
    - Dst: receive
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:260,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:261,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:261,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:260,1
    - Dst: decode_secured_message
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:266,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:266,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:273,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:274,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:274,1
    - Dst: SpdmDeliverEncapsulatedResponsePayload::spdm_read
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:276,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:276,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:285,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:285,1
    - Dst: SpdmCertificateResponsePayload::spdm_read
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:287,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs:295,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 98
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 189
    functionDepth: 11
    functionLinenumber: 189
    functionLinenumberEnd: 296
    functionName: test_receive_encapsulated_response_ack
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - unwrap
    - Option::unwrap
    - Writer::init
    - Mutex::new
    - FakeSpdmDeviceIoReceve::new
    - executor::block_on
    - SpdmDeliverEncapsulatedResponsePayload::spdm_read
    - receive
    - decode_secured_message
    - Reader::init
    - common::util::create_info
    - SpdmMessageHeader::read
    - SpdmCertificateResponsePayload::spdm_read
    - setup_test_context_and_session
    - Writer::used_slice
    - deref_mut
    - encode_secured_message
    - lock
    linkageType: ''
    returnType: void
    signature: fn test_receive_encapsulated_response_ack()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:300,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:302,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:302,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:303,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:303,1
    - Dst: crypto::hmac::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:304,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:304,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:312,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:317,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:317,1
    - Dst: setup
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:318,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:318,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:319,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:322,1
    - Dst: set_session_state
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 70
    argCount: 4
    argNames:
    - device_io
    - transport_encap
    - config_info
    - provision_info
    argTypes:
    - Arc<Mutex<dyn SpdmDeviceIo + Send + Sync>>
    - Arc<Mutex<dyn SpdmTransportEncap + Send + Sync>>
    - SpdmConfigInfo
    - SpdmProvisionInfo
    constantsTouched: []
    func_position:
      end: 329
      start: 293
    functionDepth: 5
    functionLinenumber: 293
    functionLinenumberEnd: 329
    functionName: setup_test_context_and_session
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs
    functionUses: 6
    functionsReached:
    - clone
    - secret::asym_sign::register
    - set_connection_state
    - SpdmSession::new
    - unwrap
    - set_crypto_param
    - crypto::hmac::register
    - secret::pqc_asym_sign::register
    - ResponderContext::new
    - gen_array_clone
    - set_session_state
    - SpdmKemAlgo::empty
    - setup
    linkageType: ''
    returnType: ResponderContext
    signature: 'fn setup_test_context_and_session(device_io: Arc<Mutex<dyn SpdmDeviceIo
      + Send + Sync>>,transport_encap: Arc<Mutex<dyn SpdmTransportEncap + Send + Sync>>,config_info:
      SpdmConfigInfo,provision_info: SpdmProvisionInfo,) -> ResponderContext'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '{

        crate::common::device_io::SharedBuffer},

        crate::common::secret_callback::*,

        crate::common::transport::PciDoeTransportEncap,

        crate::common::util::create_info'
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:28,1
    - Dst: '{

        crate::common::device_io::SharedBuffer},

        crate::common::secret_callback::*,

        crate::common::transport::PciDoeTransportEncap,

        crate::common::util::create_info'
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:29,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:31,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:32,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:32,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:32,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:32,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:36,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:36,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:38,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:38,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:39,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:39,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:41,1
    - Dst: reset_runtime_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:48,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:66,1
    - Dst: get_rsp_cert_chain_buff
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:66,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:76,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:81,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:81,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:82,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:83,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:83,1
    - Dst: FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:83,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:84,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:85,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:85,1
    - Dst: RequesterContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:88,1
    - Dst: Self::send_receive_spdm_certificate
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:111,1
    - Dst: is_ok
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:111,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 131
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 26
    functionDepth: 11
    functionLinenumber: 26
    functionLinenumberEnd: 118
    functionName: test_case0_send_receive_spdm_certificate
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - get_rsp_cert_chain_buff
    - FakeSpdmDeviceIoReceve::new
    - secret::asym_sign::register
    - clone
    - reset_runtime_info
    - set_connection_state
    - RequesterContext::new
    - executor::block_on
    - '{

      crate::common::device_io::SharedBuffer},

      crate::common::secret_callback::*,

      crate::common::transport::PciDoeTransportEncap,

      crate::common::util::create_info'
    - secret::pqc_asym_sign::register
    - FakeSpdmDeviceIo::new
    - is_ok
    - Self::send_receive_spdm_certificate
    - Mutex::new
    - Some
    linkageType: ''
    returnType: void
    signature: fn test_case0_send_receive_spdm_certificate()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:140,1
    - Dst: Err
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:153,1
    - Dst: Err
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:167,1
    - Dst: Err
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:181,1
    - Dst: Err
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:195,1
    - Dst: Err
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:209,1
    - Dst: Err
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:223,1
    - Dst: Ok
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:237,1
    - Dst: executor::add_task
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:241,1
    - Dst: '{

        crate::common::device_io::SharedBuffer},

        crate::common::secret_callback::*,

        crate::common::transport::PciDoeTransportEncap,

        crate::common::util::create_info'
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:242,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:243,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:243,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:244,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:244,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:244,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:244,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:245,1
    - Dst: RequesterContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:247,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:255,1
    - Dst: SpdmCertChainBuffer::default
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:255,1
    - Dst: Self::handle_spdm_certificate_partial_response
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:258,1
    - Dst: executor::poll_tasks
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 84
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 122
    functionDepth: 7
    functionLinenumber: 122
    functionLinenumberEnd: 277
    functionName: test_handle_spdm_certificate_partial_response
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - FakeSpdmDeviceIoReceve::new
    - SpdmCertChainBuffer::default
    - RequesterContext::new
    - Err
    - '{

      crate::common::device_io::SharedBuffer},

      crate::common::secret_callback::*,

      crate::common::transport::PciDoeTransportEncap,

      crate::common::util::create_info'
    - executor::add_task
    - Self::handle_spdm_certificate_partial_response
    - executor::poll_tasks
    - Ok
    - Mutex::new
    - Some
    linkageType: ''
    returnType: void
    signature: fn test_handle_spdm_certificate_partial_response()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:30,1
    - Dst: create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:31,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:33,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:34,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:34,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:34,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:34,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:38,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:38,1
    - Dst: secret::psk::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:40,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:40,1
    - Dst: crypto::hmac::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:41,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:41,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:43,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:66,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:74,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:74,1
    - Dst: setup
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:75,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:75,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:76,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:79,1
    - Dst: set_use_psk
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:83,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:84,1
    - Dst: set_session_state
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:88,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:90,1
    - Dst: crypto::hash::hash_ctx_init
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:91,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:91,1
    - Dst: generate_handshake_secret
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:94,1
    - Dst: Box::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:98,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:101,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:101,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:102,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:103,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:103,1
    - Dst: FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:103,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:104,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:105,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:105,1
    - Dst: RequesterContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:108,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:135,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:135,1
    - Dst: setup
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:136,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:136,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:137,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:140,1
    - Dst: set_use_psk
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:144,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:145,1
    - Dst: set_session_state
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:149,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:151,1
    - Dst: crypto::hash::hash_ctx_init
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:152,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:152,1
    - Dst: generate_handshake_secret
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:155,1
    - Dst: Box::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:159,1
    - Dst: Self::send_receive_spdm_psk_finish
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:163,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 255
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 28
    functionDepth: 7
    functionLinenumber: 28
    functionLinenumberEnd: 167
    functionName: test_case0_send_receive_spdm_psk_finish
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - generate_handshake_secret
    - RequesterContext::new
    - SpdmSession::new
    - unwrap
    - set_use_psk
    - Option::unwrap
    - gen_array_clone
    - FakeSpdmDeviceIo::new
    - set_session_state
    - SpdmKemAlgo::empty
    - Mutex::new
    - FakeSpdmDeviceIoReceve::new
    - clone
    - executor::block_on
    - set_connection_state
    - create_info
    - crypto::hmac::register
    - Some
    - setup
    - set_crypto_param
    - secret::psk::register
    - Self::send_receive_spdm_psk_finish
    - Box::new
    - crypto::hash::hash_ctx_init
    linkageType: ''
    returnType: void
    signature: fn test_case0_send_receive_spdm_psk_finish()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:173,1
    - Dst: create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:174,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:176,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:177,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:177,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:177,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:177,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:181,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:181,1
    - Dst: secret::psk::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:183,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:183,1
    - Dst: crypto::hmac::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:184,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:184,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:186,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:201,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:201,1
    - Dst: setup
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:202,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:202,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:203,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:206,1
    - Dst: set_use_psk
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:210,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:211,1
    - Dst: set_session_state
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:215,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:217,1
    - Dst: crypto::hash::hash_ctx_init
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:218,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:218,1
    - Dst: generate_handshake_secret
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:221,1
    - Dst: Box::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:226,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:229,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:229,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:230,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:231,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:231,1
    - Dst: FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:231,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:232,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:233,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:233,1
    - Dst: RequesterContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:236,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:251,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:251,1
    - Dst: setup
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:252,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:252,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:253,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:256,1
    - Dst: set_use_psk
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:260,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:261,1
    - Dst: set_session_state
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:265,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:267,1
    - Dst: crypto::hash::hash_ctx_init
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:268,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:268,1
    - Dst: generate_handshake_secret
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:271,1
    - Dst: Box::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:275,1
    - Dst: Self::send_receive_spdm_psk_finish
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:279,1
    - Dst: is_ok
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:279,1
    - Dst: iter
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:285,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs:292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 217
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 293
      start: 171
    functionDepth: 7
    functionLinenumber: 171
    functionLinenumberEnd: 293
    functionName: test_case1_send_receive_spdm_psk_finish
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - generate_handshake_secret
    - RequesterContext::new
    - SpdmSession::new
    - unwrap
    - set_use_psk
    - Option::unwrap
    - gen_array_clone
    - FakeSpdmDeviceIo::new
    - is_ok
    - set_session_state
    - SpdmKemAlgo::empty
    - Mutex::new
    - FakeSpdmDeviceIoReceve::new
    - clone
    - executor::block_on
    - create_info
    - crypto::hmac::register
    - Some
    - setup
    - set_crypto_param
    - secret::psk::register
    - Self::send_receive_spdm_psk_finish
    - iter
    - Box::new
    - crypto::hash::hash_ctx_init
    linkageType: ''
    returnType: void
    signature: fn test_case1_send_receive_spdm_psk_finish()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:23,1
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:24,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:26,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:27,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:27,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:27,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:27,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:30,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:30,1
    - Dst: secret::psk::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:32,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:32,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:34,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:60,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:65,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:65,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:66,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:67,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:67,1
    - Dst: FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:67,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:68,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:69,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:69,1
    - Dst: RequesterContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:72,1
    - Dst: '&str::len'
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:101,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:104,1
    - Dst: Self::send_receive_spdm_psk_exchange
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:106,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:107,1
    - Dst: is_ok
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:106,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 149
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 21
    functionDepth: 7
    functionLinenumber: 21
    functionLinenumberEnd: 113
    functionName: test_case0_send_receive_spdm_psk_exchange
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - FakeSpdmDeviceIoReceve::new
    - clone
    - RequesterContext::new
    - '&str::len'
    - set_connection_state
    - common::util::create_info
    - secret::psk::register
    - executor::block_on
    - Self::send_receive_spdm_psk_exchange
    - copy_from_slice
    - FakeSpdmDeviceIo::new
    - is_ok
    - Mutex::new
    - Some
    linkageType: ''
    returnType: void
    signature: fn test_case0_send_receive_spdm_psk_exchange()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:118,1
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:119,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:121,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:122,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:122,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:122,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:122,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:125,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:125,1
    - Dst: secret::psk::register
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:127,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:127,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:129,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:139,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:144,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:144,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:145,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:146,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:146,1
    - Dst: FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:146,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:147,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:148,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:148,1
    - Dst: RequesterContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:151,1
    - Dst: '&str::len'
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:165,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:168,1
    - Dst: Self::send_receive_spdm_psk_exchange
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:170,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:171,1
    - Dst: is_ok
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:170,1
    - Dst: iter
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:176,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 92
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 116
    functionDepth: 7
    functionLinenumber: 116
    functionLinenumberEnd: 184
    functionName: test_case1_send_receive_spdm_psk_exchange
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - FakeSpdmDeviceIoReceve::new
    - clone
    - RequesterContext::new
    - '&str::len'
    - set_connection_state
    - common::util::create_info
    - secret::psk::register
    - iter
    - Self::send_receive_spdm_psk_exchange
    - executor::block_on
    - copy_from_slice
    - FakeSpdmDeviceIo::new
    - is_ok
    - Mutex::new
    - Some
    linkageType: ''
    returnType: void
    signature: fn test_case1_send_receive_spdm_psk_exchange()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/end_session_rsp.rs:23,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/end_session_rsp.rs:24,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/end_session_rsp.rs:24,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/end_session_rsp.rs:25,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/end_session_rsp.rs:26,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/end_session_rsp.rs:26,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/end_session_rsp.rs:26,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/end_session_rsp.rs:26,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/end_session_rsp.rs:29,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/end_session_rsp.rs:29,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/end_session_rsp.rs:30,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/end_session_rsp.rs:30,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/end_session_rsp.rs:31,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/end_session_rsp.rs:39,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/end_session_rsp.rs:47,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/end_session_rsp.rs:57,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/end_session_rsp.rs:57,1
    - Dst: setup
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/end_session_rsp.rs:58,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/end_session_rsp.rs:58,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/end_session_rsp.rs:59,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/end_session_rsp.rs:62,1
    - Dst: set_session_state
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/end_session_rsp.rs:93,1
    - Dst: Bytes::copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/end_session_rsp.rs:96,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/end_session_rsp.rs:97,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/end_session_rsp.rs:99,1
    - Dst: bool::handle_spdm_end_session
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/end_session_rsp.rs:101,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/end_session_rsp.rs:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 92
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 21
    functionDepth: 5
    functionLinenumber: 21
    functionLinenumberEnd: 105
    functionName: test_case0_handle_spdm_end_session
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/responder_tests/end_session_rsp.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - SpdmSession::new
    - unwrap
    - secret::pqc_asym_sign::register
    - Writer::init
    - bool::handle_spdm_end_session
    - gen_array_clone
    - set_session_state
    - SpdmKemAlgo::empty
    - Mutex::new
    - FakeSpdmDeviceIoReceve::new
    - clone
    - executor::block_on
    - Bytes::copy_from_slice
    - setup
    - secret::asym_sign::register
    - common::util::create_info
    - set_crypto_param
    - copy_from_slice
    linkageType: ''
    returnType: void
    signature: fn test_case0_handle_spdm_end_session()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:35,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:36,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:36,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:37,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:38,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:38,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:38,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:38,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:42,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:42,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:43,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:43,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:45,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:52,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:66,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:72,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:80,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 31
    functionDepth: 7
    functionLinenumber: 31
    functionLinenumberEnd: 87
    functionName: test_case0_handle_spdm_digest
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - FakeSpdmDeviceIoReceve::new
    - secret::asym_sign::register
    - clone
    - executor::block_on
    - set_connection_state
    - common::util::create_info
    - secret::pqc_asym_sign::register
    - Writer::init
    - Mutex::new
    - Some
    linkageType: ''
    returnType: void
    signature: fn test_case0_handle_spdm_digest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:94,1
    - Dst: Vec::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:95,1
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:97,1
    - Dst: super::version_rsp::construct_version_positive
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:98,1
    - Dst: super::capability_rsp::consturct_capability_positive
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:100,1
    - Dst: super::algorithm_rsp::consturct_algorithm_positive
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:102,1
    - Dst: push
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:104,1
    - Dst: push
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:105,1
    - Dst: push
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:106,1
    - Dst: push
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:107,1
    - Dst: push
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:108,1
    - Dst: push
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:109,1
    - Dst: as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:111,1
    - Dst: TestCase::get_certificate_chain_buffer
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:112,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:114,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:114,1
    - Dst: SpdmResult::as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:116,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:116,1
    - Dst: SpdmResult::as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:119,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:119,1
    - Dst: usize::div_ceil
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:119,1
    - Dst: protocol::Message::GET_CERTIFICATE
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:133,1
    - Dst: protocol::Message::CERTIFICATE
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:145,1
    - Dst: SpdmResult::as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:152,1
    - Dst: to_vec
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:152,1
    - Dst: push
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:158,1
    - Dst: push
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:159,1
    - Dst: protocol::Message::GET_DIGESTS
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:163,1
    - Dst: protocol::Message::DIGESTS
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:173,1
    - Dst: Vec::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:179,1
    - Dst: spdmlib::crypto::hash::hash_all
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:180,1
    - Dst: SpdmResult::as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:182,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:180,1
    - Dst: Self::push
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:185,1
    - Dst: as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:185,1
    - Dst: to_vec
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:185,1
    - Dst: push
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:192,1
    - Dst: push
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 108
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 91
    functionDepth: 11
    functionLinenumber: 91
    functionLinenumberEnd: 200
    functionName: test_case1_handle_spdm_digest
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs
    functionUses: 0
    functionsReached:
    - SpdmResult::unwrap
    - usize::div_ceil
    - to_vec
    - protocol::Message::GET_DIGESTS
    - Self::push
    - push
    - super::algorithm_rsp::consturct_algorithm_positive
    - super::version_rsp::construct_version_positive
    - Result::as_ref
    - SpdmResult::as_ref
    - protocol::Message::CERTIFICATE
    - Vec::new
    - common::util::create_info
    - protocol::Message::DIGESTS
    - super::capability_rsp::consturct_capability_positive
    - Option::expect
    - '&[u8]::len'
    - spdmlib::crypto::hash::hash_all
    - TestCase::get_certificate_chain_buffer
    - protocol::Message::GET_CERTIFICATE
    - as_ref
    linkageType: ''
    returnType: void
    signature: fn test_case1_handle_spdm_digest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/version_rsp.rs:24,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/version_rsp.rs:25,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/version_rsp.rs:25,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/version_rsp.rs:27,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/version_rsp.rs:27,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/version_rsp.rs:28,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/version_rsp.rs:28,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/version_rsp.rs:30,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/version_rsp.rs:31,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/version_rsp.rs:31,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/version_rsp.rs:31,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/version_rsp.rs:31,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/version_rsp.rs:35,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/version_rsp.rs:43,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/version_rsp.rs:51,1
    - Dst: bool::handle_spdm_version
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/version_rsp.rs:52,1
    - Dst: as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/version_rsp.rs:54,1
    - Dst: iter
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/version_rsp.rs:56,1
    - Dst: Self::IntoIter::enumerate
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/version_rsp.rs:56,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/version_rsp.rs:60,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/version_rsp.rs:61,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/version_rsp.rs:61,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/version_rsp.rs:69,1
    - Dst: SpdmMessage::spdm_read
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/version_rsp.rs:71,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/version_rsp.rs:71,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/version_rsp.rs:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 22
    functionDepth: 11
    functionLinenumber: 22
    functionLinenumberEnd: 96
    functionName: test_case0_handle_spdm_version
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/responder_tests/version_rsp.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - Option::unwrap
    - secret::pqc_asym_sign::register
    - Writer::init
    - Mutex::new
    - clone
    - FakeSpdmDeviceIoReceve::new
    - executor::block_on
    - Reader::init
    - secret::asym_sign::register
    - common::util::create_info
    - SpdmMessageHeader::read
    - SpdmMessage::spdm_read
    - bool::handle_spdm_version
    - iter
    - Self::IntoIter::enumerate
    - as_ref
    linkageType: ''
    returnType: void
    signature: fn test_case0_handle_spdm_version()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: protocol::Message::GET_VERSION
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/version_rsp.rs:102,1
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/version_rsp.rs:110,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/version_rsp.rs:112,1
    - Dst: u8::from
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/version_rsp.rs:113,1
    - Dst: SpdmVersion::default
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/version_rsp.rs:113,1
    - Dst: iter
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/version_rsp.rs:116,1
    - Dst: flatten
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/version_rsp.rs:116,1
    - Dst: u8::from
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/version_rsp.rs:117,1
    - Dst: protocol::Message::VERSION
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/version_rsp.rs:121,1
    - Dst: '[T; N]::to_vec'
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/version_rsp.rs:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 99
    functionDepth: 5
    functionLinenumber: 99
    functionLinenumberEnd: 133
    functionName: construct_version_positive
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/responder_tests/version_rsp.rs
    functionUses: 4
    functionsReached:
    - common::util::create_info
    - SpdmVersion::default
    - iter
    - u8::from
    - flatten
    - '[T; N]::to_vec'
    - gen_array_clone
    - protocol::Message::VERSION
    - protocol::Message::GET_VERSION
    linkageType: ''
    returnType: (TestSpdmMessage, TestSpdmMessage)
    signature: pub fn construct_version_positive() -> (TestSpdmMessage, TestSpdmMessage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/capability_rsp.rs:24,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/capability_rsp.rs:25,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/capability_rsp.rs:25,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/capability_rsp.rs:26,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/capability_rsp.rs:27,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/capability_rsp.rs:27,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/capability_rsp.rs:27,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/capability_rsp.rs:27,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/capability_rsp.rs:30,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/capability_rsp.rs:30,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/capability_rsp.rs:31,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/capability_rsp.rs:31,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/capability_rsp.rs:32,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/capability_rsp.rs:39,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/capability_rsp.rs:45,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/capability_rsp.rs:52,1
    - Dst: SpdmRequestCapabilityExFlags::default
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/capability_rsp.rs:58,1
    - Dst: Bytes::copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/capability_rsp.rs:63,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/capability_rsp.rs:64,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/capability_rsp.rs:67,1
    - Dst: bool::handle_spdm_capability
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/capability_rsp.rs:68,1
    - Dst: as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/capability_rsp.rs:89,1
    - Dst: iter
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/capability_rsp.rs:91,1
    - Dst: Self::IntoIter::enumerate
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/capability_rsp.rs:91,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/capability_rsp.rs:94,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/capability_rsp.rs:95,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/capability_rsp.rs:95,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/capability_rsp.rs:102,1
    - Dst: SpdmGetCapabilitiesRequestPayload::spdm_read
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/capability_rsp.rs:104,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/capability_rsp.rs:104,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/capability_rsp.rs:111,1
    - Dst: SpdmMessage::spdm_read
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/capability_rsp.rs:113,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/capability_rsp.rs:113,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/capability_rsp.rs:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 136
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 22
    functionDepth: 11
    functionLinenumber: 22
    functionLinenumberEnd: 125
    functionName: test_case0_handle_spdm_capability
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/responder_tests/capability_rsp.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - Option::unwrap
    - secret::pqc_asym_sign::register
    - Writer::init
    - Mutex::new
    - FakeSpdmDeviceIoReceve::new
    - clone
    - executor::block_on
    - set_connection_state
    - Reader::init
    - Bytes::copy_from_slice
    - secret::asym_sign::register
    - common::util::create_info
    - SpdmMessageHeader::read
    - SpdmGetCapabilitiesRequestPayload::spdm_read
    - SpdmMessage::spdm_read
    - bool::handle_spdm_capability
    - iter
    - SpdmRequestCapabilityExFlags::default
    - copy_from_slice
    - Self::IntoIter::enumerate
    - as_ref
    linkageType: ''
    returnType: void
    signature: fn test_case0_handle_spdm_capability()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/capability_rsp.rs:130,1
    - Dst: protocol::Message::GET_CAPABILITIES
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/capability_rsp.rs:132,1
    - Dst: bits
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/capability_rsp.rs:140,1
    - Dst: protocol::Message::CAPABILITIES
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/capability_rsp.rs:148,1
    - Dst: bits
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/capability_rsp.rs:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 163
    functionName: consturct_capability_positive
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/responder_tests/capability_rsp.rs
    functionUses: 4
    functionsReached:
    - common::util::create_info
    - protocol::Message::CAPABILITIES
    - protocol::Message::GET_CAPABILITIES
    - bits
    linkageType: ''
    returnType: (TestSpdmMessage, TestSpdmMessage)
    signature: pub fn consturct_capability_positive() -> (TestSpdmMessage, TestSpdmMessage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_digest.rs:21,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_digest.rs:22,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_digest.rs:22,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_digest.rs:23,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_digest.rs:24,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_digest.rs:24,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_digest.rs:24,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_digest.rs:24,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_digest.rs:28,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_digest.rs:28,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_digest.rs:29,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_digest.rs:29,1
    - Dst: ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_digest.rs:31,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_digest.rs:42,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_digest.rs:47,1
    - Dst: Writer::used_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_digest.rs:47,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_digest.rs:48,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_digest.rs:48,1
    - Dst: SpdmGetDigestsRequestPayload::spdm_read
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_digest.rs:49,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_digest.rs:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 20
    functionDepth: 11
    functionLinenumber: 20
    functionLinenumberEnd: 56
    functionName: test_encode_encap_requst_get_digest
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_digest.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - FakeSpdmDeviceIoReceve::new
    - secret::asym_sign::register
    - clone
    - common::util::create_info
    - SpdmMessageHeader::read
    - Option::unwrap
    - secret::pqc_asym_sign::register
    - Writer::init
    - Writer::used_slice
    - ResponderContext::new
    - Reader::init
    - SpdmGetDigestsRequestPayload::spdm_read
    - Mutex::new
    linkageType: ''
    returnType: void
    signature: fn test_encode_encap_requst_get_digest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_digest.rs:60,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_digest.rs:61,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_digest.rs:61,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_digest.rs:62,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_digest.rs:63,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_digest.rs:63,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_digest.rs:63,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_digest.rs:63,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_digest.rs:67,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_digest.rs:67,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_digest.rs:68,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_digest.rs:68,1
    - Dst: ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_digest.rs:70,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_digest.rs:81,1
    - Dst: SpdmMessagePayload::SpdmDigestsResponse
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_digest.rs:87,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_digest.rs:89,1
    - Dst: get_size
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_digest.rs:91,1
    - Dst: Box::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_digest.rs:92,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_digest.rs:97,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_digest.rs:98,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_digest.rs:102,1
    - Dst: SpdmKeyUsageMask::empty
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_digest.rs:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 59
    functionDepth: 5
    functionLinenumber: 59
    functionLinenumberEnd: 110
    functionName: test_handle_encap_response_digest
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_digest.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - FakeSpdmDeviceIoReceve::new
    - secret::asym_sign::register
    - clone
    - get_size
    - common::util::create_info
    - SpdmMessagePayload::SpdmDigestsResponse
    - SpdmKeyUsageMask::empty
    - Box::new
    - secret::pqc_asym_sign::register
    - Writer::init
    - ResponderContext::new
    - gen_array_clone
    - Mutex::new
    linkageType: ''
    returnType: void
    signature: fn test_handle_encap_response_digest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:29,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:30,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:30,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:31,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:32,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:32,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:32,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:32,1
    - Dst: secret::psk::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:36,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:36,1
    - Dst: crypto::hmac::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:37,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:37,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:39,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:48,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:48,1
    - Dst: setup
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:49,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:49,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:50,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:53,1
    - Dst: set_session_state
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:57,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:60,1
    - Dst: u8::encode
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:65,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:68,1
    - Dst: Box::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:72,1
    - Dst: u8::spdm_encode
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:79,1
    - Dst: Bytes::copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:82,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:83,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:85,1
    - Dst: bool::handle_spdm_psk_finish
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:87,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 106
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 27
    functionDepth: 6
    functionLinenumber: 27
    functionLinenumberEnd: 90
    functionName: test_case0_handle_spdm_psk_finish
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - SpdmSession::new
    - unwrap
    - Writer::init
    - u8::encode
    - gen_array_clone
    - set_session_state
    - SpdmKemAlgo::empty
    - Mutex::new
    - FakeSpdmDeviceIoReceve::new
    - clone
    - executor::block_on
    - create_info
    - crypto::hmac::register
    - u8::spdm_encode
    - Bytes::copy_from_slice
    - setup
    - set_crypto_param
    - bool::handle_spdm_psk_finish
    - secret::psk::register
    - Box::new
    - copy_from_slice
    linkageType: ''
    returnType: void
    signature: fn test_case0_handle_spdm_psk_finish()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:96,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:97,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:97,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:98,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:99,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:99,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:99,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:99,1
    - Dst: secret::psk::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:103,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:103,1
    - Dst: crypto::hmac::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:104,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:104,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:106,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:115,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:115,1
    - Dst: setup
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:116,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:116,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:117,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:120,1
    - Dst: set_session_state
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:124,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:127,1
    - Dst: u8::encode
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:132,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:135,1
    - Dst: Box::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:139,1
    - Dst: u8::spdm_encode
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:146,1
    - Dst: Bytes::copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:149,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:150,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:152,1
    - Dst: bool::handle_spdm_psk_finish
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:154,1
    - Dst: iter
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:156,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 113
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 94
    functionDepth: 6
    functionLinenumber: 94
    functionLinenumberEnd: 164
    functionName: test_case1_handle_spdm_psk_finish
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - SpdmSession::new
    - unwrap
    - Writer::init
    - u8::encode
    - gen_array_clone
    - set_session_state
    - SpdmKemAlgo::empty
    - Mutex::new
    - FakeSpdmDeviceIoReceve::new
    - clone
    - executor::block_on
    - create_info
    - crypto::hmac::register
    - u8::spdm_encode
    - Bytes::copy_from_slice
    - setup
    - set_crypto_param
    - bool::handle_spdm_psk_finish
    - secret::psk::register
    - iter
    - Box::new
    - copy_from_slice
    linkageType: ''
    returnType: void
    signature: fn test_case1_handle_spdm_psk_finish()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:21,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:23,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:24,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:25,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:25,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:26,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:26,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:28,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:38,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:38,1
    - Dst: setup
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:39,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:39,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:40,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:43,1
    - Dst: set_session_state
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:47,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:50,1
    - Dst: SpdmMessagePayload::SpdmKeyUpdateResponse
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:56,1
    - Dst: Writer::used
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:62,1
    - Dst: bool::send_secured_message
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:63,1
    - Dst: is_ok
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 70
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 20
    functionDepth: 5
    functionLinenumber: 20
    functionLinenumberEnd: 67
    functionName: test_case0_send_secured_message
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs
    functionUses: 0
    functionsReached:
    - SharedBuffer::new
    - responder::ResponderContext::new
    - SpdmSession::new
    - unwrap
    - Writer::used
    - secret::pqc_asym_sign::register
    - Writer::init
    - gen_array_clone
    - is_ok
    - set_session_state
    - SpdmKemAlgo::empty
    - FakeSpdmDeviceIoReceve::new
    - clone
    - setup
    - secret::asym_sign::register
    - common::util::create_info
    - SpdmMessagePayload::SpdmKeyUpdateResponse
    - set_crypto_param
    - bool::send_secured_message
    linkageType: ''
    returnType: void
    signature: fn test_case0_send_secured_message()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:70,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:72,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:73,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:74,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:74,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:75,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:75,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:76,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:87,1
    - Dst: SpdmMessageHeader::default
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:89,1
    - Dst: SpdmMessagePayload::SpdmKeyUpdateResponse
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:90,1
    - Dst: SpdmKeyUpdateResponsePayload::default
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:90,1
    - Dst: Writer::used
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:93,1
    - Dst: bool::send_secured_message
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:94,1
    - Dst: is_err
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 69
    functionDepth: 6
    functionLinenumber: 69
    functionLinenumberEnd: 98
    functionName: test_case1_send_secured_message
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs
    functionUses: 0
    functionsReached:
    - SharedBuffer::new
    - responder::ResponderContext::new
    - SpdmKeyUpdateResponsePayload::default
    - FakeSpdmDeviceIoReceve::new
    - secret::asym_sign::register
    - clone
    - SpdmMessageHeader::default
    - Writer::used
    - common::util::create_info
    - SpdmMessagePayload::SpdmKeyUpdateResponse
    - secret::pqc_asym_sign::register
    - Writer::init
    - bool::send_secured_message
    - is_err
    linkageType: ''
    returnType: void
    signature: fn test_case1_send_secured_message()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:102,1
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:111,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:113,1
    - Dst: Self::set_buffer
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:114,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:116,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:117,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:117,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:118,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:118,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:119,1
    - Dst: bool::receive_message
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:127,1
    - Dst: Option::is_ok
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 100
    functionDepth: 11
    functionLinenumber: 100
    functionLinenumberEnd: 131
    functionName: test_case0_receive_message
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs
    functionUses: 0
    functionsReached:
    - SharedBuffer::new
    - responder::ResponderContext::new
    - FakeSpdmDeviceIoReceve::new
    - secret::asym_sign::register
    - clone
    - common::util::create_info
    - Option::is_ok
    - secret::pqc_asym_sign::register
    - Writer::init
    - Self::set_buffer
    - bool::receive_message
    linkageType: ''
    returnType: void
    signature: fn test_case0_receive_message()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:135,1
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:144,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:146,1
    - Dst: Self::set_buffer
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:147,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:149,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:150,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:160,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:160,1
    - Dst: setup
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:161,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:161,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:162,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:165,1
    - Dst: set_session_state
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:169,1
    - Dst: bool::process_message
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:171,1
    - Dst: is_err
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 133
    functionDepth: 7
    functionLinenumber: 133
    functionLinenumberEnd: 173
    functionName: test_case0_process_message
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs
    functionUses: 0
    functionsReached:
    - SharedBuffer::new
    - responder::ResponderContext::new
    - FakeSpdmDeviceIoReceve::new
    - SpdmSession::new
    - common::util::create_info
    - unwrap
    - set_crypto_param
    - Writer::init
    - SpdmKemAlgo::empty
    - gen_array_clone
    - is_err
    - bool::process_message
    - set_session_state
    - Self::set_buffer
    - setup
    linkageType: ''
    returnType: void
    signature: fn test_case0_process_message()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:176,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:178,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:179,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:181,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:188,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:188,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:189,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:189,1
    - Dst: secret::measurement::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:190,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:190,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:201,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:201,1
    - Dst: setup
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:202,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:202,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:203,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:206,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:211,1
    - Dst: dispatch_data
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:227,1
    - Dst: SpdmRequestResponseCode::Unknown
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:228,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:231,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:236,1
    - Dst: patch_context
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:244,1
    - Dst: bool::dispatch_message
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:246,1
    - Dst: dispatch_data
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:252,1
    - Dst: SpdmRequestResponseCode::Unknown
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:253,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:256,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:261,1
    - Dst: bool::dispatch_message
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:267,1
    - Dst: dispatch_secured_data
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:276,1
    - Dst: SpdmRequestResponseCode::Unknown
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:277,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:280,1
    - Dst: set_session_state
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:284,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:286,1
    - Dst: bool::dispatch_secured_message
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:292,1
    - Dst: dispatch_secured_data
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:299,1
    - Dst: SpdmRequestResponseCode::Unknown
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:300,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:303,1
    - Dst: set_session_state
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:307,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:309,1
    - Dst: bool::dispatch_secured_message
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:315,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 181
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 319
      start: 175
    functionDepth: 14
    functionLinenumber: 175
    functionLinenumberEnd: 319
    functionName: test_case0_dispatch_secured_message
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs
    functionUses: 0
    functionsReached:
    - SharedBuffer::new
    - responder::ResponderContext::new
    - SpdmSession::new
    - unwrap
    - secret::pqc_asym_sign::register
    - Writer::init
    - gen_array_clone
    - SpdmKemAlgo::empty
    - set_session_state
    - FakeSpdmDeviceIoReceve::new
    - clone
    - secret::measurement::register
    - set_connection_state
    - dispatch_secured_data
    - SpdmRequestResponseCode::Unknown
    - dispatch_data
    - Some
    - setup
    - patch_context
    - secret::asym_sign::register
    - common::util::create_info
    - set_crypto_param
    - bool::dispatch_secured_message
    - bool::dispatch_message
    linkageType: ''
    returnType: void
    signature: fn test_case0_dispatch_secured_message()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmRequestResponseCode::Unknown
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:371,1
    - Dst: SpdmRequestResponseCode::Unknown
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 2
    argNames:
    - num
    - status
    argTypes:
    - usize
    - bool
    constantsTouched: []
    func_position:
      end: 488
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 488
    functionName: dispatch_secured_data
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs
    functionUses: 1
    functionsReached:
    - SpdmRequestResponseCode::Unknown
    linkageType: ''
    returnType: "(\n    SpdmRequestResponseCode,\n    SpdmConnectionState,\n    SpdmSessionState,\n\
      )"
    signature: 'fn dispatch_secured_data(num: usize,status: bool,) -> (SpdmRequestResponseCode,SpdmConnectionState,SpdmSessionState,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmRequestResponseCode::Unknown
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:528,1
    - Dst: SpdmRequestResponseCode::Unknown
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs:554,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 2
    argNames:
    - num
    - status
    argTypes:
    - usize
    - bool
    constantsTouched: []
    func_position:
      end: 563
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 563
    functionName: dispatch_data
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs
    functionUses: 1
    functionsReached:
    - SpdmRequestResponseCode::Unknown
    linkageType: ''
    returnType: (SpdmRequestResponseCode, SpdmConnectionState)
    signature: 'fn dispatch_data(num: usize, status: bool) -> (SpdmRequestResponseCode,
      SpdmConnectionState)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/error_rsp.rs:20,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/error_rsp.rs:21,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/error_rsp.rs:21,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/error_rsp.rs:22,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/error_rsp.rs:23,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/error_rsp.rs:23,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/error_rsp.rs:23,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/error_rsp.rs:23,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/error_rsp.rs:26,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/error_rsp.rs:26,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/error_rsp.rs:27,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/error_rsp.rs:27,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/error_rsp.rs:29,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/error_rsp.rs:38,1
    - Dst: bool::write_spdm_error
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/error_rsp.rs:39,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/error_rsp.rs:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 19
    functionDepth: 12
    functionLinenumber: 19
    functionLinenumberEnd: 43
    functionName: test_case0_send_spdm_error
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/responder_tests/error_rsp.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - FakeSpdmDeviceIoReceve::new
    - secret::asym_sign::register
    - clone
    - executor::block_on
    - common::util::create_info
    - secret::pqc_asym_sign::register
    - Writer::init
    - bool::write_spdm_error
    - Mutex::new
    linkageType: ''
    returnType: void
    signature: fn test_case0_send_spdm_error()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:25,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:26,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:26,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:28,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:28,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:29,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:29,1
    - Dst: crypto::hmac::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:30,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:30,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:32,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:33,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:33,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:33,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:33,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:37,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:50,1
    - Dst: u8::encode
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:55,1
    - Dst: ring::rand::SystemRandom::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:57,1
    - Dst: ring::agreement::EphemeralPrivateKey::generate
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:59,1
    - Dst: Result::ok
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:59,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:59,1
    - Dst: Option::compute_public_key
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:62,1
    - Dst: Result::ok
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:62,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:62,1
    - Dst: BytesMut::from
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:63,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:63,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:66,1
    - Dst: SpdmReqExchangeStruct::from_dhe
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:76,1
    - Dst: SpdmDheExchangeStruct::from
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:76,1
    - Dst: SpdmOpaqueStruct::from_sm_supported_ver_list_opaque
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:77,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:77,1
    - Dst: u8::spdm_encode
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:107,1
    - Dst: Bytes::copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:110,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:111,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:114,1
    - Dst: bool::handle_spdm_key_exchange
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:115,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 118
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 23
    functionDepth: 9
    functionLinenumber: 23
    functionLinenumberEnd: 118
    functionName: test_case0_handle_spdm_key_exchange
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - SpdmResult::unwrap
    - Result::ok
    - ring::agreement::EphemeralPrivateKey::generate
    - unwrap
    - SpdmDheExchangeStruct::from
    - secret::pqc_asym_sign::register
    - Writer::init
    - u8::encode
    - BytesMut::from
    - ring::rand::SystemRandom::new
    - Mutex::new
    - clone
    - FakeSpdmDeviceIoReceve::new
    - Result::as_ref
    - executor::block_on
    - crypto::hmac::register
    - u8::spdm_encode
    - Bytes::copy_from_slice
    - secret::asym_sign::register
    - common::util::create_info
    - Option::compute_public_key
    - SpdmReqExchangeStruct::from_dhe
    - bool::handle_spdm_key_exchange
    - copy_from_slice
    - SpdmOpaqueStruct::from_sm_supported_ver_list_opaque
    linkageType: ''
    returnType: void
    signature: fn test_case0_handle_spdm_key_exchange()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:123,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:124,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:124,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:126,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:126,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:127,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:127,1
    - Dst: crypto::hmac::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:128,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:128,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:130,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:131,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:131,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:131,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:131,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:135,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:148,1
    - Dst: u8::encode
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:153,1
    - Dst: ring::rand::SystemRandom::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:155,1
    - Dst: ring::agreement::EphemeralPrivateKey::generate
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:157,1
    - Dst: Result::ok
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:157,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:157,1
    - Dst: Option::compute_public_key
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:160,1
    - Dst: Result::ok
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:160,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:160,1
    - Dst: BytesMut::from
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:161,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:161,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:164,1
    - Dst: SpdmReqExchangeStruct::from_dhe
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:174,1
    - Dst: SpdmDheExchangeStruct::from
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:174,1
    - Dst: SpdmOpaqueStruct::from_sm_supported_ver_list_opaque
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:175,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:175,1
    - Dst: u8::spdm_encode
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:205,1
    - Dst: Bytes::copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:208,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:209,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:212,1
    - Dst: bool::handle_spdm_key_exchange
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:213,1
    - Dst: iter
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:215,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 125
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 121
    functionDepth: 9
    functionLinenumber: 121
    functionLinenumberEnd: 223
    functionName: test_case1_handle_spdm_key_exchange
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - SpdmResult::unwrap
    - Result::ok
    - ring::agreement::EphemeralPrivateKey::generate
    - unwrap
    - SpdmDheExchangeStruct::from
    - secret::pqc_asym_sign::register
    - Writer::init
    - u8::encode
    - BytesMut::from
    - ring::rand::SystemRandom::new
    - Mutex::new
    - clone
    - FakeSpdmDeviceIoReceve::new
    - Result::as_ref
    - executor::block_on
    - crypto::hmac::register
    - u8::spdm_encode
    - Bytes::copy_from_slice
    - secret::asym_sign::register
    - common::util::create_info
    - Option::compute_public_key
    - SpdmReqExchangeStruct::from_dhe
    - bool::handle_spdm_key_exchange
    - iter
    - copy_from_slice
    - SpdmOpaqueStruct::from_sm_supported_ver_list_opaque
    linkageType: ''
    returnType: void
    signature: fn test_case1_handle_spdm_key_exchange()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/heartbeat_rsp.rs:22,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/heartbeat_rsp.rs:23,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/heartbeat_rsp.rs:23,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/heartbeat_rsp.rs:24,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/heartbeat_rsp.rs:25,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/heartbeat_rsp.rs:25,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/heartbeat_rsp.rs:25,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/heartbeat_rsp.rs:25,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/heartbeat_rsp.rs:28,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/heartbeat_rsp.rs:28,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/heartbeat_rsp.rs:29,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/heartbeat_rsp.rs:29,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/heartbeat_rsp.rs:30,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/heartbeat_rsp.rs:40,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/heartbeat_rsp.rs:40,1
    - Dst: setup
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/heartbeat_rsp.rs:41,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/heartbeat_rsp.rs:41,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/heartbeat_rsp.rs:42,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/heartbeat_rsp.rs:45,1
    - Dst: set_session_state
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/heartbeat_rsp.rs:76,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/heartbeat_rsp.rs:79,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/heartbeat_rsp.rs:86,1
    - Dst: bool::handle_spdm_heartbeat
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/heartbeat_rsp.rs:87,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/heartbeat_rsp.rs:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 70
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 20
    functionDepth: 5
    functionLinenumber: 20
    functionLinenumberEnd: 90
    functionName: test_case0_handle_spdm_heartbeat
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/responder_tests/heartbeat_rsp.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - SpdmSession::new
    - unwrap
    - secret::pqc_asym_sign::register
    - Writer::init
    - gen_array_clone
    - set_session_state
    - SpdmKemAlgo::empty
    - Mutex::new
    - FakeSpdmDeviceIoReceve::new
    - clone
    - executor::block_on
    - bool::handle_spdm_heartbeat
    - setup
    - secret::asym_sign::register
    - common::util::create_info
    - set_crypto_param
    linkageType: ''
    returnType: void
    signature: fn test_case0_handle_spdm_heartbeat()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:25,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:26,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:26,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:28,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:28,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:29,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:29,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:31,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:32,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:32,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:32,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:32,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:36,1
    - Dst: insert
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:44,1
    - Dst: remove
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:49,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:55,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:61,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:69,1
    - Dst: SpdmAlg::SpdmAlgoDhe
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:82,1
    - Dst: SpdmAlg::SpdmAlgoAead
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:86,1
    - Dst: SpdmAlg::SpdmAlgoReqAsym
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:90,1
    - Dst: SpdmAlg::SpdmAlgoKeySchedule
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:96,1
    - Dst: SpdmAlg::SpdmAlgoPqcReqAsym
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:102,1
    - Dst: SpdmAlg::SpdmAlgoKem
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:106,1
    - Dst: Bytes::copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:113,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:114,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:117,1
    - Dst: bool::handle_spdm_algorithm
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:118,1
    - Dst: as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:120,1
    - Dst: iter
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:122,1
    - Dst: Self::IntoIter::enumerate
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:122,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:126,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:127,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:127,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:136,1
    - Dst: SpdmNegotiateAlgorithmsRequestPayload::spdm_read
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:138,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:138,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:201,1
    - Dst: SpdmMessage::spdm_read
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:203,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:203,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 170
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 23
    functionDepth: 11
    functionLinenumber: 23
    functionLinenumberEnd: 254
    functionName: test_case0_handle_spdm_algorithm
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - bool::handle_spdm_algorithm
    - Option::unwrap
    - secret::pqc_asym_sign::register
    - Writer::init
    - SpdmAlg::SpdmAlgoAead
    - Mutex::new
    - SpdmAlg::SpdmAlgoPqcReqAsym
    - SpdmAlg::SpdmAlgoReqAsym
    - clone
    - FakeSpdmDeviceIoReceve::new
    - executor::block_on
    - set_connection_state
    - Reader::init
    - remove
    - Bytes::copy_from_slice
    - insert
    - SpdmAlg::SpdmAlgoKeySchedule
    - secret::asym_sign::register
    - common::util::create_info
    - SpdmMessageHeader::read
    - SpdmMessage::spdm_read
    - SpdmAlg::SpdmAlgoDhe
    - iter
    - SpdmNegotiateAlgorithmsRequestPayload::spdm_read
    - SpdmAlg::SpdmAlgoKem
    - copy_from_slice
    - Self::IntoIter::enumerate
    - as_ref
    linkageType: ''
    returnType: void
    signature: fn test_case0_handle_spdm_algorithm()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:259,1
    - Dst: protocol::Message::NEGOTIATE_ALGORITHMS
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:261,1
    - Dst: bits
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:268,1
    - Dst: bits
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:269,1
    - Dst: bits
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:270,1
    - Dst: bits
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:271,1
    - Dst: Vec::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:276,1
    - Dst: Vec::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:277,1
    - Dst: protocol::Message::ALGORITHMS
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:290,1
    - Dst: bits
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:296,1
    - Dst: bits
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:297,1
    - Dst: bits
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:298,1
    - Dst: bits
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:299,1
    - Dst: bits
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:300,1
    - Dst: Vec::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:305,1
    - Dst: Vec::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 317
      start: 257
    functionDepth: 3
    functionLinenumber: 257
    functionLinenumberEnd: 317
    functionName: consturct_algorithm_positive
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs
    functionUses: 4
    functionsReached:
    - protocol::Message::ALGORITHMS
    - protocol::Message::NEGOTIATE_ALGORITHMS
    - common::util::create_info
    - bits
    - Vec::new
    linkageType: ''
    returnType: (TestSpdmMessage, TestSpdmMessage)
    signature: pub fn consturct_algorithm_positive() -> (TestSpdmMessage, TestSpdmMessage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/vendor_rsp.rs:20,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/vendor_rsp.rs:22,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/vendor_rsp.rs:23,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/vendor_rsp.rs:23,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/vendor_rsp.rs:23,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/vendor_rsp.rs:23,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/vendor_rsp.rs:26,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/vendor_rsp.rs:26,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/vendor_rsp.rs:28,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/vendor_rsp.rs:28,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/vendor_rsp.rs:29,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/vendor_rsp.rs:29,1
    - Dst: ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/vendor_rsp.rs:31,1
    - Dst: clone_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/vendor_rsp.rs:56,1
    - Dst: Ok
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/vendor_rsp.rs:58,1
    - Dst: register_vendor_defined_struct
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/vendor_rsp.rs:61,1
    - Dst: ResponderContext::respond_to_vendor_defined_request
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/vendor_rsp.rs:66,1
    - Dst: VendorIDStruct::default
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/vendor_rsp.rs:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 79
    functionName: test_case0_handle_spdm_vendor_defined_request
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/responder_tests/vendor_rsp.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - FakeSpdmDeviceIoReceve::new
    - secret::asym_sign::register
    - clone
    - Ok
    - register_vendor_defined_struct
    - common::util::create_info
    - ResponderContext::respond_to_vendor_defined_request
    - VendorIDStruct::default
    - secret::pqc_asym_sign::register
    - ResponderContext::new
    - clone_from_slice
    - Mutex::new
    linkageType: ''
    returnType: void
    signature: fn test_case0_handle_spdm_vendor_defined_request()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_exchange_rsp.rs:23,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_exchange_rsp.rs:24,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_exchange_rsp.rs:24,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_exchange_rsp.rs:25,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_exchange_rsp.rs:26,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_exchange_rsp.rs:26,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_exchange_rsp.rs:26,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_exchange_rsp.rs:26,1
    - Dst: secret::psk::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_exchange_rsp.rs:30,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_exchange_rsp.rs:30,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_exchange_rsp.rs:32,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_exchange_rsp.rs:43,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_exchange_rsp.rs:51,1
    - Dst: SpdmOpaqueStruct::from_sm_supported_ver_list_opaque
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_exchange_rsp.rs:64,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_exchange_rsp.rs:64,1
    - Dst: Bytes::copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_exchange_rsp.rs:97,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_exchange_rsp.rs:98,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_exchange_rsp.rs:100,1
    - Dst: bool::handle_spdm_psk_exchange
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_exchange_rsp.rs:101,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_exchange_rsp.rs:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 74
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 21
    functionDepth: 5
    functionLinenumber: 21
    functionLinenumberEnd: 104
    functionName: test_case0_handle_spdm_psk_exchange
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_exchange_rsp.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - SpdmResult::unwrap
    - FakeSpdmDeviceIoReceve::new
    - clone
    - executor::block_on
    - common::util::create_info
    - secret::psk::register
    - Writer::init
    - bool::handle_spdm_psk_exchange
    - copy_from_slice
    - SpdmOpaqueStruct::from_sm_supported_ver_list_opaque
    - Bytes::copy_from_slice
    - Mutex::new
    linkageType: ''
    returnType: void
    signature: fn test_case0_handle_spdm_psk_exchange()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_exchange_rsp.rs:109,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_exchange_rsp.rs:110,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_exchange_rsp.rs:110,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_exchange_rsp.rs:111,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_exchange_rsp.rs:112,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_exchange_rsp.rs:112,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_exchange_rsp.rs:112,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_exchange_rsp.rs:112,1
    - Dst: secret::psk::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_exchange_rsp.rs:116,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_exchange_rsp.rs:116,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_exchange_rsp.rs:118,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_exchange_rsp.rs:129,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_exchange_rsp.rs:137,1
    - Dst: SpdmOpaqueStruct::from_sm_supported_ver_list_opaque
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_exchange_rsp.rs:150,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_exchange_rsp.rs:150,1
    - Dst: Bytes::copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_exchange_rsp.rs:183,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_exchange_rsp.rs:184,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_exchange_rsp.rs:186,1
    - Dst: bool::handle_spdm_psk_exchange
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_exchange_rsp.rs:187,1
    - Dst: iter
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_exchange_rsp.rs:189,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_exchange_rsp.rs:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 107
    functionDepth: 6
    functionLinenumber: 107
    functionLinenumberEnd: 197
    functionName: test_case1_handle_spdm_psk_exchange
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_exchange_rsp.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - SpdmResult::unwrap
    - FakeSpdmDeviceIoReceve::new
    - clone
    - executor::block_on
    - common::util::create_info
    - secret::psk::register
    - iter
    - Writer::init
    - bool::handle_spdm_psk_exchange
    - copy_from_slice
    - SpdmOpaqueStruct::from_sm_supported_ver_list_opaque
    - Bytes::copy_from_slice
    - Mutex::new
    linkageType: ''
    returnType: void
    signature: fn test_case1_handle_spdm_psk_exchange()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:23,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:24,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:24,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:25,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:26,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:26,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:26,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:26,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:29,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:36,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:36,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:37,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:37,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:42,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:42,1
    - Dst: setup
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:43,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:43,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:44,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:47,1
    - Dst: set_session_state
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:51,1
    - Dst: Box::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:54,1
    - Dst: set_shared_secret
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:57,1
    - Dst: generate_handshake_secret
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:58,1
    - Dst: Box::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:62,1
    - Dst: generate_data_secret
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:65,1
    - Dst: Box::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:69,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:74,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:82,1
    - Dst: Bytes::copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:90,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:91,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:93,1
    - Dst: bool::handle_spdm_key_update
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:95,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 114
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 21
    functionDepth: 10
    functionLinenumber: 21
    functionLinenumberEnd: 98
    functionName: test_case0_handle_spdm_key_update
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - generate_handshake_secret
    - SpdmSession::new
    - unwrap
    - secret::pqc_asym_sign::register
    - Writer::init
    - gen_array_clone
    - set_shared_secret
    - set_session_state
    - SpdmKemAlgo::empty
    - Mutex::new
    - FakeSpdmDeviceIoReceve::new
    - clone
    - executor::block_on
    - Bytes::copy_from_slice
    - setup
    - generate_data_secret
    - secret::asym_sign::register
    - common::util::create_info
    - set_crypto_param
    - bool::handle_spdm_key_update
    - Box::new
    - copy_from_slice
    linkageType: ''
    returnType: void
    signature: fn test_case0_handle_spdm_key_update()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:103,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:103,1
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:104,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:105,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:105,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:106,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:106,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:107,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:108,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:108,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:108,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:108,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:111,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:121,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:121,1
    - Dst: setup
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:122,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:122,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:123,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:126,1
    - Dst: set_session_state
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:130,1
    - Dst: Box::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:133,1
    - Dst: set_shared_secret
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:136,1
    - Dst: generate_handshake_secret
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:137,1
    - Dst: Box::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:141,1
    - Dst: generate_data_secret
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:144,1
    - Dst: Box::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:148,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:152,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:160,1
    - Dst: Bytes::copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:168,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:169,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:171,1
    - Dst: bool::handle_spdm_key_update
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:173,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 114
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 101
    functionDepth: 10
    functionLinenumber: 101
    functionLinenumberEnd: 176
    functionName: test_case1_handle_spdm_key_update
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - generate_handshake_secret
    - SpdmSession::new
    - unwrap
    - secret::pqc_asym_sign::register
    - Writer::init
    - gen_array_clone
    - set_shared_secret
    - set_session_state
    - SpdmKemAlgo::empty
    - Mutex::new
    - clone
    - FakeSpdmDeviceIoReceve::new
    - executor::block_on
    - Bytes::copy_from_slice
    - setup
    - generate_data_secret
    - secret::asym_sign::register
    - common::util::create_info
    - set_crypto_param
    - bool::handle_spdm_key_update
    - Box::new
    - copy_from_slice
    linkageType: ''
    returnType: void
    signature: fn test_case1_handle_spdm_key_update()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:35,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:36,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:36,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:37,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:38,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:38,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:38,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:38,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:41,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:41,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:42,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:42,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:43,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:53,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:68,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:75,1
    - Dst: Bytes::copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:83,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:84,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:87,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:88,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:99,1
    - Dst: as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:108,1
    - Dst: iter
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:110,1
    - Dst: Self::IntoIter::enumerate
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:110,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:114,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:115,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:115,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:123,1
    - Dst: SpdmGetCertificateRequestPayload::spdm_read
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:125,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:125,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:132,1
    - Dst: SpdmMessage::spdm_read
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:134,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:134,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 144
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 31
    functionDepth: 11
    functionLinenumber: 31
    functionLinenumberEnd: 151
    functionName: test_case0_handle_spdm_certificate
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - Option::unwrap
    - secret::pqc_asym_sign::register
    - Writer::init
    - SpdmGetCertificateRequestPayload::spdm_read
    - Mutex::new
    - FakeSpdmDeviceIoReceve::new
    - clone
    - executor::block_on
    - set_connection_state
    - Reader::init
    - Bytes::copy_from_slice
    - Some
    - secret::asym_sign::register
    - common::util::create_info
    - SpdmMessageHeader::read
    - SpdmMessage::spdm_read
    - iter
    - copy_from_slice
    - Self::IntoIter::enumerate
    - as_ref
    linkageType: ''
    returnType: void
    signature: fn test_case0_handle_spdm_certificate()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:156,1
    - Dst: Vec::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:158,1
    - Dst: Vec::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:159,1
    - Dst: as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:160,1
    - Dst: TestCase::get_certificate_chain_buffer
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:161,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:163,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:163,1
    - Dst: SpdmResult::as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:165,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:165,1
    - Dst: SpdmResult::as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:168,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:168,1
    - Dst: usize::div_ceil
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:168,1
    - Dst: protocol::Message::GET_CERTIFICATE
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:182,1
    - Dst: protocol::Message::CERTIFICATE
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:194,1
    - Dst: SpdmResult::as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:201,1
    - Dst: to_vec
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:201,1
    - Dst: push
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:207,1
    - Dst: push
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 211
      start: 154
    functionDepth: 11
    functionLinenumber: 154
    functionLinenumberEnd: 211
    functionName: construct_certificate_positive
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs
    functionUses: 2
    functionsReached:
    - SpdmResult::unwrap
    - '&[u8]::len'
    - Result::as_ref
    - SpdmResult::as_ref
    - usize::div_ceil
    - common::util::create_info
    - to_vec
    - TestCase::get_certificate_chain_buffer
    - protocol::Message::GET_CERTIFICATE
    - protocol::Message::CERTIFICATE
    - Vec::new
    - push
    - as_ref
    linkageType: ''
    returnType: (Vec
    signature: pub fn construct_certificate_positive() -> (Vec<TestSpdmMessage>, Vec<TestSpdmMessage>)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:216,1
    - Dst: Vec::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:217,1
    - Dst: super::version_rsp::construct_version_positive
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:219,1
    - Dst: super::capability_rsp::consturct_capability_positive
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:221,1
    - Dst: super::algorithm_rsp::consturct_algorithm_positive
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:223,1
    - Dst: push
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:225,1
    - Dst: push
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:226,1
    - Dst: push
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:227,1
    - Dst: push
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:228,1
    - Dst: push
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:229,1
    - Dst: push
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:230,1
    - Dst: construct_certificate_positive
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:232,1
    - Dst: extend
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:233,1
    - Dst: extend
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 241
      start: 215
    functionDepth: 12
    functionLinenumber: 215
    functionLinenumberEnd: 241
    functionName: test_case1_handle_spdm_certificate
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs
    functionUses: 0
    functionsReached:
    - construct_certificate_positive
    - super::version_rsp::construct_version_positive
    - extend
    - push
    - super::capability_rsp::consturct_capability_positive
    - Vec::new
    - super::algorithm_rsp::consturct_algorithm_positive
    linkageType: ''
    returnType: void
    signature: fn test_case1_handle_spdm_certificate()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs:23,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs:24,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs:24,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs:25,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs:26,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs:26,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs:26,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs:26,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs:30,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs:30,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs:31,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs:31,1
    - Dst: ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs:33,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs:44,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs:49,1
    - Dst: Writer::used_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs:49,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs:50,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs:50,1
    - Dst: SpdmGetCertificateRequestPayload::spdm_read
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs:52,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 22
    functionDepth: 11
    functionLinenumber: 22
    functionLinenumberEnd: 63
    functionName: test_encode_encap_requst_get_certificate
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - FakeSpdmDeviceIoReceve::new
    - secret::asym_sign::register
    - clone
    - common::util::create_info
    - SpdmMessageHeader::read
    - Option::unwrap
    - secret::pqc_asym_sign::register
    - Writer::init
    - Writer::used_slice
    - ResponderContext::new
    - Reader::init
    - SpdmGetCertificateRequestPayload::spdm_read
    - Mutex::new
    linkageType: ''
    returnType: void
    signature: fn test_encode_encap_requst_get_certificate()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs:67,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs:68,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs:68,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs:69,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs:70,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs:70,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs:70,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs:70,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs:74,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs:74,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs:75,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs:75,1
    - Dst: ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs:77,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs:88,1
    - Dst: SpdmMessagePayload::SpdmCertificateResponse
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs:94,1
    - Dst: is_none
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs:110,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs:111,1
    - Dst: SpdmCertChainBuffer::default
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs:111,1
    - Dst: bool::handle_encap_response_certificate
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs:113,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs:113,1
    - Dst: as_mut
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs:119,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs:119,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs:129,1
    - Dst: SpdmMessagePayload::SpdmCertificateResponse
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs:131,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs:146,1
    - Dst: SpdmMessagePayload::SpdmCertificateResponse
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs:148,1
    - Dst: as_mut
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs:161,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 102
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 66
    functionDepth: 5
    functionLinenumber: 66
    functionLinenumberEnd: 170
    functionName: test_handle_encap_response_certificate
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - FakeSpdmDeviceIoReceve::new
    - secret::asym_sign::register
    - clone
    - SpdmCertChainBuffer::default
    - common::util::create_info
    - SpdmMessagePayload::SpdmCertificateResponse
    - unwrap
    - as_mut
    - secret::pqc_asym_sign::register
    - Writer::init
    - bool::handle_encap_response_certificate
    - ResponderContext::new
    - is_none
    - Mutex::new
    - Some
    linkageType: ''
    returnType: void
    signature: fn test_handle_encap_response_certificate()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:24,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:25,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:25,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:26,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:27,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:27,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:27,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:27,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:30,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:37,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:37,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:38,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:38,1
    - Dst: crypto::hmac::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:39,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:39,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:43,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:43,1
    - Dst: setup
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:44,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:44,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:45,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:48,1
    - Dst: set_session_state
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:56,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:60,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:68,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:81,1
    - Dst: SpdmFinishRequestAttributes::empty
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:83,1
    - Dst: Box::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:91,1
    - Dst: Bytes::copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:100,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:101,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:103,1
    - Dst: bool::handle_spdm_finish
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:104,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 121
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 23
    functionDepth: 5
    functionLinenumber: 23
    functionLinenumberEnd: 107
    functionName: test_case0_handle_spdm_finish
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - SpdmSession::new
    - unwrap
    - secret::pqc_asym_sign::register
    - Writer::init
    - gen_array_clone
    - set_session_state
    - SpdmKemAlgo::empty
    - Mutex::new
    - FakeSpdmDeviceIoReceve::new
    - clone
    - executor::block_on
    - crypto::hmac::register
    - Bytes::copy_from_slice
    - setup
    - secret::asym_sign::register
    - common::util::create_info
    - set_crypto_param
    - bool::handle_spdm_finish
    - Box::new
    - SpdmFinishRequestAttributes::empty
    - copy_from_slice
    linkageType: ''
    returnType: void
    signature: fn test_case0_handle_spdm_finish()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:113,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:114,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:114,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:115,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:116,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:116,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:116,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:116,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:119,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:126,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:126,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:127,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:127,1
    - Dst: crypto::hmac::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:128,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:128,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:136,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:136,1
    - Dst: setup
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:137,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:137,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:138,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:141,1
    - Dst: set_session_state
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:145,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:147,1
    - Dst: crypto::hash::hash_ctx_init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:147,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:147,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:150,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:158,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:171,1
    - Dst: Box::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:181,1
    - Dst: Bytes::copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:191,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:192,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:194,1
    - Dst: bool::handle_spdm_finish
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 132
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 110
    functionDepth: 8
    functionLinenumber: 110
    functionLinenumberEnd: 196
    functionName: test_case1_handle_spdm_finish
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - SpdmSession::new
    - unwrap
    - Option::unwrap
    - secret::pqc_asym_sign::register
    - Writer::init
    - gen_array_clone
    - set_session_state
    - SpdmKemAlgo::empty
    - Mutex::new
    - FakeSpdmDeviceIoReceve::new
    - clone
    - crypto::hmac::register
    - Bytes::copy_from_slice
    - Some
    - setup
    - secret::asym_sign::register
    - common::util::create_info
    - set_crypto_param
    - bool::handle_spdm_finish
    - Box::new
    - crypto::hash::hash_ctx_init
    - copy_from_slice
    linkageType: ''
    returnType: void
    signature: fn test_case1_handle_spdm_finish()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:203,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:204,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:204,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:205,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:206,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:206,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:206,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:206,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:209,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:216,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:216,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:217,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:217,1
    - Dst: crypto::hmac::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:218,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:218,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:226,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:226,1
    - Dst: setup
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:227,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:227,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:228,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:231,1
    - Dst: set_session_state
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:235,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:237,1
    - Dst: crypto::hash::hash_ctx_init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:237,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:237,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:240,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:248,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:261,1
    - Dst: Box::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:271,1
    - Dst: Bytes::copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:281,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:282,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:284,1
    - Dst: bool::handle_spdm_finish
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:285,1
    - Dst: iter
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 139
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 293
      start: 200
    functionDepth: 8
    functionLinenumber: 200
    functionLinenumberEnd: 293
    functionName: test_case2_handle_spdm_finish
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - SpdmSession::new
    - unwrap
    - Option::unwrap
    - secret::pqc_asym_sign::register
    - Writer::init
    - gen_array_clone
    - set_session_state
    - SpdmKemAlgo::empty
    - Mutex::new
    - FakeSpdmDeviceIoReceve::new
    - clone
    - crypto::hmac::register
    - Bytes::copy_from_slice
    - Some
    - setup
    - secret::asym_sign::register
    - common::util::create_info
    - set_crypto_param
    - bool::handle_spdm_finish
    - iter
    - Box::new
    - crypto::hash::hash_ctx_init
    - copy_from_slice
    linkageType: ''
    returnType: void
    signature: fn test_case2_handle_spdm_finish()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:30,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:31,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:31,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:32,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:33,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:33,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:33,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:33,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:36,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:43,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:43,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:44,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:44,1
    - Dst: secret::measurement::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:45,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:45,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:54,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:60,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:68,1
    - Dst: SpdmMeasurementAttributes::empty
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:70,1
    - Dst: SpdmMeasurementOperation::Unknown
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:71,1
    - Dst: Bytes::copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:83,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:84,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:86,1
    - Dst: bool::handle_spdm_measurement
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:87,1
    - Dst: as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:91,1
    - Dst: iter
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:93,1
    - Dst: Self::IntoIter::enumerate
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:93,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:97,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:98,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:98,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:106,1
    - Dst: SpdmGetMeasurementsRequestPayload::spdm_read
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:108,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:108,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:120,1
    - Dst: SpdmMessage::spdm_read
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:122,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:122,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 146
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 28
    functionDepth: 11
    functionLinenumber: 28
    functionLinenumberEnd: 135
    functionName: test_case0_handle_spdm_measurement
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - Option::unwrap
    - secret::pqc_asym_sign::register
    - Writer::init
    - Mutex::new
    - FakeSpdmDeviceIoReceve::new
    - clone
    - secret::measurement::register
    - executor::block_on
    - set_connection_state
    - SpdmGetMeasurementsRequestPayload::spdm_read
    - SpdmMeasurementOperation::Unknown
    - Reader::init
    - Bytes::copy_from_slice
    - SpdmMeasurementAttributes::empty
    - secret::asym_sign::register
    - common::util::create_info
    - SpdmMessageHeader::read
    - SpdmMessage::spdm_read
    - iter
    - bool::handle_spdm_measurement
    - copy_from_slice
    - Self::IntoIter::enumerate
    - as_ref
    linkageType: ''
    returnType: void
    signature: fn test_case0_handle_spdm_measurement()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:140,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:141,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:141,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:142,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:143,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:143,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:143,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:143,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:146,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:153,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:153,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:154,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:154,1
    - Dst: secret::measurement::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:155,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:155,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:164,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:170,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:178,1
    - Dst: SpdmMeasurementAttributes::empty
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:180,1
    - Dst: Bytes::copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:193,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:194,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:196,1
    - Dst: bool::handle_spdm_measurement
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:197,1
    - Dst: as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:201,1
    - Dst: iter
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:203,1
    - Dst: Self::IntoIter::enumerate
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:203,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:207,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:208,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:208,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:216,1
    - Dst: SpdmGetMeasurementsRequestPayload::spdm_read
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:218,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:218,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:230,1
    - Dst: SpdmMessage::spdm_read
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:232,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:232,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 145
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 138
    functionDepth: 12
    functionLinenumber: 138
    functionLinenumberEnd: 248
    functionName: test_case1_handle_spdm_measurement
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - Option::unwrap
    - secret::pqc_asym_sign::register
    - Writer::init
    - Mutex::new
    - FakeSpdmDeviceIoReceve::new
    - clone
    - secret::measurement::register
    - executor::block_on
    - set_connection_state
    - SpdmGetMeasurementsRequestPayload::spdm_read
    - Reader::init
    - Bytes::copy_from_slice
    - SpdmMeasurementAttributes::empty
    - secret::asym_sign::register
    - common::util::create_info
    - SpdmMessageHeader::read
    - SpdmMessage::spdm_read
    - iter
    - bool::handle_spdm_measurement
    - copy_from_slice
    - Self::IntoIter::enumerate
    - as_ref
    linkageType: ''
    returnType: void
    signature: fn test_case1_handle_spdm_measurement()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:255,1
    - Dst: Vec::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:256,1
    - Dst: super::version_rsp::construct_version_positive
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:258,1
    - Dst: super::capability_rsp::consturct_capability_positive
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:260,1
    - Dst: super::algorithm_rsp::consturct_algorithm_positive
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:262,1
    - Dst: super::certificate_rsp::construct_certificate_positive
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:264,1
    - Dst: push
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:266,1
    - Dst: push
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:267,1
    - Dst: push
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:268,1
    - Dst: push
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:269,1
    - Dst: push
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:270,1
    - Dst: push
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:271,1
    - Dst: extend
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:272,1
    - Dst: extend
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:273,1
    - Dst: push
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:275,1
    - Dst: push
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 2
    argNames:
    - get_measurement_msg
    - measurement_msg
    argTypes:
    - TestSpdmMessage
    - TestSpdmMessage
    constantsTouched: []
    func_position:
      end: 283
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 283
    functionName: test_handle_spdm_measurement_runner
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs
    functionUses: 1
    functionsReached:
    - super::version_rsp::construct_version_positive
    - super::certificate_rsp::construct_certificate_positive
    - extend
    - push
    - super::capability_rsp::consturct_capability_positive
    - Vec::new
    - super::algorithm_rsp::consturct_algorithm_positive
    linkageType: ''
    returnType: void
    signature: 'fn test_handle_spdm_measurement_runner(get_measurement_msg: TestSpdmMessage,measurement_msg:
      TestSpdmMessage,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spdmlib::secret::measurement::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:290,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:290,1
    - Dst: protocol::Message::GET_MEASUREMENTS
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:293,1
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:304,1
    - Dst: secret::measurement::measurement_collection
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:305,1
    - Dst: get_u8
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:309,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:305,1
    - Dst: protocol::Message::MEASUREMENTS
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:314,1
    - Dst: get
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:320,1
    - Dst: get
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:322,1
    - Dst: to_vec
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:321,1
    - Dst: Vec::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:326,1
    - Dst: Vec::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:327,1
    - Dst: test_handle_spdm_measurement_runner
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 333
      start: 287
    functionDepth: 10
    functionLinenumber: 287
    functionLinenumberEnd: 333
    functionName: test_case2_handle_spdm_measurements
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs
    functionUses: 0
    functionsReached:
    - clone
    - protocol::Message::GET_MEASUREMENTS
    - get_u8
    - secret::measurement::measurement_collection
    - common::util::create_info
    - Option::unwrap
    - to_vec
    - test_handle_spdm_measurement_runner
    - get
    - Vec::new
    - protocol::Message::MEASUREMENTS
    - spdmlib::secret::measurement::register
    linkageType: ''
    returnType: void
    signature: fn test_case2_handle_spdm_measurements()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:32,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:33,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:33,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:34,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:35,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:35,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:35,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:35,1
    - Dst: setup_test_context_and_session
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:39,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:47,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:60,1
    - Dst: bool::handle_get_encapsulated_request
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:61,1
    - Dst: lock
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:72,1
    - Dst: deref_mut
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:73,1
    - Dst: receive
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:74,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:75,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:75,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:74,1
    - Dst: decode_secured_message
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:81,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:81,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:89,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:90,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:90,1
    - Dst: SpdmEncapsulatedRequestPayload::spdm_read
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:91,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:99,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:99,1
    - Dst: SpdmGetDigestsRequestPayload::spdm_read
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:101,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 30
    functionDepth: 11
    functionLinenumber: 30
    functionLinenumberEnd: 111
    functionName: test_handle_get_encapsulated_request
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - unwrap
    - Option::unwrap
    - Writer::init
    - Mutex::new
    - FakeSpdmDeviceIoReceve::new
    - SpdmEncapsulatedRequestPayload::spdm_read
    - executor::block_on
    - lock
    - receive
    - decode_secured_message
    - Reader::init
    - common::util::create_info
    - SpdmMessageHeader::read
    - bool::handle_get_encapsulated_request
    - setup_test_context_and_session
    - deref_mut
    - SpdmGetDigestsRequestPayload::spdm_read
    linkageType: ''
    returnType: void
    signature: fn test_handle_get_encapsulated_request()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:116,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:117,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:117,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:118,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:119,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:119,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:119,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:119,1
    - Dst: setup_test_context_and_session
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:123,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:131,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:146,1
    - Dst: bool::handle_deliver_encapsulated_reponse
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:148,1
    - Dst: lock
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:160,1
    - Dst: deref_mut
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:161,1
    - Dst: receive
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:163,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:164,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:164,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:163,1
    - Dst: decode_secured_message
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:170,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:170,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:177,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:178,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:178,1
    - Dst: SpdmEncapsulatedResponseAckPayload::spdm_read
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:180,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:180,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:189,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:189,1
    - Dst: SpdmDigestsResponsePayload::spdm_read
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:190,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 83
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 114
    functionDepth: 11
    functionLinenumber: 114
    functionLinenumberEnd: 200
    functionName: test_handle_deliver_encapsulated_reponse_digest
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - unwrap
    - Option::unwrap
    - Writer::init
    - Mutex::new
    - FakeSpdmDeviceIoReceve::new
    - bool::handle_deliver_encapsulated_reponse
    - executor::block_on
    - receive
    - decode_secured_message
    - Reader::init
    - SpdmEncapsulatedResponseAckPayload::spdm_read
    - common::util::create_info
    - SpdmMessageHeader::read
    - setup_test_context_and_session
    - SpdmDigestsResponsePayload::spdm_read
    - deref_mut
    - lock
    linkageType: ''
    returnType: void
    signature: fn test_handle_deliver_encapsulated_reponse_digest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:205,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:206,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:206,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:207,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:208,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:208,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:208,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:208,1
    - Dst: setup_test_context_and_session
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:212,1
    - Dst: is_none
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:218,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:219,1
    - Dst: SpdmCertChainBuffer::default
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:219,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:223,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:238,1
    - Dst: bool::handle_deliver_encapsulated_reponse
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:240,1
    - Dst: lock
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:251,1
    - Dst: deref_mut
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:252,1
    - Dst: receive
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:254,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:255,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:255,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:254,1
    - Dst: decode_secured_message
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:261,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:261,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:268,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:269,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:269,1
    - Dst: SpdmEncapsulatedResponseAckPayload::spdm_read
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:271,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:271,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:280,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:280,1
    - Dst: SpdmDigestsResponsePayload::spdm_read
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:281,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:290,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 97
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 203
    functionDepth: 11
    functionLinenumber: 203
    functionLinenumberEnd: 291
    functionName: test_handle_deliver_encapsulated_reponse_cert
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - unwrap
    - Option::unwrap
    - Writer::init
    - Mutex::new
    - FakeSpdmDeviceIoReceve::new
    - SpdmCertChainBuffer::default
    - bool::handle_deliver_encapsulated_reponse
    - executor::block_on
    - receive
    - decode_secured_message
    - Reader::init
    - Some
    - SpdmEncapsulatedResponseAckPayload::spdm_read
    - common::util::create_info
    - SpdmMessageHeader::read
    - setup_test_context_and_session
    - SpdmDigestsResponsePayload::spdm_read
    - is_none
    - deref_mut
    - lock
    linkageType: ''
    returnType: void
    signature: fn test_handle_deliver_encapsulated_reponse_cert()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_hash_size
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:335,1
    - Dst: SpdmMessagePayload::SpdmDigestsResponse
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:343,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:345,1
    - Dst: Box::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:348,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:353,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:354,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:358,1
    - Dst: SpdmKeyUsageMask::empty
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:358,1
    - Dst: SpdmResult::spdm_encode
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:361,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:361,1
    - Dst: Ok
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 2
    argNames:
    - context
    - writer
    argTypes:
    - '&mut ResponderContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 366
      start: 331
    functionDepth: 5
    functionLinenumber: 331
    functionLinenumberEnd: 366
    functionName: write_spdm_get_digest_response
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs
    functionUses: 0
    functionsReached:
    - SpdmMessagePayload::SpdmDigestsResponse
    - SpdmKeyUsageMask::empty
    - Box::new
    - get_hash_size
    - Result::map_err
    - SpdmResult::spdm_encode
    - gen_array_clone
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: 'fn write_spdm_get_digest_response(context: &mut ResponderContext,writer:
      &mut Writer,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmMessagePayload::SpdmCertificateResponse
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:377,1
    - Dst: SpdmResult::spdm_encode
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:384,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:384,1
    - Dst: Ok
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 2
    argNames:
    - context
    - writer
    argTypes:
    - '&mut ResponderContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 389
      start: 368
    functionDepth: 4
    functionLinenumber: 368
    functionLinenumberEnd: 389
    functionName: write_spdm_get_certificate_response
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs
    functionUses: 0
    functionsReached:
    - SpdmMessagePayload::SpdmCertificateResponse
    - Ok
    - SpdmResult::spdm_encode
    - Result::map_err
    linkageType: ''
    returnType: SpdmResult
    signature: 'fn write_spdm_get_certificate_response(context: &mut ResponderContext,writer:
      &mut Writer,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:30,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:31,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:31,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:32,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:33,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:33,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:33,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:33,1
    - Dst: secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:37,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:37,1
    - Dst: secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:38,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:38,1
    - Dst: secret::measurement::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:39,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:39,1
    - Dst: crypto::rand::register
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:40,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:40,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:42,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:49,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:65,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:88,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:96,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:111,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:112,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:115,1
    - Dst: as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:120,1
    - Dst: iter
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:128,1
    - Dst: Self::IntoIter::enumerate
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:128,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:132,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:133,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:133,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:141,1
    - Dst: SpdmChallengeRequestPayload::spdm_read
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:143,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:143,1
    - Dst: Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:154,1
    - Dst: SpdmMessage::spdm_read
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:156,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:156,1
    - Dst: crypto::hash::hash_all
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:163,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:165,1
    - Dst: as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:165,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:163,1
    - Dst: iter
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:190,1
    - Dst: enumerate
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:190,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:196,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 227
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 24
    functionDepth: 11
    functionLinenumber: 24
    functionLinenumberEnd: 197
    functionName: test_case0_handle_spdm_challenge
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - unwrap
    - Option::unwrap
    - secret::pqc_asym_sign::register
    - Writer::init
    - Mutex::new
    - FakeSpdmDeviceIoReceve::new
    - clone
    - secret::measurement::register
    - executor::block_on
    - set_connection_state
    - Reader::init
    - Some
    - crypto::rand::register
    - secret::asym_sign::register
    - crypto::hash::hash_all
    - enumerate
    - common::util::create_info
    - SpdmMessageHeader::read
    - SpdmMessage::spdm_read
    - iter
    - copy_from_slice
    - Self::IntoIter::enumerate
    - as_ref
    - SpdmChallengeRequestPayload::spdm_read
    linkageType: ''
    returnType: void
    signature: fn test_case0_handle_spdm_challenge()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:204,1
    - Dst: Vec::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:205,1
    - Dst: common::util::create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:207,1
    - Dst: super::version_rsp::construct_version_positive
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:208,1
    - Dst: super::capability_rsp::consturct_capability_positive
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:210,1
    - Dst: super::algorithm_rsp::consturct_algorithm_positive
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:212,1
    - Dst: push
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:214,1
    - Dst: push
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:215,1
    - Dst: push
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:216,1
    - Dst: push
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:217,1
    - Dst: push
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:218,1
    - Dst: push
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:219,1
    - Dst: as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:221,1
    - Dst: TestCase::get_certificate_chain_buffer
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:222,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:224,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:224,1
    - Dst: SpdmResult::as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:226,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:226,1
    - Dst: SpdmResult::as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:229,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:229,1
    - Dst: usize::div_ceil
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:229,1
    - Dst: protocol::Message::GET_CERTIFICATE
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:243,1
    - Dst: protocol::Message::CERTIFICATE
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:255,1
    - Dst: SpdmResult::as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:262,1
    - Dst: to_vec
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:262,1
    - Dst: push
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:268,1
    - Dst: push
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:269,1
    - Dst: protocol::Message::CHALLENGE
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:273,1
    - Dst: SpdmPqcAsymAlgo::empty
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:283,1
    - Dst: get_sig_size
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:284,1
    - Dst: get_sig_size
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:286,1
    - Dst: protocol::Message::CHALLENGE_AUTH
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:289,1
    - Dst: spdmlib::crypto::hash::hash_all
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:295,1
    - Dst: SpdmResult::as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:297,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:295,1
    - Dst: as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:300,1
    - Dst: to_vec
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:300,1
    - Dst: Vec::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:303,1
    - Dst: Vec::new
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:305,1
    - Dst: push
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:311,1
    - Dst: push
      Src: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs:312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 120
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 319
      start: 201
    functionDepth: 11
    functionLinenumber: 201
    functionLinenumberEnd: 319
    functionName: test_case1_handle_spdm_challenge
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs
    functionUses: 0
    functionsReached:
    - SpdmResult::unwrap
    - usize::div_ceil
    - to_vec
    - get_sig_size
    - push
    - super::algorithm_rsp::consturct_algorithm_positive
    - super::version_rsp::construct_version_positive
    - Result::as_ref
    - SpdmResult::as_ref
    - protocol::Message::CERTIFICATE
    - Vec::new
    - common::util::create_info
    - super::capability_rsp::consturct_capability_positive
    - Option::expect
    - protocol::Message::CHALLENGE
    - '&[u8]::len'
    - spdmlib::crypto::hash::hash_all
    - TestCase::get_certificate_chain_buffer
    - SpdmPqcAsymAlgo::empty
    - protocol::Message::GET_CERTIFICATE
    - protocol::Message::CHALLENGE_AUTH
    - as_ref
    linkageType: ''
    returnType: void
    signature: fn test_case1_handle_spdm_challenge()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bytes::used
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/challenge.rs:18,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/challenge.rs:19,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/challenge.rs:20,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/challenge.rs:21,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/challenge.rs:22,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/challenge.rs:23,1
    - Dst: Ok
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/challenge.rs:24,1
    - Dst: Bytes::used
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/challenge.rs:24,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 25
      start: 17
    functionDepth: 3
    functionLinenumber: 17
    functionLinenumberEnd: 25
    functionName: CHALLENGE::encode
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/protocol/challenge.rs
    functionUses: 0
    functionsReached:
    - Ok
    - Bytes::used
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/challenge.rs:28,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/challenge.rs:29,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/challenge.rs:30,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/challenge.rs:31,1
    - Dst: <[u8; 32]>::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/challenge.rs:32,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/challenge.rs:33,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - reader
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 40
      start: 27
    functionDepth: 9
    functionLinenumber: 27
    functionLinenumberEnd: 40
    functionName: CHALLENGE::read
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/protocol/challenge.rs
    functionUses: 0
    functionsReached:
    - <[u8; 32]>::read
    - u8::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(reader: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/challenge.rs:59,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/challenge.rs:60,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/challenge.rs:61,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/challenge.rs:62,1
    - Dst: Vec::<u8>::read_vec
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/challenge.rs:63,1
    - Dst: <[u8; 32]>::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/challenge.rs:64,1
    - Dst: Vec::<u8>::read_vec
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/challenge.rs:65,1
    - Dst: u16::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/challenge.rs:66,1
    - Dst: Vec::<u8>::read_vec
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/challenge.rs:67,1
    - Dst: Vec::<u8>::read_vec
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/challenge.rs:68,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/challenge.rs:70,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - reader
    - H
    - SigLen
    argTypes:
    - '&mut codec::Reader'
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 82
      start: 58
    functionDepth: 9
    functionLinenumber: 58
    functionLinenumberEnd: 82
    functionName: CHALLENGE_AUTH::new
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/protocol/challenge.rs
    functionUses: 0
    functionsReached:
    - Vec::<u8>::read_vec
    - u8::read
    - u16::read
    - <[u8; 32]>::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn new(reader: &mut codec::Reader, H: usize, SigLen: usize) ->
      Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bytes::used
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/challenge.rs:87,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/challenge.rs:88,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/challenge.rs:89,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/challenge.rs:90,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/challenge.rs:91,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/challenge.rs:92,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/challenge.rs:93,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/challenge.rs:94,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/challenge.rs:95,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/challenge.rs:96,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/challenge.rs:97,1
    - Dst: Ok
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/challenge.rs:98,1
    - Dst: Bytes::used
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/challenge.rs:98,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 99
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 99
    functionName: CHALLENGE_AUTH::encode
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/protocol/challenge.rs
    functionUses: 0
    functionsReached:
    - Ok
    - Bytes::used
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames: []
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: CHALLENGE_AUTH::read
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/protocol/challenge.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Option
    signature: 'fn read(_: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bytes::used
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:53,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:54,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:55,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:56,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:57,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:58,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:59,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:60,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:61,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:62,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:63,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:64,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:65,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:66,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:67,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:68,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:69,1
    - Dst: Ok
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:71,1
    - Dst: Bytes::used
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:71,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 71
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 72
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 72
    functionName: NEGOTIATE_ALGORITHMS::encode
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs
    functionUses: 0
    functionsReached:
    - Ok
    - Bytes::used
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:75,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:76,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:77,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:78,1
    - Dst: u16::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:79,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:80,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:81,1
    - Dst: u32::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:82,1
    - Dst: u32::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:83,1
    - Dst: <[u8; 12]>::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:84,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:85,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:86,1
    - Dst: <[u8; 2]>::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:87,1
    - Dst: Vec::<u8>::read_vec
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:88,1
    - Dst: Vec::<u8>::read_vec
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:89,1
    - Dst: Vec::<[u8; ALG_STRUCT_SIZE]>::read_vec
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:90,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:91,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 1
    argNames:
    - reader
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 109
      start: 74
    functionDepth: 9
    functionLinenumber: 74
    functionLinenumberEnd: 109
    functionName: NEGOTIATE_ALGORITHMS::read
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs
    functionUses: 1
    functionsReached:
    - Vec::<u8>::read_vec
    - u32::read
    - u8::read
    - Vec::<[u8; ALG_STRUCT_SIZE]>::read_vec
    - u16::read
    - <[u8; 12]>::read
    - <[u8; 2]>::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(reader: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bytes::used
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:114,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:115,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:116,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:117,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:118,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:119,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:120,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:121,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:122,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:123,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:124,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:125,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:126,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:127,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:128,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:129,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:130,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:131,1
    - Dst: Ok
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:133,1
    - Dst: Bytes::used
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:133,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 75
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 134
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 134
    functionName: ALGORITHMS::encode
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs
    functionUses: 0
    functionsReached:
    - Ok
    - Bytes::used
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:137,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:138,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:139,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:140,1
    - Dst: u16::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:141,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:142,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:143,1
    - Dst: u32::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:144,1
    - Dst: u32::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:145,1
    - Dst: u32::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:146,1
    - Dst: <[u8; 12]>::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:147,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:148,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:149,1
    - Dst: <[u8; 2]>::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:150,1
    - Dst: Vec::<u8>::read_vec
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:151,1
    - Dst: Vec::<u8>::read_vec
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:152,1
    - Dst: Vec::<[u8; ALG_STRUCT_SIZE]>::read_vec
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:153,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs:154,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 1
    argNames:
    - reader
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 173
      start: 136
    functionDepth: 9
    functionLinenumber: 136
    functionLinenumberEnd: 173
    functionName: ALGORITHMS::read
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs
    functionUses: 1
    functionsReached:
    - Vec::<u8>::read_vec
    - u32::read
    - u8::read
    - Vec::<[u8; ALG_STRUCT_SIZE]>::read_vec
    - u16::read
    - <[u8; 12]>::read
    - <[u8; 2]>::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(reader: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bytes::used
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/certificate.rs:19,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/certificate.rs:20,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/certificate.rs:21,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/certificate.rs:22,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/certificate.rs:23,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/certificate.rs:24,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/certificate.rs:25,1
    - Dst: Ok
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/certificate.rs:26,1
    - Dst: Bytes::used
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/certificate.rs:26,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 27
      start: 18
    functionDepth: 3
    functionLinenumber: 18
    functionLinenumberEnd: 27
    functionName: GET_CERTIFICATE::encode
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/protocol/certificate.rs
    functionUses: 0
    functionsReached:
    - Ok
    - Bytes::used
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/certificate.rs:30,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/certificate.rs:31,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/certificate.rs:32,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/certificate.rs:33,1
    - Dst: u16::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/certificate.rs:34,1
    - Dst: u16::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/certificate.rs:35,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/certificate.rs:36,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - reader
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 44
      start: 29
    functionDepth: 9
    functionLinenumber: 29
    functionLinenumberEnd: 44
    functionName: GET_CERTIFICATE::read
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/protocol/certificate.rs
    functionUses: 1
    functionsReached:
    - u16::read
    - u8::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(reader: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bytes::used
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/certificate.rs:60,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/certificate.rs:61,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/certificate.rs:62,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/certificate.rs:63,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/certificate.rs:64,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/certificate.rs:65,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/certificate.rs:66,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/certificate.rs:67,1
    - Dst: Ok
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/certificate.rs:68,1
    - Dst: Bytes::used
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/certificate.rs:68,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 69
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 69
    functionName: CERTIFICATE::encode
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/protocol/certificate.rs
    functionUses: 0
    functionsReached:
    - Ok
    - Bytes::used
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/certificate.rs:72,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/certificate.rs:73,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/certificate.rs:74,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/certificate.rs:75,1
    - Dst: u16::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/certificate.rs:76,1
    - Dst: u16::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/certificate.rs:77,1
    - Dst: Vec::<u8>::read_vec
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/certificate.rs:78,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/certificate.rs:80,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - reader
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 89
      start: 71
    functionDepth: 9
    functionLinenumber: 71
    functionLinenumberEnd: 89
    functionName: CERTIFICATE::read
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/protocol/certificate.rs
    functionUses: 1
    functionsReached:
    - u16::read
    - Vec::<u8>::read_vec
    - u8::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(reader: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/mod.rs:40,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/mod.rs:41,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/mod.rs:42,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/mod.rs:43,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/mod.rs:44,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/mod.rs:45,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/mod.rs:46,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/mod.rs:47,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/mod.rs:48,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/mod.rs:49,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/mod.rs:50,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/mod.rs:51,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/mod.rs:52,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/mod.rs:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 55
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 55
    functionName: Message::encode
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/protocol/mod.rs
    functionUses: 0
    functionsReached:
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::rest
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/mod.rs:58,1
    - Dst: len
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/mod.rs:59,1
    - Dst: codec::Reader::init
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/mod.rs:62,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/mod.rs:65,1
    - Dst: Message::GET_VERSION
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/mod.rs:65,1
    - Dst: version::GET_VERSION::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/mod.rs:65,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/mod.rs:66,1
    - Dst: Message::VERSION
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/mod.rs:66,1
    - Dst: version::VERSION::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/mod.rs:66,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/mod.rs:67,1
    - Dst: Message::GET_CAPABILITIES
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/mod.rs:67,1
    - Dst: capability::GET_CAPABILITIES::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/mod.rs:68,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/mod.rs:70,1
    - Dst: Message::CAPABILITIES
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/mod.rs:70,1
    - Dst: capability::CAPABILITIES::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/mod.rs:70,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/mod.rs:73,1
    - Dst: Message::NEGOTIATE_ALGORITHMS
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/mod.rs:73,1
    - Dst: algorithm::NEGOTIATE_ALGORITHMS::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/mod.rs:74,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/mod.rs:76,1
    - Dst: Message::ALGORITHMS
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/mod.rs:76,1
    - Dst: algorithm::ALGORITHMS::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/mod.rs:76,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/mod.rs:77,1
    - Dst: Message::GET_CERTIFICATE
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/mod.rs:77,1
    - Dst: certificate::GET_CERTIFICATE::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/mod.rs:78,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/mod.rs:80,1
    - Dst: Message::CERTIFICATE
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/mod.rs:80,1
    - Dst: certificate::CERTIFICATE::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/mod.rs:80,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 1
    argNames:
    - reader
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 85
      start: 57
    functionDepth: 10
    functionLinenumber: 57
    functionLinenumberEnd: 85
    functionName: Message::read
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/protocol/mod.rs
    functionUses: 0
    functionsReached:
    - Message::GET_VERSION
    - Message::NEGOTIATE_ALGORITHMS
    - Message::CAPABILITIES
    - Message::GET_CAPABILITIES
    - version::GET_VERSION::read
    - algorithm::NEGOTIATE_ALGORITHMS::read
    - Message::ALGORITHMS
    - codec::Reader::init
    - Message::VERSION
    - algorithm::ALGORITHMS::read
    - Some
    - certificate::CERTIFICATE::read
    - version::VERSION::read
    - capability::CAPABILITIES::read
    - Message::CERTIFICATE
    - Message::GET_CERTIFICATE
    - len
    - Result::rest
    - capability::GET_CAPABILITIES::read
    - certificate::GET_CERTIFICATE::read
    linkageType: ''
    returnType: Option
    signature: 'fn read(reader: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bytes::used
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/digest.rs:16,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/digest.rs:17,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/digest.rs:18,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/digest.rs:19,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/digest.rs:20,1
    - Dst: Ok
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/digest.rs:21,1
    - Dst: Bytes::used
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/digest.rs:21,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 22
      start: 15
    functionDepth: 3
    functionLinenumber: 15
    functionLinenumberEnd: 22
    functionName: GET_DIGESTS::encode
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/protocol/digest.rs
    functionUses: 0
    functionsReached:
    - Ok
    - Bytes::used
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/digest.rs:25,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/digest.rs:26,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/digest.rs:27,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/digest.rs:28,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/digest.rs:29,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - reader
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 35
      start: 24
    functionDepth: 9
    functionLinenumber: 24
    functionLinenumberEnd: 35
    functionName: GET_DIGESTS::read
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/protocol/digest.rs
    functionUses: 0
    functionsReached:
    - u8::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(reader: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/digest.rs:49,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/digest.rs:50,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/digest.rs:51,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/digest.rs:52,1
    - Dst: count_ones
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/digest.rs:53,1
    - Dst: Vec::new
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/digest.rs:54,1
    - Dst: Vec::<u8>::read_vec
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/digest.rs:56,1
    - Dst: Self::push
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/digest.rs:57,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/digest.rs:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - reader
    - H
    argTypes:
    - '&mut codec::Reader'
    - usize
    constantsTouched: []
    func_position:
      end: 67
      start: 48
    functionDepth: 9
    functionLinenumber: 48
    functionLinenumberEnd: 67
    functionName: DIGESTS::new
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/protocol/digest.rs
    functionUses: 0
    functionsReached:
    - Vec::<u8>::read_vec
    - u8::read
    - Self::push
    - count_ones
    - Vec::new
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn new(reader: &mut codec::Reader, H: usize) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bytes::used
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/digest.rs:72,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/digest.rs:73,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/digest.rs:74,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/digest.rs:75,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/digest.rs:76,1
    - Dst: as_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/digest.rs:77,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/digest.rs:78,1
    - Dst: Ok
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/digest.rs:80,1
    - Dst: Bytes::used
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/digest.rs:80,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 81
    functionName: DIGESTS::encode
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/protocol/digest.rs
    functionUses: 0
    functionsReached:
    - Vec::encode
    - Bytes::used
    - as_slice
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames: []
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: DIGESTS::read
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/protocol/digest.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Option
    signature: 'fn read(_: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SealingKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips/chacha20_poly1305_openssh.rs:12,1
    - Dst: Vec::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips/chacha20_poly1305_openssh.rs:14,1
    - Dst: bool::extend_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips/chacha20_poly1305_openssh.rs:17,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips/chacha20_poly1305_openssh.rs:18,1
    - Dst: bool::extend_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips/chacha20_poly1305_openssh.rs:26,1
    - Dst: fips::assert_fips_status_indicator
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips/chacha20_poly1305_openssh.rs:30,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips/chacha20_poly1305_openssh.rs:36,1
    - Dst: OpeningKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips/chacha20_poly1305_openssh.rs:38,1
    - Dst: fips::assert_fips_status_indicator
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips/chacha20_poly1305_openssh.rs:40,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips/chacha20_poly1305_openssh.rs:46,1
    - Dst: fips::assert_fips_status_indicator
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips/chacha20_poly1305_openssh.rs:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 10
    functionDepth: 2
    functionLinenumber: 10
    functionLinenumberEnd: 60
    functionName: test
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips/chacha20_poly1305_openssh.rs
    functionUses: 45
    functionsReached:
    - SealingKey::new
    - OpeningKey::new
    - bool::extend_from_slice
    - copy_from_slice
    - len
    - fips::assert_fips_status_indicator
    - Vec::new
    linkageType: ''
    returnType: void
    signature: fn test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bytes::used
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs:21,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs:22,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs:23,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs:24,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs:25,1
    - Dst: as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs:27,1
    - Dst: ok_or
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs:27,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs:27,1
    - Dst: ok_or
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs:28,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs:28,1
    - Dst: Ok
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs:30,1
    - Dst: Bytes::used
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs:30,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 31
      start: 20
    functionDepth: 3
    functionLinenumber: 20
    functionLinenumberEnd: 31
    functionName: GET_MEASUREMENTS::encode
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs
    functionUses: 0
    functionsReached:
    - ok_or
    - Bytes::used
    - as_ref
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs:34,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs:35,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs:36,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs:37,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs:41,1
    - Dst: Vec::<u8>::read_vec
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs:41,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs:42,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs:42,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs:48,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - reader
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 56
      start: 33
    functionDepth: 9
    functionLinenumber: 33
    functionLinenumberEnd: 56
    functionName: GET_MEASUREMENTS::read
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs
    functionUses: 0
    functionsReached:
    - Vec::<u8>::read_vec
    - u8::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(reader: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs:76,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs:77,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs:78,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs:79,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs:80,1
    - Dst: u24::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs:81,1
    - Dst: get
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs:81,1
    - Dst: Vec::<u8>::read_vec
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs:83,1
    - Dst: <[u8; NONCE_LEN]>::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs:84,1
    - Dst: u16::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs:85,1
    - Dst: Vec::<u8>::read_vec
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs:86,1
    - Dst: Vec::<u8>::read_vec
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs:87,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs:89,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - reader
    - SigLen
    argTypes:
    - '&mut codec::Reader'
    - usize
    constantsTouched: []
    func_position:
      end: 102
      start: 75
    functionDepth: 9
    functionLinenumber: 75
    functionLinenumberEnd: 102
    functionName: MEASUREMENTS::new
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs
    functionUses: 0
    functionsReached:
    - Vec::<u8>::read_vec
    - u8::read
    - u24::read
    - u16::read
    - get
    - <[u8; NONCE_LEN]>::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn new(reader: &mut codec::Reader, SigLen: usize) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bytes::used
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs:107,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs:108,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs:109,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs:110,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs:111,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs:112,1
    - Dst: u24::new
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs:113,1
    - Dst: u24::encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs:113,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs:114,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs:115,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs:116,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs:117,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs:118,1
    - Dst: Ok
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs:119,1
    - Dst: Bytes::used
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs:119,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 120
      start: 106
    functionDepth: 3
    functionLinenumber: 106
    functionLinenumberEnd: 120
    functionName: MEASUREMENTS::encode
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs
    functionUses: 0
    functionsReached:
    - encode
    - u24::encode
    - Bytes::used
    - Ok
    - u24::new
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - _reader
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: MEASUREMENTS::read
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Option
    signature: 'fn read(_reader: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bytes::used
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs:37,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs:38,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs:39,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs:40,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs:41,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs:42,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs:43,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs:44,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs:45,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs:46,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs:47,1
    - Dst: Ok
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs:48,1
    - Dst: Bytes::used
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs:48,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 49
      start: 36
    functionDepth: 3
    functionLinenumber: 36
    functionLinenumberEnd: 49
    functionName: GET_CAPABILITIES::encode
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs
    functionUses: 0
    functionsReached:
    - Ok
    - Bytes::used
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs:52,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs:53,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs:54,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs:55,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs:56,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs:57,1
    - Dst: u16::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs:58,1
    - Dst: u32::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs:59,1
    - Dst: u32::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs:60,1
    - Dst: u32::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs:61,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs:62,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - reader
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 74
      start: 51
    functionDepth: 9
    functionLinenumber: 51
    functionLinenumberEnd: 74
    functionName: GET_CAPABILITIES::read
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs
    functionUses: 1
    functionsReached:
    - u16::read
    - u32::read
    - u8::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(reader: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bytes::used
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs:79,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs:80,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs:81,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs:82,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs:83,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs:84,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs:85,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs:86,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs:87,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs:88,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs:89,1
    - Dst: Ok
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs:90,1
    - Dst: Bytes::used
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs:90,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 91
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 91
    functionName: CAPABILITIES::encode
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs
    functionUses: 0
    functionsReached:
    - Ok
    - Bytes::used
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs:94,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs:95,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs:96,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs:97,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs:98,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs:99,1
    - Dst: u16::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs:100,1
    - Dst: u32::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs:101,1
    - Dst: u32::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs:102,1
    - Dst: u32::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs:103,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs:104,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - reader
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 116
      start: 93
    functionDepth: 9
    functionLinenumber: 93
    functionLinenumberEnd: 116
    functionName: CAPABILITIES::read
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs
    functionUses: 1
    functionsReached:
    - u16::read
    - u32::read
    - u8::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(reader: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bytes::used
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/version.rs:29,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/version.rs:30,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/version.rs:31,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/version.rs:32,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/version.rs:33,1
    - Dst: Ok
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/version.rs:34,1
    - Dst: Bytes::used
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/version.rs:34,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 3
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: GET_VERSION::encode
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/protocol/version.rs
    functionUses: 0
    functionsReached:
    - Ok
    - Bytes::used
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/version.rs:38,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/version.rs:39,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/version.rs:40,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/version.rs:41,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/version.rs:42,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - reader
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 48
      start: 37
    functionDepth: 9
    functionLinenumber: 37
    functionLinenumberEnd: 48
    functionName: GET_VERSION::read
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/protocol/version.rs
    functionUses: 1
    functionsReached:
    - u8::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(reader: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bytes::used
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/version.rs:53,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/version.rs:54,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/version.rs:55,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/version.rs:56,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/version.rs:57,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/version.rs:58,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/version.rs:59,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/version.rs:60,1
    - Dst: Ok
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/version.rs:61,1
    - Dst: Bytes::used
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/version.rs:61,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: VERSION::encode
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/protocol/version.rs
    functionUses: 0
    functionsReached:
    - Ok
    - Bytes::used
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/version.rs:65,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/version.rs:66,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/version.rs:67,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/version.rs:68,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/version.rs:69,1
    - Dst: u8::read
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/version.rs:70,1
    - Dst: Vec::<u16>::read_vec
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/version.rs:71,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/protocol/version.rs:72,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - reader
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 81
      start: 64
    functionDepth: 9
    functionLinenumber: 64
    functionLinenumberEnd: 81
    functionName: VERSION::read
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/protocol/version.rs
    functionUses: 1
    functionsReached:
    - Vec::<u16>::read_vec
    - u8::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(reader: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/common/secret_callback.rs:353,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/common/secret_callback.rs:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - spdm_context
    - base_hash_algo
    - base_asym_algo
    - data
    argTypes:
    - '&SpdmContext'
    - SpdmBaseHashAlgo
    - SpdmBaseAsymAlgo
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 368
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 368
    functionName: fake_asym_sign
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/common/secret_callback.rs
    functionUses: 0
    functionsReached:
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn fake_asym_sign(spdm_context: &SpdmContext,base_hash_algo: SpdmBaseHashAlgo,base_asym_algo:
      SpdmBaseAsymAlgo,data: &[u8],) -> Option<SpdmSignatureStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/common/secret_callback.rs:377,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/common/secret_callback.rs:381,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/common/secret_callback.rs:385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 4
    argNames:
    - spdm_context
    - base_hash_algo
    - pqc_asym_algo
    - data
    argTypes:
    - '&SpdmContext'
    - SpdmBaseHashAlgo
    - SpdmPqcAsymAlgo
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 393
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 393
    functionName: fake_pqc_asym_sign
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/common/secret_callback.rs
    functionUses: 0
    functionsReached:
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn fake_pqc_asym_sign(spdm_context: &SpdmContext,base_hash_algo: SpdmBaseHashAlgo,pqc_asym_algo:
      SpdmPqcAsymAlgo,data: &[u8],) -> Option<SpdmSignatureStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:37,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:38,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:39,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:40,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:41,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:90,1
    - Dst: SecuredMessageVersion::try_from
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:90,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:90,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:91,1
    - Dst: SecuredMessageVersion::try_from
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:91,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:91,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:92,1
    - Dst: SecuredMessageVersion::try_from
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:92,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:92,1
    - Dst: Default::default
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:95,1
    - Dst: Default::default
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:99,1
    - Dst: Default::default
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:102,1
    - Dst: get_test_key_directory
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:105,1
    - Dst: PathBuf::join
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:106,1
    - Dst: std::fs::read
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:107,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:107,1
    - Dst: PathBuf::join
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:108,1
    - Dst: std::fs::read
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:109,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:109,1
    - Dst: PathBuf::join
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:110,1
    - Dst: std::fs::read
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:111,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:111,1
    - Dst: len
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:113,1
    - Dst: len
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:114,1
    - Dst: len
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:115,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:118,1
    - Dst: as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:118,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:119,1
    - Dst: as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:119,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:120,1
    - Dst: as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:121,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:124,1
    - Dst: as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:124,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:126,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:127,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:131,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:145,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:147,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:157,1
    - Dst: SpdmKeyUsageMask::empty
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 147
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 169
    functionName: create_info
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/common/util.rs
    functionUses: 132
    functionsReached:
    - std::fs::read
    - SpdmKeyUsageMask::empty
    - get_test_key_directory
    - Result::unwrap
    - gen_array_clone
    - PathBuf::join
    - SecuredMessageVersion::try_from
    - len
    - copy_from_slice
    - as_ref
    - Option::expect
    - Default::default
    - Some
    linkageType: ''
    returnType: (SpdmConfigInfo, SpdmProvisionInfo)
    signature: pub fn create_info() -> (SpdmConfigInfo, SpdmProvisionInfo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:175,1
    - Dst: SpdmContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - my_spdm_device_io
    - pcidoe_transport_encap
    argTypes:
    - Arc<Mutex<dyn SpdmDeviceIo + Send + Sync>>
    - Arc<Mutex<dyn SpdmTransportEncap + Send + Sync>>
    constantsTouched: []
    func_position:
      end: 184
      start: 171
    functionDepth: 6
    functionLinenumber: 171
    functionLinenumberEnd: 184
    functionName: new_context
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/common/util.rs
    functionUses: 13
    functionsReached:
    - SpdmContext::new
    - create_info
    linkageType: ''
    returnType: SpdmContext
    signature: 'pub fn new_context(my_spdm_device_io: Arc<Mutex<dyn SpdmDeviceIo +
      Send + Sync>>,pcidoe_transport_encap: Arc<Mutex<dyn SpdmTransportEncap + Send
      + Sync>>,) -> SpdmContext'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/mod_test.common.inc.rs:36,1
    - Dst: u8::spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/mod_test.common.inc.rs:37,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/mod_test.common.inc.rs:38,1
    - Dst: SpdmMessage::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/mod_test.common.inc.rs:39,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/mod_test.common.inc.rs:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - value
    - context
    argTypes:
    - SpdmMessage
    - SpdmContext
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 13
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: new_spdm_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/mod_test.common.inc.rs
    functionUses: 25
    functionsReached:
    - Option::unwrap
    - Writer::init
    - u8::spdm_encode
    - Reader::init
    - SpdmMessage::spdm_read
    linkageType: ''
    returnType: SpdmMessage
    signature: 'pub fn new_spdm_message(value: SpdmMessage, mut context: SpdmContext)
      -> SpdmMessage'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:218,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:219,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:220,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:221,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:222,1
    - Dst: super::use_ecdsa
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:227,1
    - Dst: super::req_use_ecdsa
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:235,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:246,1
    - Dst: SecuredMessageVersion::try_from
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:246,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:246,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:247,1
    - Dst: SecuredMessageVersion::try_from
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:247,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:247,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:248,1
    - Dst: SecuredMessageVersion::try_from
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:248,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:248,1
    - Dst: Default::default
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:251,1
    - Dst: Default::default
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:255,1
    - Dst: get_test_key_directory
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:258,1
    - Dst: super::use_ecdsa
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:259,1
    - Dst: PathBuf::join
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:260,1
    - Dst: PathBuf::join
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:262,1
    - Dst: std::fs::read
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:264,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:264,1
    - Dst: super::use_ecdsa
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:265,1
    - Dst: PathBuf::join
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:266,1
    - Dst: PathBuf::join
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:268,1
    - Dst: std::fs::read
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:270,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:270,1
    - Dst: super::use_ecdsa
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:271,1
    - Dst: PathBuf::join
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:272,1
    - Dst: PathBuf::join
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:274,1
    - Dst: std::fs::read
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:276,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:276,1
    - Dst: len
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:278,1
    - Dst: len
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:279,1
    - Dst: len
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:280,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:289,1
    - Dst: as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:289,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:291,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:292,1
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:295,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:295,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:296,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:296,1
    - Dst: Default::default
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:298,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:302,1
    - Dst: as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:302,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:303,1
    - Dst: as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:303,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:304,1
    - Dst: as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:305,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:309,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:323,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:325,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:335,1
    - Dst: SpdmKeyUsageMask::empty
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:335,1
    - Dst: Default::default
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:350,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 162
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 355
      start: 195
    functionDepth: 11
    functionLinenumber: 195
    functionLinenumberEnd: 355
    functionName: req_create_info
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/common/util.rs
    functionUses: 21
    functionsReached:
    - clone
    - std::fs::read
    - SpdmKeyUsageMask::empty
    - get_test_key_directory
    - Result::unwrap
    - gen_array_clone
    - super::use_ecdsa
    - PathBuf::join
    - SecuredMessageVersion::try_from
    - super::req_use_ecdsa
    - len
    - copy_from_slice
    - spdmlib::secret::asym_sign::register
    - spdmlib::secret::pqc_asym_sign::register
    - as_ref
    - Option::expect
    - Default::default
    - Some
    linkageType: ''
    returnType: (SpdmConfigInfo, SpdmProvisionInfo)
    signature: pub fn req_create_info() -> (SpdmConfigInfo, SpdmProvisionInfo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:385,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:386,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:387,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:388,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:389,1
    - Dst: super::use_ecdsa
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:395,1
    - Dst: super::req_use_ecdsa
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:403,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:415,1
    - Dst: SecuredMessageVersion::try_from
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:415,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:415,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:416,1
    - Dst: SecuredMessageVersion::try_from
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:416,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:416,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:417,1
    - Dst: SecuredMessageVersion::try_from
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:417,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:417,1
    - Dst: Default::default
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:420,1
    - Dst: Default::default
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:424,1
    - Dst: get_test_key_directory
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:427,1
    - Dst: super::use_ecdsa
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:428,1
    - Dst: PathBuf::join
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:429,1
    - Dst: PathBuf::join
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:431,1
    - Dst: std::fs::read
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:434,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:434,1
    - Dst: super::use_ecdsa
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:435,1
    - Dst: PathBuf::join
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:436,1
    - Dst: PathBuf::join
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:438,1
    - Dst: std::fs::read
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:440,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:440,1
    - Dst: super::use_ecdsa
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:441,1
    - Dst: PathBuf::join
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:442,1
    - Dst: PathBuf::join
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:444,1
    - Dst: std::fs::read
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:446,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:446,1
    - Dst: len
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:448,1
    - Dst: len
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:449,1
    - Dst: len
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:450,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:459,1
    - Dst: as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:459,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:460,1
    - Dst: as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:460,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:461,1
    - Dst: as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:462,1
    - Dst: Default::default
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:465,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:468,1
    - Dst: as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:468,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:469,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:470,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:474,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:488,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:490,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:500,1
    - Dst: SpdmKeyUsageMask::empty
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:500,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 154
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 512
      start: 357
    functionDepth: 11
    functionLinenumber: 357
    functionLinenumberEnd: 512
    functionName: rsp_create_info
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/common/util.rs
    functionUses: 31
    functionsReached:
    - std::fs::read
    - SpdmKeyUsageMask::empty
    - get_test_key_directory
    - Result::unwrap
    - gen_array_clone
    - super::use_ecdsa
    - PathBuf::join
    - SecuredMessageVersion::try_from
    - super::req_use_ecdsa
    - len
    - copy_from_slice
    - as_ref
    - Option::expect
    - Default::default
    - Some
    linkageType: ''
    returnType: (SpdmConfigInfo, SpdmProvisionInfo)
    signature: pub fn rsp_create_info() -> (SpdmConfigInfo, SpdmProvisionInfo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::cert_operation::get_cert_from_cert_chain
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:529,1
    - Dst: SpdmResult::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:529,1
    - Dst: crypto::hash::hash_all
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:533,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:533,1
    - Dst: SpdmCertChainBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:535,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:535,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 537
      start: 524
    functionDepth: 10
    functionLinenumber: 524
    functionLinenumberEnd: 537
    functionName: get_rsp_cert_chain_buff
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/common/util.rs
    functionUses: 22
    functionsReached:
    - crypto::hash::hash_all
    - Result::as_ref
    - SpdmResult::expect
    - SpdmCertChainBuffer::new
    - crypto::cert_operation::get_cert_from_cert_chain
    - Option::expect
    linkageType: ''
    returnType: SpdmCertChainBuffer
    signature: pub fn get_rsp_cert_chain_buff() -> SpdmCertChainBuffer
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_info
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 554
      start: 552
    functionDepth: 6
    functionLinenumber: 552
    functionLinenumberEnd: 554
    functionName: TestCase::config
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/common/util.rs
    functionUses: 1
    functionsReached:
    - create_info
    linkageType: ''
    returnType: (SpdmConfigInfo, SpdmProvisionInfo)
    signature: pub fn config() -> (SpdmConfigInfo, SpdmProvisionInfo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: VecDeque::new
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:557,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:560,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:561,1
    - Dst: expect
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:561,1
    - Dst: Option::extend
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:565,1
    - Dst: iter
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:565,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - cb
    argTypes:
    - 'fn(secure: u8, bufer: &[u8]) -> VecDeque<u8>'
    constantsTouched: []
    func_position:
      end: 568
      start: 556
    functionDepth: 3
    functionLinenumber: 556
    functionLinenumberEnd: 568
    functionName: TestCase::input_to_vec
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/common/util.rs
    functionUses: 0
    functionsReached:
    - VecDeque::new
    - iter
    - Writer::init
    - Option::extend
    - expect
    - encode
    linkageType: ''
    returnType: VecDeque
    signature: 'pub fn input_to_vec(&self, cb: fn(secure: u8, bufer: &[u8]) -> VecDeque<u8>)
      -> VecDeque<u8>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: VecDeque::new
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:573,1
    - Dst: Writer::init
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:576,1
    - Dst: encode
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:577,1
    - Dst: expect
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:577,1
    - Dst: Option::extend
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:581,1
    - Dst: iter
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - cb
    argTypes:
    - 'fn(secure: u8, bufer: &[u8]) -> VecDeque<u8>'
    constantsTouched: []
    func_position:
      end: 584
      start: 569
    functionDepth: 3
    functionLinenumber: 569
    functionLinenumberEnd: 584
    functionName: TestCase::expected_to_vec
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/common/util.rs
    functionUses: 0
    functionsReached:
    - VecDeque::new
    - iter
    - Writer::init
    - Option::extend
    - expect
    - encode
    linkageType: ''
    returnType: VecDeque
    signature: 'pub fn expected_to_vec(&self,cb: fn(secure: u8, bufer: &[u8]) -> VecDeque<u8>,)
      -> VecDeque<u8>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::cert_operation::get_cert_from_cert_chain
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:591,1
    - Dst: SpdmResult::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:591,1
    - Dst: crypto::hash::hash_all
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:595,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:595,1
    - Dst: SpdmCertChainBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:597,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:597,1
    - Dst: Option::expect
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - hash_algo
    - cert_chain
    argTypes:
    - SpdmBaseHashAlgo
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 599
      start: 586
    functionDepth: 10
    functionLinenumber: 586
    functionLinenumberEnd: 599
    functionName: TestCase::get_certificate_chain_buffer
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/common/util.rs
    functionUses: 3
    functionsReached:
    - crypto::hash::hash_all
    - Result::as_ref
    - SpdmResult::expect
    - SpdmCertChainBuffer::new
    - crypto::cert_operation::get_cert_from_cert_chain
    - Option::expect
    linkageType: ''
    returnType: SpdmCertChainBuffer
    signature: 'pub fn get_certificate_chain_buffer(hash_algo: SpdmBaseHashAlgo,cert_chain:
      &[u8],) -> SpdmCertChainBuffer'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spdmlib::crypto::aead::register
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:609,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:609,1
    - Dst: spdmlib::crypto::rand::register
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:610,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:610,1
    - Dst: spdmlib::crypto::asym_verify::register
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:611,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:611,1
    - Dst: spdmlib::crypto::pqc_asym_verify::register
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:612,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:612,1
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:613,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:613,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:614,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:614,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:616,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:616,1
    - Dst: VecDeque::<u8>::new
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:616,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:617,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:617,1
    - Dst: Option::input_to_vec
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:617,1
    - Dst: Arc::clone
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:618,1
    - Dst: TestSpdmDeviceIo::new
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:621,1
    - Dst: TestCase::config
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:623,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:624,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:625,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:625,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:626,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:626,1
    - Dst: bool::process_message
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:632,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:643,1
    - Dst: Option::expected_to_vec
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:646,1
    - Dst: lock
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:647,1
    - Dst: make_contiguous
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:648,1
    - Dst: make_contiguous
      Src: /src/spdm-rs/test/spdmlib-test/src/common/util.rs:649,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 69
    argCount: 2
    argNames:
    - case
    - cb
    argTypes:
    - TestCase
    - 'fn(secure: u8, bufer: &[u8]) -> VecDeque<u8>'
    constantsTouched: []
    func_position:
      end: 653
      start: 604
    functionDepth: 7
    functionLinenumber: 604
    functionLinenumberEnd: 653
    functionName: ResponderRunner::run
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/common/util.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - VecDeque::<u8>::new
    - responder::ResponderContext::new
    - spdmlib::crypto::asym_verify::register
    - spdmlib::secret::asym_sign::register
    - Option::expected_to_vec
    - Mutex::new
    - spdmlib::crypto::aead::register
    - clone
    - executor::block_on
    - TestSpdmDeviceIo::new
    - spdmlib::secret::pqc_asym_sign::register
    - Arc::clone
    - TestCase::config
    - bool::process_message
    - make_contiguous
    - spdmlib::crypto::pqc_asym_verify::register
    - Option::input_to_vec
    - spdmlib::crypto::rand::register
    - lock
    linkageType: ''
    returnType: bool
    signature: 'pub fn run(case: TestCase, cb: fn(secure: u8, bufer: &[u8]) -> VecDeque<u8>)
      -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/spdm-rs/test/spdmlib-test/src/common/crypto_callback.rs:50,1
    - Dst: Some
      Src: /src/spdm-rs/test/spdmlib-test/src/common/crypto_callback.rs:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - _base_hash_algo
    - _key
    - _data
    argTypes:
    - SpdmBaseHashAlgo
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: fake_hmac
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/common/crypto_callback.rs
    functionUses: 0
    functionsReached:
    - Box::new
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn fake_hmac(_base_hash_algo: SpdmBaseHashAlgo,_key: &[u8],_data:
      &[u8],) -> Option<SpdmDigestStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/test/spdmlib-test/src/common/crypto_callback.rs:63,1
    - Dst: Err
      Src: /src/spdm-rs/test/spdmlib-test/src/common/crypto_callback.rs:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - _base_hash_algo
    - _key
    - _data
    - hmac
    argTypes:
    - SpdmBaseHashAlgo
    - '&[u8]'
    - '&[u8]'
    - '&SpdmDigestStruct'
    constantsTouched: []
    func_position:
      end: 66
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 66
    functionName: fake_hmac_verify
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/common/crypto_callback.rs
    functionUses: 0
    functionsReached:
    - Err
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: 'fn fake_hmac_verify(_base_hash_algo: SpdmBaseHashAlgo,_key: &[u8],_data:
      &[u8],hmac: &SpdmDigestStruct,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_aead_impl.rs:23,1
    - Dst: '&mut [u8]::len'
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_aead_impl.rs:24,1
    - Dst: '&mut [u8]::copy_from_slice'
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_aead_impl.rs:28,1
    - Dst: Ok
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_aead_impl.rs:29,1
    - Dst: Tag::len
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_aead_impl.rs:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 7
    argNames:
    - _aead_algo
    - _key
    - _iv
    - _aad
    - plain_text
    - tag
    - cipher_text
    argTypes:
    - SpdmAeadAlgo
    - '&SpdmAeadKeyStruct'
    - '&SpdmAeadIvStruct'
    - '&[u8]'
    - '&[u8]'
    - '&mut [u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 30
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 30
    functionName: fake_encrypt
    functionSourceFile: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_aead_impl.rs
    functionUses: 0
    functionsReached:
    - '&mut [u8]::copy_from_slice'
    - Tag::len
    - '&[u8]::len'
    - '&mut [u8]::len'
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: 'fn fake_encrypt(_aead_algo: SpdmAeadAlgo,_key: &SpdmAeadKeyStruct,_iv:
      &SpdmAeadIvStruct,_aad: &[u8],plain_text: &[u8],tag: &mut [u8],cipher_text:
      &mut [u8],) -> SpdmResult<(usize, usize)>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut [u8]::len'
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_aead_impl.rs:41,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_aead_impl.rs:42,1
    - Dst: '&mut [u8]::copy_from_slice'
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_aead_impl.rs:46,1
    - Dst: Ok
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_aead_impl.rs:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 7
    argNames:
    - _aead_algo
    - _key
    - _iv
    - _aad
    - cipher_text
    - _tag
    - plain_text
    argTypes:
    - SpdmAeadAlgo
    - '&SpdmAeadKeyStruct'
    - '&SpdmAeadIvStruct'
    - '&[u8]'
    - '&[u8]'
    - '&[u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 48
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 48
    functionName: fake_decrypt
    functionSourceFile: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_aead_impl.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::len'
    - '&mut [u8]::copy_from_slice'
    - '&mut [u8]::len'
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: 'fn fake_decrypt(_aead_algo: SpdmAeadAlgo,_key: &SpdmAeadKeyStruct,_iv:
      &SpdmAeadIvStruct,_aad: &[u8],cipher_text: &[u8],_tag: &[u8],plain_text: &mut
      [u8],) -> SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/rand_impl.rs:43,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/rand_impl.rs:43,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/rand_impl.rs:43,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/rand_impl.rs:44,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/rand_impl.rs:44,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/rand_impl.rs:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 16
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: get_random
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/rand_impl.rs
    functionUses: 12
    functionsReached:
    - Err
    - as_mut_ptr
    - random
    - len
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: 'fn get_random(data: &mut [u8]) -> SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/test/spdmlib-test/src/common/crypto_callback.rs:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - _base_hash_algo
    - _base_asym_algo
    - _der
    - _data
    - _signature
    argTypes:
    - SpdmBaseHashAlgo
    - SpdmBaseAsymAlgo
    - SpdmDer
    - '&[u8]'
    - '&SpdmSignatureStruct'
    constantsTouched: []
    func_position:
      end: 121
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 121
    functionName: fake_asym_verify
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/common/crypto_callback.rs
    functionUses: 0
    functionsReached:
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: 'fn fake_asym_verify(_base_hash_algo: SpdmBaseHashAlgo,_base_asym_algo:
      SpdmBaseAsymAlgo,_der: SpdmDer,_data: &[u8],_signature: &SpdmSignatureStruct,)
      -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/test/spdmlib-test/src/common/crypto_callback.rs:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - _base_hash_algo
    - _pqc_asym_algo
    - _public_cert_der
    - _data
    - _signature
    argTypes:
    - SpdmBaseHashAlgo
    - SpdmPqcAsymAlgo
    - '&[u8]'
    - '&[u8]'
    - '&SpdmSignatureStruct'
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: fake_pqc_asym_verify
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/common/crypto_callback.rs
    functionUses: 0
    functionsReached:
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: 'fn fake_pqc_asym_verify(_base_hash_algo: SpdmBaseHashAlgo,_pqc_asym_algo:
      SpdmPqcAsymAlgo,_public_cert_der: &[u8],_data: &[u8],_signature: &SpdmSignatureStruct,)
      -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_hkdf_impl.rs:23,1
    - Dst: Box::new
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_hkdf_impl.rs:25,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_hkdf_impl.rs:27,1
    - Dst: Box::new
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_hkdf_impl.rs:29,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_hkdf_impl.rs:31,1
    - Dst: Box::new
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_hkdf_impl.rs:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - hash_algo
    - _salt
    - _ikm
    argTypes:
    - SpdmBaseHashAlgo
    - '&[u8]'
    - '&SpdmHkdfInputKeyingMaterial'
    constantsTouched: []
    func_position:
      end: 37
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 37
    functionName: fake_hkdf_extract
    functionSourceFile: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_hkdf_impl.rs
    functionUses: 0
    functionsReached:
    - Box::new
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn fake_hkdf_extract(hash_algo: SpdmBaseHashAlgo,_salt: &[u8],_ikm:
      &SpdmHkdfInputKeyingMaterial,) -> Option<SpdmHkdfPseudoRandomKey>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_hkdf_impl.rs:46,1
    - Dst: Box::new
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_hkdf_impl.rs:48,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_hkdf_impl.rs:50,1
    - Dst: Box::new
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_hkdf_impl.rs:52,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_hkdf_impl.rs:54,1
    - Dst: Box::new
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_hkdf_impl.rs:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 4
    argNames:
    - hash_algo
    - _pk
    - _info
    - _out_size
    argTypes:
    - SpdmBaseHashAlgo
    - '&SpdmHkdfPseudoRandomKey'
    - '&[u8]'
    - u16
    constantsTouched: []
    func_position:
      end: 60
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 60
    functionName: fake_hkdf_expand
    functionSourceFile: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_hkdf_impl.rs
    functionUses: 0
    functionsReached:
    - Box::new
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn fake_hkdf_expand(hash_algo: SpdmBaseHashAlgo,_pk: &SpdmHkdfPseudoRandomKey,_info:
      &[u8],_out_size: u16,) -> Option<SpdmHkdfOutputKeyingMaterial>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/test/spdmlib-test/src/common/crypto_callback.rs:182,1
    - Dst: SpdmResult::len
      Src: /src/spdm-rs/test/spdmlib-test/src/common/crypto_callback.rs:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cert_chain
    - _index
    argTypes:
    - '&[u8]'
    - isize
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: fake_get_cert_from_cert_chain
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/common/crypto_callback.rs
    functionUses: 0
    functionsReached:
    - Ok
    - SpdmResult::len
    linkageType: ''
    returnType: SpdmResult
    signature: 'fn fake_get_cert_from_cert_chain(cert_chain: &[u8], _index: isize)
      -> SpdmResult<(usize, usize)>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/test/spdmlib-test/src/common/crypto_callback.rs:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - _cert_chain
    - _base_asym_algo
    - _base_hash_algo
    argTypes:
    - '&[u8]'
    - Option<u32>
    - Option<u32>
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: fake_verify_cert_chain
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/common/crypto_callback.rs
    functionUses: 0
    functionsReached:
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: 'fn fake_verify_cert_chain(_cert_chain: &[u8],_base_asym_algo: Option<u32>,_base_hash_algo:
      Option<u32>,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spdmlib::crypto::aead::register
      Src: /src/spdm-rs/test/spdmlib-test/src/common/crypto_callback.rs:200,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/common/crypto_callback.rs:200,1
    - Dst: spdmlib::crypto::asym_verify::register
      Src: /src/spdm-rs/test/spdmlib-test/src/common/crypto_callback.rs:201,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/common/crypto_callback.rs:201,1
    - Dst: spdmlib::crypto::pqc_asym_verify::register
      Src: /src/spdm-rs/test/spdmlib-test/src/common/crypto_callback.rs:202,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/common/crypto_callback.rs:202,1
    - Dst: spdmlib::crypto::aead::register
      Src: /src/spdm-rs/test/spdmlib-test/src/common/crypto_callback.rs:203,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/common/crypto_callback.rs:203,1
    - Dst: spdmlib::crypto::rand::register
      Src: /src/spdm-rs/test/spdmlib-test/src/common/crypto_callback.rs:204,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/common/crypto_callback.rs:204,1
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/common/crypto_callback.rs:205,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/common/crypto_callback.rs:205,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/test/spdmlib-test/src/common/crypto_callback.rs:206,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/common/crypto_callback.rs:206,1
    - Dst: spdmlib::secret::measurement::register
      Src: /src/spdm-rs/test/spdmlib-test/src/common/crypto_callback.rs:207,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/common/crypto_callback.rs:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 208
    functionName: test_0_crypto_init
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/common/crypto_callback.rs
    functionUses: 0
    functionsReached:
    - spdmlib::crypto::aead::register
    - clone
    - spdmlib::crypto::asym_verify::register
    - spdmlib::crypto::pqc_asym_verify::register
    - spdmlib::secret::pqc_asym_sign::register
    - spdmlib::secret::asym_sign::register
    - spdmlib::crypto::rand::register
    - spdmlib::secret::measurement::register
    linkageType: ''
    returnType: void
    signature: fn test_0_crypto_init()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - _buffer
    argTypes:
    - Arc<&[u8]>
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: MySpdmDeviceIo::send
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SpdmResult
    signature: 'async fn send(&mut self, _buffer: Arc<&[u8]>) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 2
    argNames:
    - _buffer
    - _timeout
    argTypes:
    - Arc<Mutex<&mut [u8]>>
    - usize
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: MySpdmDeviceIo::receive
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Result
    signature: 'async fn receive(&mut self,_buffer: Arc<Mutex<&mut [u8]>>,_timeout:
      usize,) -> Result<usize, usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: MySpdmDeviceIo::flush_all
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SpdmResult
    signature: async fn flush_all(&mut self) -> SpdmResult
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - rx
    argTypes:
    - Arc<SharedBuffer>
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: FakeSpdmDeviceIo::new
    functionSourceFile: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs
    functionUses: 50
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(rx: Arc<SharedBuffer>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_buffer
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs:153,1
    - Dst: Arc<Mutex<&mut [u8]>>::clone
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs:153,1
    - Dst: SpdmSupportedAlgorithmsBlock::lock
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs:154,1
    - Dst: '&mut [u8]::deref_mut'
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs:155,1
    - Dst: Ok
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - read_buffer
    - _timeout
    argTypes:
    - Arc<Mutex<&mut [u8]>>
    - usize
    constantsTouched: []
    func_position:
      end: 158
      start: 148
    functionDepth: 7
    functionLinenumber: 148
    functionLinenumberEnd: 158
    functionName: FakeSpdmDeviceIo::receive
    functionSourceFile: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs
    functionUses: 0
    functionsReached:
    - get_buffer
    - SpdmSupportedAlgorithmsBlock::lock
    - Arc<Mutex<&mut [u8]>>::clone
    - Ok
    - '&mut [u8]::deref_mut'
    linkageType: ''
    returnType: Result
    signature: 'async fn receive(&mut self,read_buffer: Arc<Mutex<&mut [u8]>>,_timeout:
      usize,) -> Result<usize, usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - Arc<&[u8]>
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: FakeSpdmDeviceIo::send
    functionSourceFile: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs
    functionUses: 0
    functionsReached:
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: 'async fn send(&mut self, buffer: Arc<&[u8]>) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: FakeSpdmDeviceIo::flush_all
    functionSourceFile: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs
    functionUses: 0
    functionsReached:
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: async fn flush_all(&mut self) -> SpdmResult
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - fuzzdata
    argTypes:
    - Arc<SharedBuffer>
    - Arc<[u8]>
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: SpdmDeviceIoReceve::new
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs
    functionUses: 109
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(data: Arc<SharedBuffer>, fuzzdata: Arc<[u8]>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_buffer
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:130,1
    - Dst: Arc<Mutex<&mut [u8]>>::clone
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:130,1
    - Dst: SpdmSupportedAlgorithmsBlock::lock
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:131,1
    - Dst: '&mut [u8]::deref_mut'
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:132,1
    - Dst: Ok
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - read_buffer
    - _timeout
    argTypes:
    - Arc<Mutex<&mut [u8]>>
    - usize
    constantsTouched: []
    func_position:
      end: 135
      start: 125
    functionDepth: 7
    functionLinenumber: 125
    functionLinenumberEnd: 135
    functionName: SpdmDeviceIoReceve::receive
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs
    functionUses: 0
    functionsReached:
    - get_buffer
    - SpdmSupportedAlgorithmsBlock::lock
    - Arc<Mutex<&mut [u8]>>::clone
    - Ok
    - '&mut [u8]::deref_mut'
    linkageType: ''
    returnType: Result
    signature: 'async fn receive(&mut self,read_buffer: Arc<Mutex<&mut [u8]>>,_timeout:
      usize,) -> Result<usize, usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_buffer
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:138,1
    - Dst: clone
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:138,1
    - Dst: Ok
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - Arc<&[u8]>
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 7
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: SpdmDeviceIoReceve::send
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs
    functionUses: 0
    functionsReached:
    - clone
    - Ok
    - set_buffer
    linkageType: ''
    returnType: SpdmResult
    signature: 'async fn send(&mut self, buffer: Arc<&[u8]>) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: SpdmDeviceIoReceve::flush_all
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs
    functionUses: 0
    functionsReached:
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: async fn flush_all(&mut self) -> SpdmResult
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - Arc<SharedBuffer>
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: FakeSpdmDeviceIoReceve::new
    functionSourceFile: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs
    functionUses: 109
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(data: Arc<SharedBuffer>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_buffer
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs:33,1
    - Dst: Arc<Mutex<&mut [u8]>>::clone
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs:33,1
    - Dst: SpdmSupportedAlgorithmsBlock::lock
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs:34,1
    - Dst: '&mut [u8]::deref_mut'
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs:35,1
    - Dst: Ok
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - read_buffer
    - _timeout
    argTypes:
    - Arc<Mutex<&mut [u8]>>
    - usize
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 7
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: FakeSpdmDeviceIoReceve::receive
    functionSourceFile: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs
    functionUses: 0
    functionsReached:
    - get_buffer
    - SpdmSupportedAlgorithmsBlock::lock
    - Arc<Mutex<&mut [u8]>>::clone
    - Ok
    - '&mut [u8]::deref_mut'
    linkageType: ''
    returnType: Result
    signature: 'async fn receive(&mut self,read_buffer: Arc<Mutex<&mut [u8]>>,_timeout:
      usize,) -> Result<usize, usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_buffer_ref
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs:41,1
    - Dst: SpdmCertChainBuffer::clone
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs:41,1
    - Dst: Ok
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - Arc<&[u8]>
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 7
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: FakeSpdmDeviceIoReceve::send
    functionSourceFile: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs
    functionUses: 0
    functionsReached:
    - Ok
    - SpdmCertChainBuffer::clone
    - set_buffer_ref
    linkageType: ''
    returnType: SpdmResult
    signature: 'async fn send(&mut self, buffer: Arc<&[u8]>) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: FakeSpdmDeviceIoReceve::flush_all
    functionSourceFile: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs
    functionUses: 0
    functionsReached:
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: async fn flush_all(&mut self) -> SpdmResult
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:191,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:191,1
    - Dst: VecDeque::<u8>::new
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: SharedBuffer::new
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs
    functionUses: 125
    functionsReached:
    - Arc::new
    - VecDeque::<u8>::new
    - Mutex::new
    linkageType: ''
    returnType: Self
    signature: pub fn new() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:197,1
    - Dst: deref_mut
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:198,1
    - Dst: push_back
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - b
    argTypes:
    - Arc<&[u8]>
    constantsTouched: []
    func_position:
      end: 202
      start: 195
    functionDepth: 6
    functionLinenumber: 195
    functionLinenumberEnd: 202
    functionName: SharedBuffer::set_buffer_ref
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs
    functionUses: 0
    functionsReached:
    - lock
    - deref_mut
    - push_back
    linkageType: ''
    returnType: void
    signature: 'pub fn set_buffer_ref(&self, b: Arc<&[u8]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:206,1
    - Dst: deref_mut
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:207,1
    - Dst: push_back
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - b
    argTypes:
    - Arc<[u8]>
    constantsTouched: []
    func_position:
      end: 211
      start: 204
    functionDepth: 6
    functionLinenumber: 204
    functionLinenumberEnd: 211
    functionName: SharedBuffer::set_buffer
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs
    functionUses: 0
    functionsReached:
    - lock
    - deref_mut
    - push_back
    linkageType: ''
    returnType: void
    signature: 'pub fn set_buffer(&self, b: Arc<[u8]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:214,1
    - Dst: deref_mut
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:215,1
    - Dst: SpdmResult::lock
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:217,1
    - Dst: SpdmResult::deref_mut
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:218,1
    - Dst: SpdmResult::iter_mut
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:219,1
    - Dst: is_empty
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:220,1
    - Dst: pop_front
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:223,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 1
    argNames:
    - b
    argTypes:
    - Arc<Mutex<&mut [u8]>>
    constantsTouched: []
    func_position:
      end: 228
      start: 213
    functionDepth: 6
    functionLinenumber: 213
    functionLinenumberEnd: 228
    functionName: SharedBuffer::get_buffer
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs
    functionUses: 0
    functionsReached:
    - is_empty
    - SpdmResult::deref_mut
    - unwrap
    - SpdmResult::lock
    - pop_front
    - deref_mut
    - SpdmResult::iter_mut
    - lock
    linkageType: ''
    returnType: usize
    signature: 'pub fn get_buffer(&self, b: Arc<Mutex<&mut [u8]>>) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:234,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:235,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:236,1
    - Dst: SpdmCertChainBuffer::clone
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:236,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:237,1
    - Dst: SpdmCertChainBuffer::clone
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:237,1
    - Dst: Self::send
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:239,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:239,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:239,1
    - Dst: receive
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:241,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:242,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:242,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:241,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 232
    functionDepth: 11
    functionLinenumber: 232
    functionLinenumberEnd: 248
    functionName: test_fake_device_io
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - FakeSpdmDeviceIoReceve::new
    - executor::block_on
    - unwrap
    - Mutex::new
    - receive
    - Self::send
    - SpdmCertChainBuffer::clone
    linkageType: ''
    returnType: void
    signature: fn test_fake_device_io()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmSupportedAlgorithmsBlock::lock
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:261,1
    - Dst: Arc<&[u8]>::len
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:262,1
    - Dst: SpdmSupportedAlgorithmsBlock::len
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:265,1
    - Dst: Err
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:266,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:268,1
    - Dst: Ok
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 3
    argNames:
    - spdm_buffer
    - transport_buffer
    - secured_message
    argTypes:
    - Arc<&[u8]>
    - Arc<Mutex<&mut [u8]>>
    - bool
    constantsTouched: []
    func_position:
      end: 270
      start: 253
    functionDepth: 6
    functionLinenumber: 253
    functionLinenumberEnd: 270
    functionName: TestTransportEncap::encap
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs
    functionUses: 0
    functionsReached:
    - SpdmSupportedAlgorithmsBlock::lock
    - Err
    - Arc<&[u8]>::len
    - copy_from_slice
    - SpdmSupportedAlgorithmsBlock::len
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: 'async fn encap(&mut self,spdm_buffer: Arc<&[u8]>,transport_buffer:
      Arc<Mutex<&mut [u8]>>,secured_message: bool,) -> SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmSupportedAlgorithmsBlock::lock
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:277,1
    - Dst: Arc<&[u8]>::len
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:278,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:280,1
    - Dst: Ok
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - transport_buffer
    - spdm_buffer
    argTypes:
    - Arc<&[u8]>
    - Arc<Mutex<&mut [u8]>>
    constantsTouched: []
    func_position:
      end: 282
      start: 272
    functionDepth: 6
    functionLinenumber: 272
    functionLinenumberEnd: 282
    functionName: TestTransportEncap::decap
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs
    functionUses: 0
    functionsReached:
    - SpdmSupportedAlgorithmsBlock::lock
    - copy_from_slice
    - Ok
    - Arc<&[u8]>::len
    linkageType: ''
    returnType: SpdmResult
    signature: 'async fn decap(&mut self,transport_buffer: Arc<&[u8]>,spdm_buffer:
      Arc<Mutex<&mut [u8]>>,) -> SpdmResult<(usize, bool)>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmSupportedAlgorithmsBlock::lock
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:290,1
    - Dst: Arc<&[u8]>::len
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:291,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:291,1
    - Dst: Ok
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:292,1
    - Dst: Arc<&[u8]>::len
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - spdm_buffer
    - app_buffer
    - _is_app_message
    argTypes:
    - Arc<&[u8]>
    - Arc<Mutex<&mut [u8]>>
    - bool
    constantsTouched: []
    func_position:
      end: 293
      start: 284
    functionDepth: 6
    functionLinenumber: 284
    functionLinenumberEnd: 293
    functionName: TestTransportEncap::encap_app
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs
    functionUses: 0
    functionsReached:
    - SpdmSupportedAlgorithmsBlock::lock
    - copy_from_slice
    - Ok
    - Arc<&[u8]>::len
    linkageType: ''
    returnType: SpdmResult
    signature: 'async fn encap_app(&mut self,spdm_buffer: Arc<&[u8]>,app_buffer: Arc<Mutex<&mut
      [u8]>>,_is_app_message: bool,) -> SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmSupportedAlgorithmsBlock::lock
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:300,1
    - Dst: Arc<&[u8]>::len
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:301,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:301,1
    - Dst: Ok
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:302,1
    - Dst: Arc<&[u8]>::len
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - app_buffer
    - spdm_buffer
    argTypes:
    - Arc<&[u8]>
    - Arc<Mutex<&mut [u8]>>
    constantsTouched: []
    func_position:
      end: 303
      start: 295
    functionDepth: 6
    functionLinenumber: 295
    functionLinenumberEnd: 303
    functionName: TestTransportEncap::decap_app
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs
    functionUses: 0
    functionsReached:
    - SpdmSupportedAlgorithmsBlock::lock
    - copy_from_slice
    - Ok
    - Arc<&[u8]>::len
    linkageType: ''
    returnType: SpdmResult
    signature: 'async fn decap_app(&mut self,app_buffer: Arc<&[u8]>,spdm_buffer: Arc<Mutex<&mut
      [u8]>>,) -> SpdmResult<(usize, bool)>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 306
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 306
    functionName: TestTransportEncap::get_sequence_number_count
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: fn get_sequence_number_count(&mut self) -> u8
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 310
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 310
    functionName: TestTransportEncap::get_max_random_count
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u16
    signature: fn get_max_random_count(&mut self) -> u16
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - rx
    - tx
    argTypes:
    - Arc<Mutex<VecDeque<u8>>>
    - Arc<Mutex<VecDeque<u8>>>
    constantsTouched: []
    func_position:
      end: 321
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 321
    functionName: TestSpdmDeviceIo::new
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(rx: Arc<Mutex<VecDeque<u8>>>, tx: Arc<Mutex<VecDeque<u8>>>)
      -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:331,1
    - Dst: len
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:332,1
    - Dst: Err
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:333,1
    - Dst: drain
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:336,1
    - Dst: collect
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:336,1
    - Dst: u32::from_le_bytes
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:338,1
    - Dst: SpdmSupportedAlgorithmsBlock::lock
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:341,1
    - Dst: SpdmSupportedAlgorithmsBlock::len
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:342,1
    - Dst: Err
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:343,1
    - Dst: pop_front
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:346,1
    - Dst: unwrap
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:346,1
    - Dst: Ok
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 46
    argCount: 2
    argNames:
    - out_buffer
    - _timeout
    argTypes:
    - Arc<Mutex<&mut [u8]>>
    - usize
    constantsTouched: []
    func_position:
      end: 350
      start: 326
    functionDepth: 6
    functionLinenumber: 326
    functionLinenumberEnd: 350
    functionName: TestSpdmDeviceIo::receive
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs
    functionUses: 0
    functionsReached:
    - SpdmSupportedAlgorithmsBlock::len
    - SpdmSupportedAlgorithmsBlock::lock
    - unwrap
    - u32::from_le_bytes
    - Err
    - pop_front
    - len
    - drain
    - collect
    - lock
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'async fn receive(&mut self,out_buffer: Arc<Mutex<&mut [u8]>>,_timeout:
      usize,) -> Result<usize, usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:353,1
    - Dst: SpdmCertChainBuffer::len
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:354,1
    - Dst: extend
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:355,1
    - Dst: Option::to_le_bytes
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:355,1
    - Dst: extend
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:356,1
    - Dst: SpdmCertChainBuffer::iter
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:356,1
    - Dst: Ok
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - Arc<&[u8]>
    constantsTouched: []
    func_position:
      end: 360
      start: 351
    functionDepth: 6
    functionLinenumber: 351
    functionLinenumberEnd: 360
    functionName: TestSpdmDeviceIo::send
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs
    functionUses: 0
    functionsReached:
    - SpdmCertChainBuffer::iter
    - extend
    - SpdmCertChainBuffer::len
    - Option::to_le_bytes
    - lock
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: 'async fn send(&mut self, buffer: Arc<&[u8]>) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 364
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 364
    functionName: TestSpdmDeviceIo::flush_all
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs
    functionUses: 0
    functionsReached:
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: async fn flush_all(&mut self) -> SpdmResult
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: VecDeque::new
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:371,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:372,1
    - Dst: Option::extend
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:373,1
    - Dst: Option::to_le_bytes
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:373,1
    - Dst: Option::push_back
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:374,1
    - Dst: Option::extend
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - secure
    - spdm_msg
    argTypes:
    - u8
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 377
      start: 367
    functionDepth: 2
    functionLinenumber: 367
    functionLinenumberEnd: 377
    functionName: test_header_generater_callback
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs
    functionUses: 0
    functionsReached:
    - VecDeque::new
    - '&[u8]::len'
    - Option::push_back
    - Option::extend
    - Option::to_le_bytes
    linkageType: ''
    returnType: VecDeque
    signature: 'pub fn test_header_generater_callback(secure: u8, spdm_msg: &[u8])
      -> VecDeque<u8>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:381,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:381,1
    - Dst: VecDeque::<u8>::new
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:381,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:382,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:382,1
    - Dst: VecDeque::<u8>::new
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:382,1
    - Dst: Arc::clone
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:383,1
    - Dst: Arc::clone
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:384,1
    - Dst: TestSpdmDeviceIo::new
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:386,1
    - Dst: send
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:387,1
    - Dst: Arc::new
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:387,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:389,1
    - Dst: BytesMutStrubbed::lock
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:391,1
    - Dst: as_slices
      Src: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs:392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 397
      start: 380
    functionDepth: 7
    functionLinenumber: 380
    functionLinenumberEnd: 397
    functionName: test_test_device_io
    functionSourceFile: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - VecDeque::<u8>::new
    - executor::block_on
    - BytesMutStrubbed::lock
    - TestSpdmDeviceIo::new
    - as_slices
    - Arc::clone
    - Mutex::new
    - send
    linkageType: ''
    returnType: void
    signature: fn test_test_device_io()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spdm_x509::x509::chain::get_cert_from_cert_chain
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_asym_verify_impl.rs:74,1
    - Dst: SpdmResult::map_err
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_asym_verify_impl.rs:74,1
    - Dst: spdm_x509::Certificate::from_der
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_asym_verify_impl.rs:82,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_asym_verify_impl.rs:82,1
    - Dst: raw_bytes
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_asym_verify_impl.rs:87,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_asym_verify_impl.rs:95,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_asym_verify_impl.rs:96,1
    - Dst: to_vec
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_asym_verify_impl.rs:96,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_asym_verify_impl.rs:97,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_asym_verify_impl.rs:98,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_asym_verify_impl.rs:98,1
    - Dst: to_vec
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_asym_verify_impl.rs:98,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_asym_verify_impl.rs:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 43
    argCount: 2
    argNames:
    - public_cert_der
    - expected_raw_size
    argTypes:
    - '&[u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 107
      start: 68
    functionDepth: 5
    functionLinenumber: 68
    functionLinenumberEnd: 107
    functionName: extract_public_key_from_cert_chain
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_asym_verify_impl.rs
    functionUses: 0
    functionsReached:
    - SpdmResult::map_err
    - to_vec
    - spdm_x509::x509::chain::get_cert_from_cert_chain
    - Err
    - Result::map_err
    - spdm_x509::Certificate::from_der
    - len
    - raw_bytes
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn extract_public_key_from_cert_chain(public_cert_der: &[u8],expected_raw_size:
      usize,) -> Result<Vec<u8>, spdmlib::error::SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::len
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_asym_verify_impl.rs:112,1
    - Dst: Result::len
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_asym_verify_impl.rs:117,1
    - Dst: Result::len
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_asym_verify_impl.rs:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - public_key_der
    - expected_raw_size
    argTypes:
    - '&[u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 122
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 122
    functionName: extract_raw_public_key
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_asym_verify_impl.rs
    functionUses: 0
    functionsReached:
    - Result::len
    linkageType: ''
    returnType: '&[u8]'
    signature: 'fn extract_raw_public_key(public_key_der: &[u8], expected_raw_size:
      usize) -> &[u8]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_asym_sign_impl.rs:57,1
    - Dst: Self::len
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_asym_sign_impl.rs:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 68
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 68
    functionName: extract_signing_context
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_asym_sign_impl.rs
    functionUses: 1
    functionsReached:
    - len
    - Self::len
    linkageType: ''
    returnType: '&[u8]'
    signature: 'fn extract_signing_context(data: &[u8]) -> &[u8]'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 5
    argNames:
    - _base_hash_algo
    - _pqc_asym_algo
    - _public_cert_der
    - _data
    - _signature
    argTypes:
    - SpdmBaseHashAlgo
    - SpdmPqcAsymAlgo
    - '&[u8]'
    - '&[u8]'
    - '&SpdmSignatureStruct'
    constantsTouched: []
    func_position:
      end: 21
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 21
    functionName: pqc_asym_verify
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/pqc_asym_verify_impl.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SpdmResult
    signature: 'fn pqc_asym_verify(_base_hash_algo: SpdmBaseHashAlgo,_pqc_asym_algo:
      SpdmPqcAsymAlgo,_public_cert_der: &[u8],_data: &[u8],_signature: &SpdmSignatureStruct,)
      -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hkdf_impl.rs:24,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hkdf_impl.rs:25,1
    - Dst: <mbedtls::hash::Type as Into<Option<hash::MdInfo>>>::into
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hkdf_impl.rs:28,1
    - Dst: SpdmHkdfPseudoRandomKey::default
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hkdf_impl.rs:30,1
    - Dst: hkdf_extract
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hkdf_impl.rs:32,1
    - Dst: ConstPointer::into
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hkdf_impl.rs:33,1
    - Dst: as_ptr
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hkdf_impl.rs:34,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hkdf_impl.rs:35,1
    - Dst: '&SpdmHkdfInputKeyingMaterial::as_ref'
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hkdf_impl.rs:36,1
    - Dst: '&[u8]::as_ptr'
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hkdf_impl.rs:36,1
    - Dst: '&SpdmHkdfInputKeyingMaterial::as_ref'
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hkdf_impl.rs:37,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hkdf_impl.rs:37,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hkdf_impl.rs:38,1
    - Dst: ConstPointer::size
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hkdf_impl.rs:43,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hkdf_impl.rs:45,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 3
    argNames:
    - hash_algo
    - salt
    - ikm
    argTypes:
    - SpdmBaseHashAlgo
    - '&[u8]'
    - '&SpdmHkdfInputKeyingMaterial'
    constantsTouched: []
    func_position:
      end: 46
      start: 17
    functionDepth: 6
    functionLinenumber: 17
    functionLinenumberEnd: 46
    functionName: hkdf_extract
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hkdf_impl.rs
    functionUses: 7
    functionsReached:
    - '&[u8]::as_ptr'
    - hkdf_extract
    - '&[u8]::len'
    - ConstPointer::size
    - as_mut_ptr
    - '&SpdmHkdfInputKeyingMaterial::as_ref'
    - as_ptr
    - ConstPointer::into
    - len
    - <mbedtls::hash::Type as Into<Option<hash::MdInfo>>>::into
    - SpdmHkdfPseudoRandomKey::default
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn hkdf_extract(hash_algo: SpdmBaseHashAlgo,salt: &[u8],ikm: &SpdmHkdfInputKeyingMaterial,)
      -> Option<SpdmHkdfPseudoRandomKey>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hkdf_impl.rs:56,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hkdf_impl.rs:57,1
    - Dst: <mbedtls::hash::Type as Into<Option<hash::MdInfo>>>::into
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hkdf_impl.rs:60,1
    - Dst: SpdmHkdfOutputKeyingMaterial::default
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hkdf_impl.rs:61,1
    - Dst: hkdf_expand
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hkdf_impl.rs:63,1
    - Dst: ConstPointer::into
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hkdf_impl.rs:64,1
    - Dst: Option::as_ref
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hkdf_impl.rs:65,1
    - Dst: '&[u8]::as_ptr'
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hkdf_impl.rs:65,1
    - Dst: Option::as_ref
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hkdf_impl.rs:66,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hkdf_impl.rs:66,1
    - Dst: (SpdmConfigInfo, SpdmProvisionInfo)::as_ptr
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hkdf_impl.rs:67,1
    - Dst: (SpdmConfigInfo, SpdmProvisionInfo)::len
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hkdf_impl.rs:68,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hkdf_impl.rs:69,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hkdf_impl.rs:77,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 4
    argNames:
    - hash_algo
    - prk
    - info
    - out_size
    argTypes:
    - SpdmBaseHashAlgo
    - '&SpdmHkdfPseudoRandomKey'
    - '&[u8]'
    - u16
    constantsTouched: []
    func_position:
      end: 78
      start: 48
    functionDepth: 4
    functionLinenumber: 48
    functionLinenumberEnd: 78
    functionName: hkdf_expand
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hkdf_impl.rs
    functionUses: 16
    functionsReached:
    - '&[u8]::as_ptr'
    - '&[u8]::len'
    - as_mut_ptr
    - ConstPointer::into
    - (SpdmConfigInfo, SpdmProvisionInfo)::len
    - <mbedtls::hash::Type as Into<Option<hash::MdInfo>>>::into
    - hkdf_expand
    - Option::as_ref
    - SpdmHkdfOutputKeyingMaterial::default
    - (SpdmConfigInfo, SpdmProvisionInfo)::as_ptr
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn hkdf_expand(hash_algo: SpdmBaseHashAlgo,prk: &SpdmHkdfPseudoRandomKey,info:
      &[u8],out_size: u16,) -> Option<SpdmHkdfOutputKeyingMaterial>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - len
    argTypes:
    - u16
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: SpdmCryptoHkdfKeyLen::new
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hkdf_impl.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(len: u16) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: SpdmCryptoHkdfKeyLen::len
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hkdf_impl.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: fn len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmDigestStruct::from
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hkdf_impl.rs:94,1
    - Dst: SpdmHkdfInputKeyingMaterial::SpdmDigest
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hkdf_impl.rs:95,1
    - Dst: hkdf_extract
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hkdf_impl.rs:96,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hkdf_impl.rs:96,1
    - Dst: hkdf_expand
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hkdf_impl.rs:98,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hkdf_impl.rs:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 91
    functionDepth: 7
    functionLinenumber: 91
    functionLinenumberEnd: 100
    functionName: tests::test_hkdf_extract_expand
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hkdf_impl.rs
    functionUses: 0
    functionsReached:
    - hkdf_extract
    - SpdmDigestStruct::from
    - SpdmHkdfInputKeyingMaterial::SpdmDigest
    - Option::unwrap
    - hkdf_expand
    linkageType: ''
    returnType: void
    signature: fn test_hkdf_extract_expand()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hmac_impl.rs:17,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hmac_impl.rs:18,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hmac_impl.rs:19,1
    - Dst: hash::Hmac::new
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hmac_impl.rs:22,1
    - Dst: Self::ok
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hmac_impl.rs:22,1
    - Dst: update
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hmac_impl.rs:23,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hmac_impl.rs:23,1
    - Dst: SpdmDigestStruct::default
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hmac_impl.rs:24,1
    - Dst: finish
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hmac_impl.rs:25,1
    - Dst: as_mut
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hmac_impl.rs:25,1
    - Dst: Tag::ok
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hmac_impl.rs:25,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hmac_impl.rs:27,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 3
    argNames:
    - base_hash_algo
    - key
    - data
    argTypes:
    - SpdmBaseHashAlgo
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 28
      start: 15
    functionDepth: 9
    functionLinenumber: 15
    functionLinenumberEnd: 28
    functionName: hmac
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hmac_impl.rs
    functionUses: 16
    functionsReached:
    - Tag::ok
    - ok
    - finish
    - as_mut
    - hash::Hmac::new
    - update
    - Self::ok
    - SpdmDigestStruct::default
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn hmac(base_hash_algo: SpdmBaseHashAlgo, key: &[u8], data: &[u8])
      -> Option<SpdmDigestStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hmac
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hmac_impl.rs:36,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hmac_impl.rs:36,1
    - Dst: Digest::as_ref
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hmac_impl.rs:37,1
    - Dst: '&SpdmDigestStruct::as_ref'
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hmac_impl.rs:37,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hmac_impl.rs:38,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hmac_impl.rs:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - base_hash_algo
    - key
    - data
    - message_digest
    argTypes:
    - SpdmBaseHashAlgo
    - '&[u8]'
    - '&[u8]'
    - '&SpdmDigestStruct'
    constantsTouched: []
    func_position:
      end: 42
      start: 30
    functionDepth: 10
    functionLinenumber: 30
    functionLinenumberEnd: 42
    functionName: hmac_verify
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hmac_impl.rs
    functionUses: 6
    functionsReached:
    - hmac
    - Err
    - Option::ok_or
    - Digest::as_ref
    - Ok
    - '&SpdmDigestStruct::as_ref'
    linkageType: ''
    returnType: SpdmResult
    signature: 'fn hmac_verify(base_hash_algo: SpdmBaseHashAlgo,key: &[u8],data: &[u8],message_digest:
      &SpdmDigestStruct,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hmac
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hmac_impl.rs:60,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hmac_impl.rs:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 52
    functionDepth: 10
    functionLinenumber: 52
    functionLinenumberEnd: 65
    functionName: tests::test_hmac_sign_verify_roundtrip
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hmac_impl.rs
    functionUses: 0
    functionsReached:
    - hmac
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn test_hmac_sign_verify_roundtrip()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/dhe_impl.rs:29,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/dhe_impl.rs:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - dhe_algo
    argTypes:
    - SpdmDheAlgo
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: algo_of
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/dhe_impl.rs
    functionUses: 0
    functionsReached:
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn algo_of(dhe_algo: SpdmDheAlgo) -> Option<&''static agreement::Algorithm>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmDheKeyExchangeP256::generate_key_pair
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:28,1
    - Dst: SpdmDheKeyExchangeP384::generate_key_pair
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dhe_algo
    argTypes:
    - SpdmDheAlgo
    constantsTouched: []
    func_position:
      end: 32
      start: 24
    functionDepth: 10
    functionLinenumber: 24
    functionLinenumberEnd: 32
    functionName: generate_key_pair
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs
    functionUses: 13
    functionsReached:
    - SpdmDheKeyExchangeP384::generate_key_pair
    - SpdmDheKeyExchangeP256::generate_key_pair
    linkageType: ''
    returnType: Option
    signature: 'fn generate_key_pair(dhe_algo: SpdmDheAlgo,) -> Option<(SpdmDheExchangeStruct,
      Box<dyn SpdmDheKeyExchange + Send>)>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:43,1
    - Dst: EcGroup::new
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:47,1
    - Dst: Self::ok
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:47,1
    - Dst: Mpi::from_binary
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:48,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:48,1
    - Dst: Pk::private_from_ec_components
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:49,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:49,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:52,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:52,1
    - Dst: SpdmDheKeyExchangeP256
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:52,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:53,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:53,1
    - Dst: SpdmDheKeyExchangeP384
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:53,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 2
    argNames:
    - dhe_algo
    - private_key_data
    argTypes:
    - SpdmDheAlgo
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 56
      start: 34
    functionDepth: 9
    functionLinenumber: 34
    functionLinenumberEnd: 56
    functionName: import_private_key
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs
    functionUses: 5
    functionsReached:
    - Pk::private_from_ec_components
    - SpdmDheKeyExchangeP384
    - ok
    - '&[u8]::len'
    - EcGroup::new
    - Box::new
    - SpdmDheKeyExchangeP256
    - Mpi::from_binary
    - Self::ok
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn import_private_key(dhe_algo: SpdmDheAlgo,private_key_data: &[u8],)
      -> Option<Box<dyn SpdmDheKeyExchange + Send>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::compute_public_key
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/dhe_impl.rs:61,1
    - Dst: Result::ok
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/dhe_impl.rs:61,1
    - Dst: '&[u8]::as_ref'
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/dhe_impl.rs:63,1
    - Dst: to_vec
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/dhe_impl.rs:63,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/dhe_impl.rs:65,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/dhe_impl.rs:67,1
    - Dst: SpdmDheExchangeStruct::from
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/dhe_impl.rs:69,1
    - Dst: bytes::BytesMut::from
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/dhe_impl.rs:69,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/dhe_impl.rs:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 2
    argNames:
    - alg
    - private_key
    argTypes:
    - '&''static agreement::Algorithm'
    - PrivateKey
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 7
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: exchange_from_private_key
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/dhe_impl.rs
    functionUses: 0
    functionsReached:
    - Result::ok
    - bytes::BytesMut::from
    - SpdmDheExchangeStruct::from
    - to_vec
    - Box::new
    - '&[u8]::as_ref'
    - Option::compute_public_key
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn exchange_from_private_key(alg: &''static agreement::Algorithm,private_key:
      PrivateKey,) -> Option<(SpdmDheExchangeStruct, Box<dyn SpdmDheKeyExchange +
      Send>)>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: take
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/dhe_impl.rs:83,1
    - Dst: Vec::with_capacity
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/dhe_impl.rs:86,1
    - Dst: Option::push
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/dhe_impl.rs:87,1
    - Dst: Option::extend_from_slice
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/dhe_impl.rs:88,1
    - Dst: UnparsedPublicKey::new
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/dhe_impl.rs:89,1
    - Dst: Vec::new
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/dhe_impl.rs:91,1
    - Dst: agreement::agree
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/dhe_impl.rs:92,1
    - Dst: Option::extend_from_slice
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/dhe_impl.rs:97,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/dhe_impl.rs:98,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/dhe_impl.rs:102,1
    - Dst: SpdmSharedSecretFinalKeyStruct::from
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/dhe_impl.rs:102,1
    - Dst: Option::as_slice
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/dhe_impl.rs:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 38
    argCount: 2
    argNames:
    - peer_pub_key
    argTypes:
    - Box<Self>
    - '&SpdmDheExchangeStruct'
    constantsTouched: []
    func_position:
      end: 105
      start: 79
    functionDepth: 8
    functionLinenumber: 79
    functionLinenumberEnd: 105
    functionName: SpdmDheKeyExchangeAwsLc::compute_final_key
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/dhe_impl.rs
    functionUses: 0
    functionsReached:
    - take
    - agreement::agree
    - UnparsedPublicKey::new
    - SpdmSharedSecretFinalKeyStruct::from
    - Vec::with_capacity
    - Option::push
    - Option::as_slice
    - Vec::new
    - Option::extend_from_slice
    - Ok
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn compute_final_key(mut self: Box<Self>,peer_pub_key: &SpdmDheExchangeStruct,)
      -> Option<SpdmSharedSecretFinalKeyStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/dhe_impl.rs:108,1
    - Dst: Option::as_be_bytes
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/dhe_impl.rs:109,1
    - Dst: Result::ok
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/dhe_impl.rs:109,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/dhe_impl.rs:110,1
    - Dst: Option::as_ref
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/dhe_impl.rs:110,1
    - Dst: '&[u8]::to_vec'
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/dhe_impl.rs:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 9
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: SpdmDheKeyExchangeAwsLc::export_private_key
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/dhe_impl.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::to_vec'
    - Result::ok
    - Option::as_ref
    - as_ref
    - Option::as_be_bytes
    - Some
    linkageType: ''
    returnType: Option
    signature: fn export_private_key(&self) -> Option<Vec<u8>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kem_generate_key_pair
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:204,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:204,1
    - Dst: kem_new_key
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:205,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:205,1
    - Dst: SpdmResult::encap_key
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:207,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:207,1
    - Dst: SpdmResult::decap_key
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:208,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - kem_algo
    argTypes:
    - SpdmKemAlgo
    constantsTouched: []
    func_position:
      end: 215
      start: 203
    functionDepth: 8
    functionLinenumber: 203
    functionLinenumberEnd: 215
    functionName: tests::roundtrip
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs
    functionUses: 0
    functionsReached:
    - kem_generate_key_pair
    - kem_new_key
    - SpdmResult::decap_key
    - Option::unwrap
    - SpdmResult::encap_key
    linkageType: ''
    returnType: void
    signature: 'fn roundtrip(kem_algo: SpdmKemAlgo)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: roundtrip
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/dhe_impl.rs:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 11
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: tests::test_dhe_p256
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/dhe_impl.rs
    functionUses: 0
    functionsReached:
    - roundtrip
    linkageType: ''
    returnType: void
    signature: fn test_dhe_p256()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: roundtrip
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/dhe_impl.rs:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 11
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionName: tests::test_dhe_p384
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/dhe_impl.rs
    functionUses: 0
    functionsReached:
    - roundtrip
    linkageType: ''
    returnType: void
    signature: fn test_dhe_p384()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kem_generate_key_pair
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:235,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:235,1
    - Dst: SpdmResult::export_decap_key
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:236,1
    - Dst: Option::expect
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:236,1
    - Dst: kem_new_key
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:239,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:239,1
    - Dst: SpdmResult::encap_key
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:240,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:240,1
    - Dst: kem_import_decap_key
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:243,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:243,1
    - Dst: Result::decap_key
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:244,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 1
    argNames:
    - kem_algo
    argTypes:
    - SpdmKemAlgo
    constantsTouched: []
    func_position:
      end: 251
      start: 234
    functionDepth: 8
    functionLinenumber: 234
    functionLinenumberEnd: 251
    functionName: tests::export_import_roundtrip
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs
    functionUses: 0
    functionsReached:
    - SpdmResult::export_decap_key
    - kem_generate_key_pair
    - kem_new_key
    - Option::unwrap
    - kem_import_decap_key
    - SpdmResult::encap_key
    - Result::decap_key
    - Option::expect
    linkageType: ''
    returnType: void
    signature: 'fn export_import_roundtrip(kem_algo: SpdmKemAlgo)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: export_import_roundtrip
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/dhe_impl.rs:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 9
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: tests::test_dhe_export_import_p256
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/dhe_impl.rs
    functionUses: 0
    functionsReached:
    - export_import_roundtrip
    linkageType: ''
    returnType: void
    signature: fn test_dhe_export_import_p256()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: export_import_roundtrip
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/dhe_impl.rs:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 9
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: tests::test_dhe_export_import_p384
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/dhe_impl.rs
    functionUses: 0
    functionsReached:
    - export_import_roundtrip
    linkageType: ''
    returnType: void
    signature: fn test_dhe_export_import_p384()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmDigestStruct::default
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs:108,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs:110,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs:111,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs:112,1
    - Dst: hash::Md::new
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs:116,1
    - Dst: Self::ok
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs:116,1
    - Dst: ConstPointer::update
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs:117,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs:117,1
    - Dst: ConstPointer::finish
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs:118,1
    - Dst: as_mut
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs:118,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs:118,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs:120,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - base_hash_algo
    - data
    argTypes:
    - SpdmBaseHashAlgo
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 121
      start: 107
    functionDepth: 9
    functionLinenumber: 107
    functionLinenumberEnd: 121
    functionName: hash_all
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs
    functionUses: 40
    functionsReached:
    - hash::Md::new
    - ok
    - ConstPointer::update
    - as_mut
    - ConstPointer::finish
    - Self::ok
    - SpdmDigestStruct::default
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn hash_all(base_hash_algo: SpdmBaseHashAlgo, data: &[u8]) -> Option<SpdmDigestStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs:38,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs:39,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs:40,1
    - Dst: hash::Md::new
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs:44,1
    - Dst: Self::ok
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs:44,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs:45,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs:46,1
    - Dst: insert_to_table
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - base_hash_algo
    argTypes:
    - SpdmBaseHashAlgo
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 9
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: hash_ext::hash_ctx_init
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs
    functionUses: 2
    functionsReached:
    - hash::Md::new
    - Box::new
    - insert_to_table
    - Self::ok
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub(crate) fn hash_ctx_init(base_hash_algo: SpdmBaseHashAlgo) -> Option<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs:50,1
    - Dst: usize::get_mut
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs:51,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs:51,1
    - Dst: update
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs:52,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - handle
    - data
    argTypes:
    - usize
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 11
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: hash_ext::hash_ctx_update
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs
    functionUses: 1
    functionsReached:
    - map_err
    - usize::get_mut
    - ok_or
    - update
    - lock
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub(crate) fn hash_ctx_update(handle: usize, data: &[u8]) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs:56,1
    - Dst: remove
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs:56,1
    - Dst: SpdmDigestStruct::default
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs:57,1
    - Dst: finish
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs:58,1
    - Dst: as_mut
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs:58,1
    - Dst: Tag::ok
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs:58,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - handle
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 11
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: hash_ext::hash_ctx_finalize
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs
    functionUses: 2
    functionsReached:
    - Tag::ok
    - finish
    - as_mut
    - lock
    - remove
    - SpdmDigestStruct::default
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub(crate) fn hash_ctx_finalize(handle: usize) -> Option<SpdmDigestStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs:68,1
    - Dst: usize::get
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs:69,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs:70,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs:72,1
    - Dst: insert_to_table
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - handle
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 6
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: hash_ext::hash_ctx_dup
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs
    functionUses: 0
    functionsReached:
    - clone
    - usize::get
    - insert_to_table
    - lock
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub(crate) fn hash_ctx_dup(handle: usize) -> Option<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs:78,1
    - Dst: insert
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - value
    argTypes:
    - Box<HashCtxConcrete>
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 6
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: hash_ext::insert_to_table
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs
    functionUses: 0
    functionsReached:
    - insert
    - lock
    linkageType: ''
    returnType: usize
    signature: 'pub(crate) fn insert_to_table(value: Box<HashCtxConcrete>) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - _handle
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: hash_ext::hash_ctx_serialize
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Option
    signature: 'pub(crate) fn hash_ctx_serialize(_handle: usize) -> Option<alloc::vec::Vec<u8>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bytes::split_at_checked
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hash_impl.rs:192,1
    - Dst: u8::try_into
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hash_impl.rs:194,1
    - Dst: Result::ok
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hash_impl.rs:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut &[u8]'
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 7
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: h::a::s::h::_::e::x::t::::::::h::a::s::h::_::c::t::x::_::d::e::s::e::r::i::a::l::i::z::e::take
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hash_impl.rs
    functionUses: 0
    functionsReached:
    - Bytes::split_at_checked
    - u8::try_into
    - Result::ok
    linkageType: ''
    returnType: Option
    signature: 'fn take<const N: usize>(bytes: &mut &[u8]) -> Option<[u8; N]>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - _bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: hash_ext::hash_ctx_deserialize
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Option
    signature: 'pub(crate) fn hash_ctx_deserialize(_bytes: &[u8]) -> Option<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_ext::hash_ctx_init
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hash_impl.rs:249,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hash_impl.rs:249,1
    - Dst: hash_ext::hash_ctx_update
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hash_impl.rs:250,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hash_impl.rs:250,1
    - Dst: hash_ext::hash_ctx_serialize
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hash_impl.rs:251,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hash_impl.rs:251,1
    - Dst: hash_ext::hash_ctx_deserialize
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hash_impl.rs:252,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hash_impl.rs:252,1
    - Dst: hash_ext::hash_ctx_update
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hash_impl.rs:253,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hash_impl.rs:253,1
    - Dst: hash_ext::hash_ctx_finalize
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hash_impl.rs:254,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hash_impl.rs:254,1
    - Dst: Option::to_vec
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hash_impl.rs:256,1
    - Dst: bool::extend_from_slice
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hash_impl.rs:257,1
    - Dst: hash_ext::hash_ctx_finalize
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hash_impl.rs:259,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hash_impl.rs:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 1
    argNames:
    - base_hash_algo
    argTypes:
    - SpdmBaseHashAlgo
    constantsTouched: []
    func_position:
      end: 260
      start: 246
    functionDepth: 10
    functionLinenumber: 246
    functionLinenumberEnd: 260
    functionName: tests::test_hash_ctx_round_trip
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hash_impl.rs
    functionUses: 0
    functionsReached:
    - SpdmResult::unwrap
    - hash_ext::hash_ctx_update
    - hash_ext::hash_ctx_init
    - Option::unwrap
    - bool::extend_from_slice
    - hash_ext::hash_ctx_deserialize
    - Option::to_vec
    - hash_ext::hash_ctx_serialize
    - hash_ext::hash_ctx_finalize
    linkageType: ''
    returnType: void
    signature: 'fn test_hash_ctx_round_trip(base_hash_algo: SpdmBaseHashAlgo)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_all
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hash_impl.rs:264,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hash_impl.rs:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 266
      start: 263
    functionDepth: 10
    functionLinenumber: 263
    functionLinenumberEnd: 266
    functionName: tests::test_hash_all_sha256
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hash_impl.rs
    functionUses: 0
    functionsReached:
    - hash_all
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn test_hash_all_sha256()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_all
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hash_impl.rs:270,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hash_impl.rs:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 272
      start: 269
    functionDepth: 10
    functionLinenumber: 269
    functionLinenumberEnd: 272
    functionName: tests::test_hash_all_sha384
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hash_impl.rs
    functionUses: 0
    functionsReached:
    - hash_all
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn test_hash_all_sha384()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_all
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hash_impl.rs:276,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hash_impl.rs:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 278
      start: 275
    functionDepth: 10
    functionLinenumber: 275
    functionLinenumberEnd: 278
    functionName: tests::test_hash_all_sha512
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hash_impl.rs
    functionUses: 0
    functionsReached:
    - hash_all
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn test_hash_all_sha512()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 283
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionName: tests::test_hash_all_invalid
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hash_impl.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_hash_all_invalid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_hash_ctx_round_trip
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hash_impl.rs:288,1
    - Dst: test_hash_ctx_round_trip
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hash_impl.rs:289,1
    - Dst: test_hash_ctx_round_trip
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hash_impl.rs:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 291
      start: 287
    functionDepth: 11
    functionLinenumber: 287
    functionLinenumberEnd: 291
    functionName: tests::test_hash_context_checkpoint_round_trip
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hash_impl.rs
    functionUses: 0
    functionsReached:
    - test_hash_ctx_round_trip
    linkageType: ''
    returnType: void
    signature: fn test_hash_context_checkpoint_round_trip()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_ext::hash_ctx_init
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hash_impl.rs:296,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hash_impl.rs:296,1
    - Dst: hash_ext::hash_ctx_serialize
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hash_impl.rs:297,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hash_impl.rs:297,1
    - Dst: hash_ext::hash_ctx_finalize
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hash_impl.rs:298,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hash_impl.rs:298,1
    - Dst: Result::clone
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hash_impl.rs:300,1
    - Dst: wrapping_add
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hash_impl.rs:301,1
    - Dst: Result::push
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hash_impl.rs:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 308
      start: 295
    functionDepth: 10
    functionLinenumber: 295
    functionLinenumberEnd: 308
    functionName: tests::test_hash_context_checkpoint_rejects_malformed_data
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hash_impl.rs
    functionUses: 0
    functionsReached:
    - hash_ext::hash_ctx_init
    - Option::unwrap
    - wrapping_add
    - Result::clone
    - hash_ext::hash_ctx_serialize
    - hash_ext::hash_ctx_finalize
    - Result::push
    linkageType: ''
    returnType: void
    signature: fn test_hash_context_checkpoint_rejects_malformed_data()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_cert_verify_impl.rs:40,1
    - Dst: Error::unsupported_algorithm
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_cert_verify_impl.rs:40,1
    - Dst: UnparsedPublicKey::new
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_cert_verify_impl.rs:46,1
    - Dst: '&[u8]::verify'
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_cert_verify_impl.rs:47,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_cert_verify_impl.rs:47,1
    - Dst: Error::SignatureError
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_cert_verify_impl.rs:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 4
    argNames:
    - algorithm
    - tbs_data
    - signature
    - public_key
    argTypes:
    - SignatureAlgorithm
    - '&[u8]'
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 51
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 51
    functionName: verify_pqc_dsa
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_cert_verify_impl.rs
    functionUses: 0
    functionsReached:
    - UnparsedPublicKey::new
    - map_err
    - Err
    - '&[u8]::verify'
    - Error::unsupported_algorithm
    - Error::SignatureError
    linkageType: ''
    returnType: Result
    signature: 'fn verify_pqc_dsa(algorithm: SignatureAlgorithm,tbs_data: &[u8],signature:
      &[u8],public_key: &[u8],) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_init_once
      Src: /src/spdm-rs/spdmlib/src/time/mod.rs:18,1
    - Dst: is_ok
      Src: /src/spdm-rs/spdmlib/src/time/mod.rs:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - context
    argTypes:
    - SpdmTime
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: register
    functionSourceFile: /src/spdm-rs/spdmlib/src/time/mod.rs
    functionUses: 138
    functionsReached:
    - try_init_once
    - is_ok
    linkageType: ''
    returnType: bool
    signature: 'pub fn register(context: SpdmTime) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - relative
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 605
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 605
    functionName: tests::test_key_path
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: 'fn test_key_path(relative: &str) -> String'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::read
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_cert_verify_impl.rs:72,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_cert_verify_impl.rs:72,1
    - Dst: Option::unwrap_or_else
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_cert_verify_impl.rs:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - dir
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: tests::load_chain
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_cert_verify_impl.rs
    functionUses: 0
    functionsReached:
    - test_key_path
    - std::fs::read
    - Option::unwrap_or_else
    linkageType: ''
    returnType: std::vec::Vec
    signature: 'fn load_chain(dir: &str) -> std::vec::Vec<u8>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: register
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_cert_verify_impl.rs:85,1
    - Dst: load_chain
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_cert_verify_impl.rs:87,1
    - Dst: spdm_x509::x509::chain::verify_cert_chain_with_backend
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_cert_verify_impl.rs:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 101
    functionName: tests::test_ml_dsa_cert_chain_happy_path
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_cert_verify_impl.rs
    functionUses: 0
    functionsReached:
    - load_chain
    - spdm_x509::x509::chain::verify_cert_chain_with_backend
    - register
    linkageType: ''
    returnType: void
    signature: fn test_ml_dsa_cert_chain_happy_path()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: register
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_cert_verify_impl.rs:108,1
    - Dst: load_chain
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_cert_verify_impl.rs:109,1
    - Dst: SpdmResult::len
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_cert_verify_impl.rs:113,1
    - Dst: spdm_x509::x509::chain::verify_cert_chain_with_backend
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_cert_verify_impl.rs:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 126
    functionName: tests::test_ml_dsa_cert_chain_tampered_signature_rejected
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_cert_verify_impl.rs
    functionUses: 0
    functionsReached:
    - load_chain
    - spdm_x509::x509::chain::verify_cert_chain_with_backend
    - SpdmResult::len
    - register
    linkageType: ''
    returnType: void
    signature: fn test_ml_dsa_cert_chain_tampered_signature_rejected()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: register
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_cert_verify_impl.rs:132,1
    - Dst: load_chain
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_cert_verify_impl.rs:133,1
    - Dst: spdm_x509::x509::chain::verify_cert_chain_with_backend
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_cert_verify_impl.rs:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 151
    functionName: tests::test_ml_dsa_cert_chain_tampered_intermediate_rejected
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_cert_verify_impl.rs
    functionUses: 0
    functionsReached:
    - load_chain
    - spdm_x509::x509::chain::verify_cert_chain_with_backend
    - register
    linkageType: ''
    returnType: void
    signature: fn test_ml_dsa_cert_chain_tampered_intermediate_rejected()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnparsedPublicKey::new
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/cert_operation_impl.rs:57,1
    - Dst: Self::verify
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/cert_operation_impl.rs:58,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/cert_operation_impl.rs:58,1
    - Dst: Error::SignatureError
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/cert_operation_impl.rs:59,1
    - Dst: UnparsedPublicKey::new
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/cert_operation_impl.rs:64,1
    - Dst: Self::verify
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/cert_operation_impl.rs:65,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/cert_operation_impl.rs:65,1
    - Dst: Error::SignatureError
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/cert_operation_impl.rs:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 4
    argNames:
    - algorithm
    - tbs_data
    - signature
    - public_key
    argTypes:
    - SignatureAlgorithm
    - '&[u8]'
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 68
      start: 25
    functionDepth: 6
    functionLinenumber: 25
    functionLinenumberEnd: 68
    functionName: AwsLcBackend::verify_signature
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/cert_operation_impl.rs
    functionUses: 0
    functionsReached:
    - map_err
    - UnparsedPublicKey::new
    - Self::verify
    - Error::SignatureError
    linkageType: ''
    returnType: Result
    signature: 'fn verify_signature(&self,algorithm: SignatureAlgorithm,tbs_data:
      &[u8],signature: &[u8],public_key: &[u8],) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmResult::len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:892,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:896,1
    - Dst: Error::ChainError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:896,1
    - Dst: der_sequence_total_length
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:907,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:911,1
    - Dst: Error::ValidationError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:911,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:920,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:925,1
    - Dst: ValidationOptions::default
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:933,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:934,1
    - Dst: Error::ValidationError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:934,1
    - Dst: '&str::into'
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:935,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:940,1
    - Dst: Error::ValidationError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:940,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 68
    argCount: 2
    argNames:
    - cert_chain
    - index
    argTypes:
    - '&[u8]'
    - isize
    constantsTouched: []
    func_position:
      end: 944
      start: 889
    functionDepth: 4
    functionLinenumber: 889
    functionLinenumberEnd: 944
    functionName: get_cert_from_cert_chain
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs
    functionUses: 14
    functionsReached:
    - '&str::into'
    - Error::ChainError
    - ValidationOptions::default
    - Err
    - SpdmResult::len
    - Error::ValidationError
    - der_sequence_total_length
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn get_cert_from_cert_chain(cert_chain: &[u8], index: isize) ->
      Result<(usize, usize)>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verify_cert_chain_with_backend
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:984,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cert_chain
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 985
      start: 983
    functionDepth: 10
    functionLinenumber: 983
    functionLinenumberEnd: 985
    functionName: verify_cert_chain
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs
    functionUses: 7
    functionsReached:
    - verify_cert_chain_with_backend
    linkageType: ''
    returnType: Result
    signature: 'pub fn verify_cert_chain(cert_chain: &[u8]) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 218
    functionName: tests::test_verify_cert_chain_ecp384
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_verify_cert_chain_ecp384()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 211
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 211
    functionName: tests::test_verify_cert_chain_rsa3072
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_verify_cert_chain_rsa3072()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: tests::test_verify_cert_chain_mldsa87
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/cert_operation_impl.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_verify_cert_chain_mldsa87()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_empty
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs:12,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs:18,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs:21,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 41
    argCount: 1
    argNames:
    - input
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 29
      start: 11
    functionDepth: 2
    functionLinenumber: 11
    functionLinenumberEnd: 29
    functionName: parse_der_length
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs
    functionUses: 1
    functionsReached:
    - len
    - is_empty
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn parse_der_length(input: &[u8]) -> Option<(usize, usize)>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs:36,1
    - Dst: parse_der_length
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs:40,1
    - Dst: Vec::len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs:42,1
    - Dst: Vec::len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs:48,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs:49,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 47
    argCount: 1
    argNames:
    - spki
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 58
      start: 34
    functionDepth: 3
    functionLinenumber: 34
    functionLinenumberEnd: 58
    functionName: extract_spki_pubkey
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs
    functionUses: 1
    functionsReached:
    - Vec::len
    - parse_der_length
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub(crate) fn extract_spki_pubkey(spki: &[u8]) -> Option<&[u8]>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_sig_size
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs:105,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs:106,1
    - Dst: verify_with_pub_key
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs:111,1
    - Dst: verify_with_cert_chain
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - base_hash_algo
    - base_asym_algo
    - der
    - data
    - signature
    argTypes:
    - SpdmBaseHashAlgo
    - SpdmBaseAsymAlgo
    - SpdmDer
    - '&[u8]'
    - '&SpdmSignatureStruct'
    constantsTouched: []
    func_position:
      end: 121
      start: 98
    functionDepth: 11
    functionLinenumber: 98
    functionLinenumberEnd: 121
    functionName: asym_verify
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs
    functionUses: 10
    functionsReached:
    - verify_with_pub_key
    - verify_with_cert_chain
    - Err
    - get_sig_size
    linkageType: ''
    returnType: SpdmResult
    signature: 'fn asym_verify(base_hash_algo: SpdmBaseHashAlgo,base_asym_algo: SpdmBaseAsymAlgo,der:
      SpdmDer,data: &[u8],signature: &SpdmSignatureStruct,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spdm_x509::x509::chain::get_cert_from_cert_chain
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs:220,1
    - Dst: SpdmResult::map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs:220,1
    - Dst: spdm_x509::Certificate::from_der
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs:228,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs:228,1
    - Dst: raw_bytes
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs:234,1
    - Dst: ecc_signature_bin_to_der
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs:244,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs:244,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs:269,1
    - Dst: UnparsedPublicKey::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs:273,1
    - Dst: Self::verify
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs:274,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs:275,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs:278,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs:325,1
    - Dst: UnparsedPublicKey::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs:329,1
    - Dst: Self::verify
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs:330,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs:331,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs:334,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs:340,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 82
    argCount: 5
    argNames:
    - base_hash_algo
    - base_asym_algo
    - public_cert_der
    - data
    - signature
    argTypes:
    - SpdmBaseHashAlgo
    - SpdmBaseAsymAlgo
    - '&[u8]'
    - '&[u8]'
    - '&SpdmSignatureStruct'
    constantsTouched: []
    func_position:
      end: 343
      start: 211
    functionDepth: 9
    functionLinenumber: 211
    functionLinenumberEnd: 343
    functionName: asym_verify_with_spdm_x509
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs
    functionUses: 0
    functionsReached:
    - ecc_signature_bin_to_der
    - UnparsedPublicKey::new
    - Self::verify
    - Result::as_ref
    - SpdmResult::map_err
    - Err
    - spdm_x509::x509::chain::get_cert_from_cert_chain
    - Result::map_err
    - spdm_x509::Certificate::from_der
    - raw_bytes
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: 'fn asym_verify_with_spdm_x509(base_hash_algo: SpdmBaseHashAlgo,base_asym_algo:
      SpdmBaseAsymAlgo,public_cert_der: &[u8],data: &[u8],signature: &SpdmSignatureStruct,)
      -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::len
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs:125,1
    - Dst: Result::iter
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs:134,1
    - Dst: Self::IntoIter::enumerate
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs:134,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs:134,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs:153,1
    - Dst: '&mut [u8]::len'
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs:161,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs:162,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs:169,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs:177,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs:180,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs:186,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs:189,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs:192,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 155
    argCount: 2
    argNames:
    - signature
    - der_signature
    argTypes:
    - '&[u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 193
      start: 124
    functionDepth: 8
    functionLinenumber: 124
    functionLinenumberEnd: 193
    functionName: ecc_signature_bin_to_der
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs
    functionUses: 6
    functionsReached:
    - take
    - Result::len
    - Err
    - '&mut [u8]::len'
    - Result::iter
    - copy_from_slice
    - Self::IntoIter::enumerate
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: 'fn ecc_signature_bin_to_der(signature: &[u8], der_signature: &mut
      [u8]) -> SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Layout::from_size_align
      Src: /src/spdm-rs/external/aws-lc-rs/no-std-runtime-test/src/main.rs:40,1
    - Dst: core::ptr::null_mut
      Src: /src/spdm-rs/external/aws-lc-rs/no-std-runtime-test/src/main.rs:41,1
    - Dst: checked_add
      Src: /src/spdm-rs/external/aws-lc-rs/no-std-runtime-test/src/main.rs:45,1
    - Dst: align
      Src: /src/spdm-rs/external/aws-lc-rs/no-std-runtime-test/src/main.rs:46,1
    - Dst: map
      Src: /src/spdm-rs/external/aws-lc-rs/no-std-runtime-test/src/main.rs:45,1
    - Dst: align
      Src: /src/spdm-rs/external/aws-lc-rs/no-std-runtime-test/src/main.rs:47,1
    - Dst: core::ptr::null_mut
      Src: /src/spdm-rs/external/aws-lc-rs/no-std-runtime-test/src/main.rs:49,1
    - Dst: '!::checked_add'
      Src: /src/spdm-rs/external/aws-lc-rs/no-std-runtime-test/src/main.rs:51,1
    - Dst: size
      Src: /src/spdm-rs/external/aws-lc-rs/no-std-runtime-test/src/main.rs:51,1
    - Dst: core::ptr::null_mut
      Src: /src/spdm-rs/external/aws-lc-rs/no-std-runtime-test/src/main.rs:52,1
    - Dst: core::ptr::null_mut
      Src: /src/spdm-rs/external/aws-lc-rs/no-std-runtime-test/src/main.rs:55,1
    - Dst: cast::<u8>
      Src: /src/spdm-rs/external/aws-lc-rs/no-std-runtime-test/src/main.rs:58,1
    - Dst: add
      Src: /src/spdm-rs/external/aws-lc-rs/no-std-runtime-test/src/main.rs:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 41
    argCount: 2
    argNames:
    - size
    - align
    argTypes:
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 60
      start: 39
    functionDepth: 15
    functionLinenumber: 39
    functionLinenumberEnd: 60
    functionName: aws_lc_nostd_alloc
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/no-std-runtime-test/src/main.rs
    functionUses: 2
    functionsReached:
    - Layout::from_size_align
    - add
    - align
    - map
    - size
    - '!::checked_add'
    - core::ptr::null_mut
    - checked_add
    - cast::<u8>
    linkageType: ''
    returnType: '*mut u8'
    signature: 'extern "C" fn aws_lc_nostd_alloc(size: usize, align: usize) -> *mut
      u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 3
    argNames:
    - _ptr
    - _size
    - _align
    argTypes:
    - '*mut u8'
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 63
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 63
    functionName: aws_lc_nostd_dealloc
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/no-std-runtime-test/src/main.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'extern "C" fn aws_lc_nostd_dealloc(_ptr: *mut u8, _size: usize, _align:
      usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc_nostd_alloc
      Src: /src/spdm-rs/external/aws-lc-rs/no-std-runtime-test/src/main.rs:72,1
    - Dst: '*mut u8::is_null'
      Src: /src/spdm-rs/external/aws-lc-rs/no-std-runtime-test/src/main.rs:73,1
    - Dst: core::ptr::copy_nonoverlapping
      Src: /src/spdm-rs/external/aws-lc-rs/no-std-runtime-test/src/main.rs:74,1
    - Dst: core::cmp::min
      Src: /src/spdm-rs/external/aws-lc-rs/no-std-runtime-test/src/main.rs:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - ptr
    - old_size
    - new_size
    - align
    argTypes:
    - '*mut u8'
    - usize
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 77
      start: 66
    functionDepth: 16
    functionLinenumber: 66
    functionLinenumberEnd: 77
    functionName: aws_lc_nostd_realloc
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/no-std-runtime-test/src/main.rs
    functionUses: 1
    functionsReached:
    - '*mut u8::is_null'
    - core::cmp::min
    - aws_lc_nostd_alloc
    - core::ptr::copy_nonoverlapping
    linkageType: ''
    returnType: '*mut u8'
    signature: 'unsafe extern "C" fn aws_lc_nostd_realloc(ptr: *mut u8,old_size: usize,new_size:
      usize,align: usize,) -> *mut u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::zeroize
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/lib.rs:75,1
    - Dst: core::ptr::write_bytes
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/lib.rs:76,1
    - Dst: core::cmp::min
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/lib.rs:80,1
    - Dst: core::mem::size_of::<u64>
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/lib.rs:80,1
    - Dst: core::ptr::copy_nonoverlapping
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/lib.rs:81,1
    - Dst: u8::to_ne_bytes
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/lib.rs:81,1
    - Dst: as_ptr
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/lib.rs:81,1
    - Dst: add
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/lib.rs:81,1
    - Dst: u8::zeroize
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/lib.rs:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 39
    argCount: 3
    argNames:
    - output
    - len
    - rdrand_step
    argTypes:
    - '*mut u8'
    - usize
    - impl FnMut(&mut u64) -> bool
    constantsTouched: []
    func_position:
      end: 86
      start: 55
    functionDepth: 15
    functionLinenumber: 55
    functionLinenumberEnd: 86
    functionName: fill_entropy_with_rdrand
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/lib.rs
    functionUses: 1
    functionsReached:
    - u8::to_ne_bytes
    - add
    - core::ptr::write_bytes
    - core::mem::size_of::<u64>
    - core::cmp::min
    - u8::zeroize
    - as_ptr
    - core::ptr::copy_nonoverlapping
    linkageType: ''
    returnType: bool
    signature: 'unsafe fn fill_entropy_with_rdrand(output: *mut u8,len: usize,mut
      rdrand_step: impl FnMut(&mut u64) -> bool,) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '*mut u8::add'
      Src: /src/spdm-rs/external/aws-lc-rs/no-std-runtime-test/src/main.rs:86,1
    - Dst: Elem::write
      Src: /src/spdm-rs/external/aws-lc-rs/no-std-runtime-test/src/main.rs:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - out
    - len
    argTypes:
    - '*mut u8'
    - usize
    constantsTouched: []
    func_position:
      end: 89
      start: 80
    functionDepth: 15
    functionLinenumber: 80
    functionLinenumberEnd: 89
    functionName: aws_lc_nostd_entropy
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/no-std-runtime-test/src/main.rs
    functionUses: 0
    functionsReached:
    - Elem::write
    - '*mut u8::add'
    linkageType: ''
    returnType: i32
    signature: 'unsafe extern "C" fn aws_lc_nostd_entropy(out: *mut u8, len: usize)
      -> i32'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: aws_lc_nostd_abort
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/no-std-runtime-test/src/main.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: '!'
    signature: extern "C" fn aws_lc_nostd_abort() -> !
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fill_entropy_with_rdrand
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/lib.rs:145,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/lib.rs:145,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/lib.rs:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 140
    functionDepth: 16
    functionLinenumber: 140
    functionLinenumberEnd: 159
    functionName: tests::entropy_failure_clears_partial_output
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/lib.rs
    functionUses: 0
    functionsReached:
    - fill_entropy_with_rdrand
    - as_mut_ptr
    - len
    linkageType: ''
    returnType: void
    signature: fn entropy_failure_clears_partial_output()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Default::default
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/lib.rs:41,1
    - Dst: spdmlib::crypto::hash::register
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/lib.rs:44,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/lib.rs:44,1
    - Dst: spdmlib::crypto::hmac::register
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/lib.rs:45,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/lib.rs:45,1
    - Dst: spdmlib::crypto::aead::register
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/lib.rs:46,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/lib.rs:46,1
    - Dst: spdmlib::crypto::asym_verify::register
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/lib.rs:47,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/lib.rs:47,1
    - Dst: spdmlib::crypto::dhe::register
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/lib.rs:48,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/lib.rs:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 51
    functionName: tests::test_spdm_fips_self_tests
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/lib.rs
    functionUses: 0
    functionsReached:
    - spdmlib::crypto::aead::register
    - spdmlib::crypto::hash::register
    - clone
    - spdmlib::crypto::asym_verify::register
    - spdmlib::crypto::hmac::register
    - spdmlib::crypto::dhe::register
    - Default::default
    linkageType: ''
    returnType: void
    signature: fn test_spdm_fips_self_tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kem_roundtrip
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/lib.rs:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 184
    functionDepth: 11
    functionLinenumber: 184
    functionLinenumberEnd: 186
    functionName: tests::test_kem_512_roundtrip
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/lib.rs
    functionUses: 0
    functionsReached:
    - kem_roundtrip
    linkageType: ''
    returnType: void
    signature: fn test_kem_512_roundtrip()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kem_roundtrip
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/lib.rs:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 11
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: tests::test_kem_768_roundtrip
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/lib.rs
    functionUses: 0
    functionsReached:
    - kem_roundtrip
    linkageType: ''
    returnType: void
    signature: fn test_kem_768_roundtrip()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kem_roundtrip
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/lib.rs:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 11
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: tests::test_kem_1024_roundtrip
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/lib.rs
    functionUses: 0
    functionsReached:
    - kem_roundtrip
    linkageType: ''
    returnType: void
    signature: fn test_kem_1024_roundtrip()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expect
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/lib.rs:201,1
    - Dst: expect
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/lib.rs:205,1
    - Dst: encap_key
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/lib.rs:207,1
    - Dst: expect
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/lib.rs:207,1
    - Dst: decap_key
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/lib.rs:210,1
    - Dst: expect
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/lib.rs:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 1
    argNames:
    - algo
    argTypes:
    - SpdmKemAlgo
    constantsTouched: []
    func_position:
      end: 220
      start: 198
    functionDepth: 10
    functionLinenumber: 198
    functionLinenumberEnd: 220
    functionName: tests::kem_roundtrip
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/lib.rs
    functionUses: 0
    functionsReached:
    - encap_key
    - expect
    - decap_key
    linkageType: ''
    returnType: void
    signature: 'fn kem_roundtrip(algo: SpdmKemAlgo)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mldsa_sign_verify_roundtrip
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/lib.rs:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 223
    functionDepth: 8
    functionLinenumber: 223
    functionLinenumberEnd: 228
    functionName: tests::test_mldsa_44_sign_verify
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/lib.rs
    functionUses: 0
    functionsReached:
    - mldsa_sign_verify_roundtrip
    linkageType: ''
    returnType: void
    signature: fn test_mldsa_44_sign_verify()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mldsa_sign_verify_roundtrip
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/lib.rs:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 231
    functionDepth: 8
    functionLinenumber: 231
    functionLinenumberEnd: 236
    functionName: tests::test_mldsa_65_sign_verify
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/lib.rs
    functionUses: 0
    functionsReached:
    - mldsa_sign_verify_roundtrip
    linkageType: ''
    returnType: void
    signature: fn test_mldsa_65_sign_verify()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mldsa_sign_verify_roundtrip
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/lib.rs:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 244
      start: 239
    functionDepth: 8
    functionLinenumber: 239
    functionLinenumberEnd: 244
    functionName: tests::test_mldsa_87_sign_verify
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/lib.rs
    functionUses: 0
    functionsReached:
    - mldsa_sign_verify_roundtrip
    linkageType: ''
    returnType: void
    signature: fn test_mldsa_87_sign_verify()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PqdsaKeyPair::generate
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/lib.rs:255,1
    - Dst: Result::expect
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/lib.rs:255,1
    - Dst: Option::public_key
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/lib.rs:256,1
    - Dst: '&[u8]::as_ref'
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/lib.rs:256,1
    - Dst: '&[u8]::to_vec'
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/lib.rs:256,1
    - Dst: '&''static aws_lc_rs::unstable::signature::PqdsaSigningAlgorithm::signature_len'
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/lib.rs:260,1
    - Dst: Option::sign
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/lib.rs:262,1
    - Dst: Option::expect
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/lib.rs:262,1
    - Dst: SpdmSignatureStruct::default
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/lib.rs:267,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/lib.rs:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 2
    argNames:
    - signing_algo
    - pqc_algo
    argTypes:
    - '&''static aws_lc_rs::unstable::signature::PqdsaSigningAlgorithm'
    - spdmlib::protocol::SpdmPqcAsymAlgo
    constantsTouched: []
    func_position:
      end: 299
      start: 246
    functionDepth: 7
    functionLinenumber: 246
    functionLinenumberEnd: 299
    functionName: tests::mldsa_sign_verify_roundtrip
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/lib.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::to_vec'
    - '&[u8]::as_ref'
    - Option::public_key
    - Option::sign
    - SpdmSignatureStruct::default
    - copy_from_slice
    - Result::expect
    - '&''static aws_lc_rs::unstable::signature::PqdsaSigningAlgorithm::signature_len'
    - Option::expect
    - PqdsaKeyPair::generate
    linkageType: ''
    returnType: void
    signature: 'fn mldsa_sign_verify_roundtrip(signing_algo: &''static aws_lc_rs::unstable::signature::PqdsaSigningAlgorithm,pqc_algo:
      spdmlib::protocol::SpdmPqcAsymAlgo,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1192,1
    - Dst: '&mut [u8]::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1195,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1196,1
    - Dst: id
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1202,1
    - Dst: aes::encrypt_cbc_mode
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1204,1
    - Dst: des::encrypt_cbc_mode
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1210,1
    - Dst: id
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1212,1
    - Dst: aes::encrypt_ctr_mode
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1214,1
    - Dst: id
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1225,1
    - Dst: aes::encrypt_cfb_mode
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1227,1
    - Dst: id
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1237,1
    - Dst: aes::encrypt_ecb_mode
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1239,1
    - Dst: des::encrypt_ecb_mode
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1245,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 5
    argNames:
    - algorithm
    - key
    - mode
    - in_out
    - context
    argTypes:
    - '&Algorithm'
    - '&SymmetricCipherKey'
    - OperatingMode
    - '&mut [u8]'
    - EncryptionContext
    constantsTouched: []
    func_position:
      end: 1248
      start: 1185
    functionDepth: 7
    functionLinenumber: 1185
    functionLinenumberEnd: 1248
    functionName: encrypt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 56
    functionsReached:
    - des::encrypt_cbc_mode
    - block_len
    - aes::encrypt_cbc_mode
    - id
    - Err
    - '&mut [u8]::len'
    - des::encrypt_ecb_mode
    - aes::encrypt_cfb_mode
    - aes::encrypt_ecb_mode
    - aes::encrypt_ctr_mode
    linkageType: ''
    returnType: Result
    signature: 'fn encrypt(algorithm: &Algorithm,key: &SymmetricCipherKey,mode: OperatingMode,in_out:
      &mut [u8],context: EncryptionContext,) -> Result<DecryptionContext, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1257,1
    - Dst: '&''in_out mut [u8]::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1260,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1261,1
    - Dst: id
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1267,1
    - Dst: aes::decrypt_cbc_mode
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1269,1
    - Dst: des::decrypt_cbc_mode
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1275,1
    - Dst: id
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1277,1
    - Dst: aes::decrypt_ctr_mode
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1279,1
    - Dst: id
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1290,1
    - Dst: aes::decrypt_cfb_mode
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1292,1
    - Dst: id
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1302,1
    - Dst: aes::decrypt_ecb_mode
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1304,1
    - Dst: des::decrypt_ecb_mode
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1310,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 5
    argNames:
    - algorithm
    - key
    - mode
    - in_out
    - context
    argTypes:
    - '&''static Algorithm'
    - '&SymmetricCipherKey'
    - OperatingMode
    - '&''in_out mut [u8]'
    - DecryptionContext
    constantsTouched: []
    func_position:
      end: 1313
      start: 1250
    functionDepth: 7
    functionLinenumber: 1250
    functionLinenumberEnd: 1313
    functionName: decrypt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 36
    functionsReached:
    - block_len
    - aes::decrypt_cbc_mode
    - id
    - des::decrypt_cbc_mode
    - aes::decrypt_ctr_mode
    - aes::decrypt_ecb_mode
    - Err
    - des::decrypt_ecb_mode
    - '&''in_out mut [u8]::len'
    - aes::decrypt_cfb_mode
    linkageType: ''
    returnType: Result
    signature: 'fn decrypt<''in_out>(algorithm: &''static Algorithm,key: &SymmetricCipherKey,mode:
      OperatingMode,in_out: &''in_out mut [u8],context: DecryptionContext,) -> Result<&''in_out
      mut [u8], Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aead::UnboundKey::new
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:629,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:629,1
    - Dst: OneNonceSequence::new
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:630,1
    - Dst: K::new
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - algorithm
    - key
    - nonce
    argTypes:
    - '&''static aead::Algorithm'
    - '&[u8]'
    - aead::Nonce
    constantsTouched: []
    func_position:
      end: 632
      start: 624
    functionDepth: 15
    functionLinenumber: 624
    functionLinenumberEnd: 632
    functionName: make_key
    functionSourceFile: /src/spdm-rs/external/ring/tests/aead_tests.rs
    functionUses: 7
    functionsReached:
    - Result::unwrap
    - OneNonceSequence::new
    - K::new
    - aead::UnboundKey::new
    linkageType: ''
    returnType: K
    signature: 'fn make_key<K: aead::BoundKey<OneNonceSequence>>(algorithm: &''static
      aead::Algorithm,key: &[u8],nonce: aead::Nonce,) -> K'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:645,1
    - Dst: Some
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nonce
    argTypes:
    - aead::Nonce
    constantsTouched: []
    func_position:
      end: 646
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 646
    functionName: OneNonceSequence::new
    functionSourceFile: /src/spdm-rs/external/ring/tests/aead_tests.rs
    functionUses: 1
    functionsReached:
    - Self
    - Some
    linkageType: ''
    returnType: Self
    signature: 'fn new(nonce: aead::Nonce) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: take
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:651,1
    - Dst: ok_or
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 652
      start: 650
    functionDepth: 8
    functionLinenumber: 650
    functionLinenumberEnd: 652
    functionName: OneNonceSequence::advance
    functionSourceFile: /src/spdm-rs/external/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached:
    - take
    - ok_or
    linkageType: ''
    returnType: Result
    signature: fn advance(&mut self) -> Result<aead::Nonce, error::Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmAeadKeyStruct::from
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/aead_impl.rs:147,1
    - Dst: as_slice
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/aead_impl.rs:147,1
    - Dst: SpdmAeadIvStruct::from
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/aead_impl.rs:148,1
    - Dst: encrypt
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/aead_impl.rs:152,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/aead_impl.rs:152,1
    - Dst: decrypt
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/aead_impl.rs:156,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/aead_impl.rs:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 1
    argNames:
    - aead
    argTypes:
    - SpdmAeadAlgo
    constantsTouched: []
    func_position:
      end: 161
      start: 145
    functionDepth: 8
    functionLinenumber: 145
    functionLinenumberEnd: 161
    functionName: tests::assert_aead_roundtrip
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/aead_impl.rs
    functionUses: 0
    functionsReached:
    - SpdmAeadIvStruct::from
    - SpdmAeadKeyStruct::from
    - Result::unwrap
    - decrypt
    - encrypt
    - as_slice
    linkageType: ''
    returnType: void
    signature: 'fn assert_aead_roundtrip(aead: SpdmAeadAlgo)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_aead_roundtrip
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/aead_impl.rs:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 9
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: tests::test_aead_roundtrip_aes256
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/aead_impl.rs
    functionUses: 0
    functionsReached:
    - assert_aead_roundtrip
    linkageType: ''
    returnType: void
    signature: fn test_aead_roundtrip_aes256()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_aead_roundtrip
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/aead_impl.rs:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 170
    functionDepth: 9
    functionLinenumber: 170
    functionLinenumberEnd: 172
    functionName: tests::test_aead_roundtrip_chacha20_poly1305
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/aead_impl.rs
    functionUses: 0
    functionsReached:
    - assert_aead_roundtrip
    linkageType: ''
    returnType: void
    signature: fn test_aead_roundtrip_chacha20_poly1305()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/aead_impl.rs:211,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/aead_impl.rs:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 223
    functionName: tests::test_chacha20_poly1305_disabled_by_default
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/aead_impl.rs
    functionUses: 0
    functionsReached:
    - Box::new
    linkageType: ''
    returnType: void
    signature: fn test_chacha20_poly1305_disabled_by_default()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_cipher_text_size
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:37,1
    - Dst: DecapsulationKey::new
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:42,1
    - Dst: Result::ok
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:42,1
    - Dst: decapsulate
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:43,1
    - Dst: Ciphertext::from
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:43,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:43,1
    - Dst: DecapsulationKey::new
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:46,1
    - Dst: Result::ok
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:46,1
    - Dst: decapsulate
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:47,1
    - Dst: Ciphertext::from
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:47,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:47,1
    - Dst: DecapsulationKey::new
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:50,1
    - Dst: Result::ok
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:50,1
    - Dst: decapsulate
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:51,1
    - Dst: Ciphertext::from
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:51,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:51,1
    - Dst: SpdmResult::as_ref
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:56,1
    - Dst: SpdmSharedSecretFinalKeyStruct::default
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:57,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:58,1
    - Dst: usize::min
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:58,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:59,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:61,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 71
    argCount: 2
    argNames:
    - kem_cipher_text
    argTypes:
    - Box<Self>
    - '&SpdmKemCipherTextStruct'
    constantsTouched: []
    func_position:
      end: 62
      start: 33
    functionDepth: 9
    functionLinenumber: 33
    functionLinenumberEnd: 62
    functionName: AwsLcKemDecapKey::decap_key
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs
    functionUses: 0
    functionsReached:
    - Ciphertext::from
    - DecapsulationKey::new
    - ok
    - Result::ok
    - '&[u8]::len'
    - SpdmResult::as_ref
    - decapsulate
    - usize::min
    - SpdmSharedSecretFinalKeyStruct::default
    - copy_from_slice
    - get_cipher_text_size
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn decap_key(self: Box<Self>,kem_cipher_text: &SpdmKemCipherTextStruct,)
      -> Option<SpdmSharedSecretFinalKeyStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:67,1
    - Dst: to_vec
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 4
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: AwsLcKemDecapKey::export_decap_key
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs
    functionUses: 0
    functionsReached:
    - to_vec
    - Some
    linkageType: ''
    returnType: Option
    signature: fn export_decap_key(&self) -> Option<Vec<u8>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EncapsulationKey::new
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:82,1
    - Dst: Result::ok
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:82,1
    - Dst: encapsulate
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:83,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:83,1
    - Dst: EncapsulationKey::new
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:86,1
    - Dst: Result::ok
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:86,1
    - Dst: encapsulate
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:87,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:87,1
    - Dst: EncapsulationKey::new
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:90,1
    - Dst: Result::ok
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:90,1
    - Dst: encapsulate
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:91,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:91,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:96,1
    - Dst: SpdmKemCipherTextStruct::default
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:97,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:98,1
    - Dst: usize::min
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:98,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:99,1
    - Dst: SpdmResult::as_ref
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:102,1
    - Dst: SpdmSharedSecretFinalKeyStruct::default
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:103,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:104,1
    - Dst: usize::min
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:104,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:105,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:108,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 81
    argCount: 1
    argNames: []
    argTypes:
    - Box<Self>
    constantsTouched: []
    func_position:
      end: 109
      start: 77
    functionDepth: 9
    functionLinenumber: 77
    functionLinenumberEnd: 109
    functionName: AwsLcKemEncapKey::encap_key
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs
    functionUses: 0
    functionsReached:
    - ok
    - Result::ok
    - '&[u8]::len'
    - SpdmKemCipherTextStruct::default
    - SpdmResult::as_ref
    - Some
    - encapsulate
    - usize::min
    - SpdmSharedSecretFinalKeyStruct::default
    - copy_from_slice
    - as_ref
    - EncapsulationKey::new
    linkageType: ''
    returnType: Option
    signature: 'fn encap_key(self: Box<Self>,) -> Option<(SpdmKemCipherTextStruct,
      SpdmSharedSecretFinalKeyStruct)>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - _kem_algo
    argTypes:
    - SpdmKemAlgo
    constantsTouched: []
    func_position:
      end: 25
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 25
    functionName: kem_generate_key_pair
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/kem_impl.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Option
    signature: 'fn kem_generate_key_pair(_kem_algo: SpdmKemAlgo,) -> Option<(SpdmKemEncapKeyStruct,Box<dyn
      SpdmKemEncapKeyExchange + Send>,)>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DecapsulationKey::new
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:166,1
    - Dst: Result::ok
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:166,1
    - Dst: DecapsulationKey::new
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:169,1
    - Dst: Result::ok
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:169,1
    - Dst: DecapsulationKey::new
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:172,1
    - Dst: Result::ok
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:172,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:177,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:177,1
    - Dst: Zeroizing::new
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:179,1
    - Dst: Vec::from
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - kem_algo
    - decap_key_bytes
    argTypes:
    - SpdmKemAlgo
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 181
      start: 156
    functionDepth: 9
    functionLinenumber: 156
    functionLinenumberEnd: 181
    functionName: kem_import_decap_key
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs
    functionUses: 1
    functionsReached:
    - DecapsulationKey::new
    - Result::ok
    - Zeroizing::new
    - Box::new
    - Vec::from
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn kem_import_decap_key(kem_algo: SpdmKemAlgo,decap_key_bytes: &[u8],)
      -> Option<Box<dyn SpdmKemEncapKeyExchange + Send>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 2
    argNames:
    - _kem_algo
    - _kem_encap_key
    argTypes:
    - SpdmKemAlgo
    - '&SpdmKemEncapKeyStruct'
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: kem_new_key
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/kem_impl.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Option
    signature: 'fn kem_new_key(_kem_algo: SpdmKemAlgo,_kem_encap_key: &SpdmKemEncapKeyStruct,)
      -> Option<Box<dyn SpdmKemCipherTextExchange + Send>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: roundtrip
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 11
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: tests::test_kem_mlkem512
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs
    functionUses: 0
    functionsReached:
    - roundtrip
    linkageType: ''
    returnType: void
    signature: fn test_kem_mlkem512()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: roundtrip
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 223
    functionDepth: 11
    functionLinenumber: 223
    functionLinenumberEnd: 225
    functionName: tests::test_kem_mlkem768
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs
    functionUses: 0
    functionsReached:
    - roundtrip
    linkageType: ''
    returnType: void
    signature: fn test_kem_mlkem768()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: roundtrip
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 11
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: tests::test_kem_mlkem1024
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs
    functionUses: 0
    functionsReached:
    - roundtrip
    linkageType: ''
    returnType: void
    signature: fn test_kem_mlkem1024()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: export_import_roundtrip
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 254
    functionDepth: 9
    functionLinenumber: 254
    functionLinenumberEnd: 256
    functionName: tests::test_kem_export_import_mlkem512
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs
    functionUses: 0
    functionsReached:
    - export_import_roundtrip
    linkageType: ''
    returnType: void
    signature: fn test_kem_export_import_mlkem512()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: export_import_roundtrip
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 261
      start: 259
    functionDepth: 9
    functionLinenumber: 259
    functionLinenumberEnd: 261
    functionName: tests::test_kem_export_import_mlkem768
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs
    functionUses: 0
    functionsReached:
    - export_import_roundtrip
    linkageType: ''
    returnType: void
    signature: fn test_kem_export_import_mlkem768()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: export_import_roundtrip
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 266
      start: 264
    functionDepth: 9
    functionLinenumber: 264
    functionLinenumberEnd: 266
    functionName: tests::test_kem_export_import_mlkem1024
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs
    functionUses: 0
    functionsReached:
    - export_import_roundtrip
    linkageType: ''
    returnType: void
    signature: fn test_kem_export_import_mlkem1024()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 275
    functionName: tests::test_kem_import_rejects_invalid
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_kem_import_rejects_invalid()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: tests::test_get_random_small
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/rand_impl.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_get_random_small()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: tests::test_get_random_large
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/rand_impl.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_get_random_large()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extract_signing_context
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_asym_sign_impl.rs:80,1
    - Dst: '&[u8]::is_empty'
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_asym_sign_impl.rs:81,1
    - Dst: core::ptr::null
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_asym_sign_impl.rs:82,1
    - Dst: '&[u8]::as_ptr'
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_asym_sign_impl.rs:84,1
    - Dst: sign_fn
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_asym_sign_impl.rs:105,1
    - Dst: Result::as_ptr
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_asym_sign_impl.rs:106,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_asym_sign_impl.rs:107,1
    - Dst: as_ptr
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_asym_sign_impl.rs:109,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_asym_sign_impl.rs:110,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_asym_sign_impl.rs:112,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_asym_sign_impl.rs:121,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_asym_sign_impl.rs:123,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 40
    argCount: 3
    argNames:
    - pqc_asym_algo
    - raw_private_key
    - data
    argTypes:
    - SpdmPqcAsymAlgo
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 127
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 127
    functionName: pqc_sign_with_context
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_asym_sign_impl.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::as_ptr'
    - '&[u8]::len'
    - extract_signing_context
    - '&[u8]::is_empty'
    - as_mut_ptr
    - Result::as_ptr
    - sign_fn
    - as_ptr
    - core::ptr::null
    - len
    - copy_from_slice
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn pqc_sign_with_context(pqc_asym_algo: SpdmPqcAsymAlgo,raw_private_key:
      &[u8],data: &[u8],) -> Option<SpdmSignatureStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 31
      start: 22
    functionDepth: 3
    functionLinenumber: 22
    functionLinenumberEnd: 31
    functionName: FunctionId::encode
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:34,1
    - Dst: Some
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 49
      start: 33
    functionDepth: 9
    functionLinenumber: 33
    functionLinenumberEnd: 49
    functionName: FunctionId::read
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 1
    functionsReached:
    - u32::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:61,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:62,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: InterfaceId::encode
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FunctionId::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:68,1
    - Dst: u64::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:69,1
    - Dst: Some
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 10
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: InterfaceId::read
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 1
    functionsReached:
    - FunctionId::read
    - u64::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Tag::into
      Src: /src/spdm-rs/external/ring/src/io/der.rs:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - tag
    argTypes:
    - Tag
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: u8::from
    functionSourceFile: /src/spdm-rs/external/ring/src/io/der.rs
    functionUses: 13
    functionsReached:
    - Tag::into
    linkageType: ''
    returnType: Self
    signature: 'fn from(tag: Tag) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:107,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:108,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:109,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:110,1
    - Dst: Err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - uts
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: TdiState::try_from
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - Err
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn try_from(uts: u8) -> Result<Self, <Self as TryFrom<u8>>::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::from
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:118,1
    - Dst: Self::encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: TdiState::encode
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - u8::from
    - Self::encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:122,1
    - Dst: Self::try_from
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:123,1
    - Dst: Result::ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 9
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: TdiState::read
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 1
    functionsReached:
    - Self::try_from
    - u8::read
    - Result::ok
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:198,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:199,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:200,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:201,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:202,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:203,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:204,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:205,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:206,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:207,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:208,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:209,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:210,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:211,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:212,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:213,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:214,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:215,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:216,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:217,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:218,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:219,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:220,1
    - Dst: Err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 1
    argNames:
    - utrrc
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 223
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 223
    functionName: TdispRequestResponseCode::try_from
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 1
    functionsReached:
    - Err
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn try_from(utrrc: u8) -> Result<Self, <Self as TryFrom<u8>>::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::from
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:228,1
    - Dst: Self::encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 229
      start: 227
    functionDepth: 3
    functionLinenumber: 227
    functionLinenumberEnd: 229
    functionName: TdispRequestResponseCode::encode
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - u8::from
    - Self::encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:232,1
    - Dst: Self::try_from
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:233,1
    - Dst: Result::ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 234
      start: 231
    functionDepth: 9
    functionLinenumber: 231
    functionLinenumberEnd: 234
    functionName: TdispRequestResponseCode::read
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 1
    functionsReached:
    - Self::try_from
    - u8::read
    - Result::ok
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 249
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 249
    functionName: TdispVersion::default
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:255,1
    - Dst: Some
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:257,1
    - Dst: Some
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:259,1
    - Dst: Some
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:261,1
    - Dst: Some
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:263,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - tv
    argTypes:
    - '&TdispVersion'
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: TdispVersion::partial_cmp
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn partial_cmp(&self, tv: &TdispVersion) -> Option<core::cmp::Ordering>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 271
      start: 269
    functionDepth: 3
    functionLinenumber: 269
    functionLinenumberEnd: 271
    functionName: TdispVersion::encode
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:274,1
    - Dst: Some
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 283
      start: 273
    functionDepth: 9
    functionLinenumber: 273
    functionLinenumberEnd: 283
    functionName: TdispVersion::read
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 2
    functionsReached:
    - u8::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:297,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:298,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:299,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:300,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:301,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:303,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 304
      start: 294
    functionDepth: 3
    functionLinenumber: 294
    functionLinenumberEnd: 304
    functionName: TdispMessageHeader::encode
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:307,1
    - Dst: TdispVersion::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:311,1
    - Dst: TdispRequestResponseCode::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:312,1
    - Dst: u16::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:313,1
    - Dst: InterfaceId::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:314,1
    - Dst: Some
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:316,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 321
      start: 306
    functionDepth: 9
    functionLinenumber: 306
    functionLinenumberEnd: 321
    functionName: TdispMessageHeader::read
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 21
    functionsReached:
    - Some
    - TdispRequestResponseCode::read
    - u8::read
    - InterfaceId::read
    - u16::read
    - TdispVersion::read
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32::from
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ec
    argTypes:
    - '&TdispErrorCode'
    constantsTouched: []
    func_position:
      end: 361
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 361
    functionName: u32::from
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 4
    functionsReached:
    - u32::from
    linkageType: ''
    returnType: Self
    signature: 'fn from(ec: &TdispErrorCode) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:368,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:369,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:370,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:371,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:372,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:373,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:374,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:375,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:376,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:377,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:378,1
    - Dst: Err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - uec
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 381
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 381
    functionName: TdispErrorCode::try_from
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - Err
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn try_from(uec: u32) -> Result<Self, <Self as TryFrom<u32>>::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32::from
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:386,1
    - Dst: Self::encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 387
      start: 385
    functionDepth: 3
    functionLinenumber: 385
    functionLinenumberEnd: 387
    functionName: TdispErrorCode::encode
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - u32::from
    - Self::encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:390,1
    - Dst: Self::try_from
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:391,1
    - Dst: Result::ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 392
      start: 389
    functionDepth: 9
    functionLinenumber: 389
    functionLinenumberEnd: 392
    functionName: TdispErrorCode::read
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 1
    functionsReached:
    - Self::try_from
    - u32::read
    - Result::ok
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 411
      start: 401
    functionDepth: 3
    functionLinenumber: 401
    functionLinenumberEnd: 411
    functionName: ReqGetTdispVersion::encode
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TdispMessageHeader::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:414,1
    - Dst: Some
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:424,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 427
      start: 413
    functionDepth: 10
    functionLinenumber: 413
    functionLinenumberEnd: 427
    functionName: ReqGetTdispVersion::read
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - TdispMessageHeader::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:441,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:450,1
    - Dst: iter
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:451,1
    - Dst: take
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:451,1
    - Dst: SpdmResult::encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:456,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:459,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 460
      start: 438
    functionDepth: 8
    functionLinenumber: 438
    functionLinenumberEnd: 460
    functionName: RspTdispVersion::encode
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - take
    - iter
    - SpdmResult::encode
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TdispMessageHeader::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:463,1
    - Dst: u8::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:473,1
    - Dst: TdispVersion::default
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:474,1
    - Dst: iter_mut
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:475,1
    - Dst: take
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:475,1
    - Dst: TdispVersion::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:479,1
    - Dst: Some
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:482,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 487
      start: 462
    functionDepth: 10
    functionLinenumber: 462
    functionLinenumberEnd: 487
    functionName: RspTdispVersion::read
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - take
    - Some
    - iter_mut
    - u8::read
    - TdispMessageHeader::read
    - TdispVersion::default
    - TdispVersion::read
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:500,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:501,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:503,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 504
      start: 497
    functionDepth: 3
    functionLinenumber: 497
    functionLinenumberEnd: 504
    functionName: ReqGetTdispCapabilities::encode
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TdispMessageHeader::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:507,1
    - Dst: u32::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:508,1
    - Dst: Some
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:510,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 514
      start: 506
    functionDepth: 10
    functionLinenumber: 506
    functionLinenumberEnd: 514
    functionName: ReqGetTdispCapabilities::read
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - u32::read
    - TdispMessageHeader::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LockInterfaceFlag::bits
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:535,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 536
      start: 534
    functionDepth: 4
    functionLinenumber: 534
    functionLinenumberEnd: 536
    functionName: LockInterfaceFlag::encode
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - LockInterfaceFlag::bits
    - Vec::encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u16::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:539,1
    - Dst: LockInterfaceFlag::from_bits
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:540,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 541
      start: 538
    functionDepth: 9
    functionLinenumber: 538
    functionLinenumberEnd: 541
    functionName: LockInterfaceFlag::read
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 2
    functionsReached:
    - u16::read
    - LockInterfaceFlag::from_bits
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:559,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:560,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:561,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:562,1
    - Dst: u24::new
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:563,1
    - Dst: u24::encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:563,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:564,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:565,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:566,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:568,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 569
      start: 556
    functionDepth: 3
    functionLinenumber: 556
    functionLinenumberEnd: 569
    functionName: RspTdispCapabilities::encode
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - u24::encode
    - u24::new
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TdispMessageHeader::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:572,1
    - Dst: u32::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:573,1
    - Dst: <[u8; 16]>::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:574,1
    - Dst: LockInterfaceFlag::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:575,1
    - Dst: u24::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:576,1
    - Dst: u8::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:577,1
    - Dst: u8::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:578,1
    - Dst: u8::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:579,1
    - Dst: Some
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:581,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 590
      start: 571
    functionDepth: 10
    functionLinenumber: 571
    functionLinenumberEnd: 590
    functionName: RspTdispCapabilities::read
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - u32::read
    - u8::read
    - <[u8; 16]>::read
    - TdispMessageHeader::read
    - u24::read
    - LockInterfaceFlag::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:607,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:608,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:609,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:610,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:611,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:612,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:614,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 615
      start: 604
    functionDepth: 3
    functionLinenumber: 604
    functionLinenumberEnd: 615
    functionName: ReqLockInterfaceRequest::encode
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TdispMessageHeader::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:618,1
    - Dst: LockInterfaceFlag::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:619,1
    - Dst: u8::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:620,1
    - Dst: u8::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:621,1
    - Dst: u64::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:622,1
    - Dst: u64::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:623,1
    - Dst: Some
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:625,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 632
      start: 617
    functionDepth: 10
    functionLinenumber: 617
    functionLinenumberEnd: 632
    functionName: ReqLockInterfaceRequest::read
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - u64::read
    - u8::read
    - TdispMessageHeader::read
    - LockInterfaceFlag::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:648,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:649,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:651,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 652
      start: 645
    functionDepth: 3
    functionLinenumber: 645
    functionLinenumberEnd: 652
    functionName: RspLockInterfaceResponse::encode
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TdispMessageHeader::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:655,1
    - Dst: <[u8; START_INTERFACE_NONCE_LEN]>::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:656,1
    - Dst: Some
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:658,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 662
      start: 654
    functionDepth: 10
    functionLinenumber: 654
    functionLinenumberEnd: 662
    functionName: RspLockInterfaceResponse::read
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - <[u8; START_INTERFACE_NONCE_LEN]>::read
    - TdispMessageHeader::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:677,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:678,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:679,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:681,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 682
      start: 674
    functionDepth: 3
    functionLinenumber: 674
    functionLinenumberEnd: 682
    functionName: ReqGetDeviceInterfaceReport::encode
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TdispMessageHeader::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:685,1
    - Dst: u16::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:686,1
    - Dst: u16::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:687,1
    - Dst: Some
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:689,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 694
      start: 684
    functionDepth: 10
    functionLinenumber: 684
    functionLinenumberEnd: 694
    functionName: ReqGetDeviceInterfaceReport::read
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - u16::read
    - TdispMessageHeader::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: InterfaceInfo::bits
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:715,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 716
      start: 714
    functionDepth: 4
    functionLinenumber: 714
    functionLinenumberEnd: 716
    functionName: InterfaceInfo::encode
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - InterfaceInfo::bits
    - Vec::encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u16::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:719,1
    - Dst: InterfaceInfo::from_bits
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:720,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 721
      start: 718
    functionDepth: 9
    functionLinenumber: 718
    functionLinenumberEnd: 721
    functionName: InterfaceInfo::read
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 1
    functionsReached:
    - u16::read
    - InterfaceInfo::from_bits
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:741,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:742,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:743,1
    - Dst: iter
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:744,1
    - Dst: take
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:744,1
    - Dst: SpdmResult::encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:745,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:748,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 749
      start: 738
    functionDepth: 8
    functionLinenumber: 738
    functionLinenumberEnd: 749
    functionName: RspDeviceInterfaceReport::encode
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - take
    - iter
    - SpdmResult::encode
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TdispMessageHeader::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:752,1
    - Dst: u16::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:753,1
    - Dst: u16::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:754,1
    - Dst: SpdmResult::iter_mut
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:759,1
    - Dst: take
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:759,1
    - Dst: u8::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:760,1
    - Dst: Some
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:763,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 769
      start: 751
    functionDepth: 10
    functionLinenumber: 751
    functionLinenumberEnd: 769
    functionName: RspDeviceInterfaceReport::read
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - take
    - u8::read
    - TdispMessageHeader::read
    - u16::read
    - SpdmResult::iter_mut
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:779,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 780
      start: 778
    functionDepth: 3
    functionLinenumber: 778
    functionLinenumberEnd: 780
    functionName: ReqGetDeviceInterfaceState::encode
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TdispMessageHeader::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:783,1
    - Dst: Some
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:785,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 786
      start: 782
    functionDepth: 10
    functionLinenumber: 782
    functionLinenumberEnd: 786
    functionName: ReqGetDeviceInterfaceState::read
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - TdispMessageHeader::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:800,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:801,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:803,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 804
      start: 797
    functionDepth: 3
    functionLinenumber: 797
    functionLinenumberEnd: 804
    functionName: RspDeviceInterfaceState::encode
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TdispMessageHeader::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:807,1
    - Dst: TdiState::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:808,1
    - Dst: Some
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:810,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 814
      start: 806
    functionDepth: 10
    functionLinenumber: 806
    functionLinenumberEnd: 814
    functionName: RspDeviceInterfaceState::read
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - TdiState::read
    - TdispMessageHeader::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:827,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:828,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:830,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 831
      start: 824
    functionDepth: 3
    functionLinenumber: 824
    functionLinenumberEnd: 831
    functionName: ReqStartInterfaceRequest::encode
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TdispMessageHeader::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:834,1
    - Dst: <[u8; START_INTERFACE_NONCE_LEN]>::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:835,1
    - Dst: Some
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:837,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 841
      start: 833
    functionDepth: 10
    functionLinenumber: 833
    functionLinenumberEnd: 841
    functionName: ReqStartInterfaceRequest::read
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - <[u8; START_INTERFACE_NONCE_LEN]>::read
    - TdispMessageHeader::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 852
      start: 850
    functionDepth: 3
    functionLinenumber: 850
    functionLinenumberEnd: 852
    functionName: RspStartInterfaceResponse::encode
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TdispMessageHeader::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:855,1
    - Dst: Some
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:857,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 858
      start: 854
    functionDepth: 10
    functionLinenumber: 854
    functionLinenumberEnd: 858
    functionName: RspStartInterfaceResponse::read
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - TdispMessageHeader::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 869
      start: 867
    functionDepth: 3
    functionLinenumber: 867
    functionLinenumberEnd: 869
    functionName: ReqStopInterfaceRequest::encode
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TdispMessageHeader::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:872,1
    - Dst: Some
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:874,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 875
      start: 871
    functionDepth: 10
    functionLinenumber: 871
    functionLinenumberEnd: 875
    functionName: ReqStopInterfaceRequest::read
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - TdispMessageHeader::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 886
      start: 884
    functionDepth: 3
    functionLinenumber: 884
    functionLinenumberEnd: 886
    functionName: RspStopInterfaceResponse::encode
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TdispMessageHeader::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:889,1
    - Dst: Some
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:891,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 892
      start: 888
    functionDepth: 10
    functionLinenumber: 888
    functionLinenumberEnd: 892
    functionName: RspStopInterfaceResponse::read
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - TdispMessageHeader::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:905,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:906,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:908,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 909
      start: 902
    functionDepth: 3
    functionLinenumber: 902
    functionLinenumberEnd: 909
    functionName: ReqBindP2PStreamRequest::encode
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TdispMessageHeader::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:912,1
    - Dst: u8::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:913,1
    - Dst: Some
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:915,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 919
      start: 911
    functionDepth: 10
    functionLinenumber: 911
    functionLinenumberEnd: 919
    functionName: ReqBindP2PStreamRequest::read
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - u8::read
    - TdispMessageHeader::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 930
      start: 928
    functionDepth: 3
    functionLinenumber: 928
    functionLinenumberEnd: 930
    functionName: RspBindP2PStreamResponse::encode
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TdispMessageHeader::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:933,1
    - Dst: Some
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:935,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 936
      start: 932
    functionDepth: 10
    functionLinenumber: 932
    functionLinenumberEnd: 936
    functionName: RspBindP2PStreamResponse::read
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - TdispMessageHeader::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:949,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:950,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:952,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 953
      start: 946
    functionDepth: 3
    functionLinenumber: 946
    functionLinenumberEnd: 953
    functionName: ReqUnBindP2PStreamRequest::encode
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TdispMessageHeader::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:956,1
    - Dst: u8::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:957,1
    - Dst: Some
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:959,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 963
      start: 955
    functionDepth: 10
    functionLinenumber: 955
    functionLinenumberEnd: 963
    functionName: ReqUnBindP2PStreamRequest::read
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - u8::read
    - TdispMessageHeader::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:973,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 974
      start: 972
    functionDepth: 3
    functionLinenumber: 972
    functionLinenumberEnd: 974
    functionName: RspUnBindP2PStreamResponse::encode
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TdispMessageHeader::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:977,1
    - Dst: Some
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:979,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 980
      start: 976
    functionDepth: 10
    functionLinenumber: 976
    functionLinenumberEnd: 980
    functionName: RspUnBindP2PStreamResponse::read
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - TdispMessageHeader::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MMIORangeAttribute::bits
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1001,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 1002
      start: 1000
    functionDepth: 4
    functionLinenumber: 1000
    functionLinenumberEnd: 1002
    functionName: MMIORangeAttribute::encode
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - Vec::encode
    - MMIORangeAttribute::bits
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u16::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1005,1
    - Dst: MMIORangeAttribute::from_bits
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1006,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 1007
      start: 1004
    functionDepth: 9
    functionLinenumber: 1004
    functionLinenumberEnd: 1007
    functionName: MMIORangeAttribute::read
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 1
    functionsReached:
    - u16::read
    - MMIORangeAttribute::from_bits
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MMIORangeAttribute::empty
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1023,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1019
    functionDepth: 2
    functionLinenumber: 1019
    functionLinenumberEnd: 1026
    functionName: TdispMmioRange::default
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 2
    functionsReached:
    - MMIORangeAttribute::empty
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1033,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1034,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1035,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1036,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1038,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 1039
      start: 1030
    functionDepth: 3
    functionLinenumber: 1030
    functionLinenumberEnd: 1039
    functionName: TdispMmioRange::encode
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u64::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1042,1
    - Dst: u32::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1043,1
    - Dst: MMIORangeAttribute::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1044,1
    - Dst: u16::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1045,1
    - Dst: Some
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1047,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 1053
      start: 1041
    functionDepth: 9
    functionLinenumber: 1041
    functionLinenumberEnd: 1053
    functionName: TdispMmioRange::read
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 2
    functionsReached:
    - u64::read
    - u32::read
    - u16::read
    - MMIORangeAttribute::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1066,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1067,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1069,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 1070
      start: 1063
    functionDepth: 3
    functionLinenumber: 1063
    functionLinenumberEnd: 1070
    functionName: ReqSetMmioAttributeRequest::encode
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TdispMessageHeader::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1073,1
    - Dst: TdispMmioRange::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1074,1
    - Dst: Some
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1076,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 1080
      start: 1072
    functionDepth: 10
    functionLinenumber: 1072
    functionLinenumberEnd: 1080
    functionName: ReqSetMmioAttributeRequest::read
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - TdispMmioRange::read
    - TdispMessageHeader::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 1091
      start: 1089
    functionDepth: 3
    functionLinenumber: 1089
    functionLinenumberEnd: 1091
    functionName: RspSetMmioAttributeResponse::encode
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TdispMessageHeader::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1094,1
    - Dst: Some
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1096,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 1097
      start: 1093
    functionDepth: 10
    functionLinenumber: 1093
    functionLinenumberEnd: 1097
    functionName: RspSetMmioAttributeResponse::read
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - TdispMessageHeader::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1111,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1112,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1113,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 1116
      start: 1108
    functionDepth: 3
    functionLinenumber: 1108
    functionLinenumberEnd: 1116
    functionName: RspTdispError::encode
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TdispMessageHeader::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1119,1
    - Dst: TdispErrorCode::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1123,1
    - Dst: u32::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1124,1
    - Dst: Some
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 1131
      start: 1118
    functionDepth: 10
    functionLinenumber: 1118
    functionLinenumberEnd: 1131
    functionName: RspTdispError::read
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - TdispErrorCode::read
    - u32::read
    - TdispMessageHeader::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 562
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 562
    functionName: vendor_id
    functionSourceFile: /src/spdm-rs/idekm/src/pci_idekm.rs
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: VendorIDStruct
    signature: pub const fn vendor_id() -> VendorIDStruct
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: InterfaceInfo::default
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1166,1
    - Dst: TdispMmioRange::default
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1164
    functionDepth: 3
    functionLinenumber: 1164
    functionLinenumberEnd: 1175
    functionName: TdiReportStructure::default
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - TdispMmioRange::default
    - InterfaceInfo::default
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1182,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1183,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1184,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1185,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1186,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1187,1
    - Dst: iter
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1188,1
    - Dst: take
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1188,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1189,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1191,1
    - Dst: iter
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1192,1
    - Dst: take
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1192,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1197,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1200,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 61
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 1201
      start: 1179
    functionDepth: 8
    functionLinenumber: 1179
    functionLinenumberEnd: 1201
    functionName: TdiReportStructure::encode
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - take
    - iter
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: InterfaceInfo::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1204,1
    - Dst: u16::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1205,1
    - Dst: u16::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1206,1
    - Dst: u16::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1207,1
    - Dst: u32::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1208,1
    - Dst: u32::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1209,1
    - Dst: TdispMmioRange::default
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1213,1
    - Dst: iter_mut
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1214,1
    - Dst: take
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1214,1
    - Dst: TdispMmioRange::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1215,1
    - Dst: u32::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1217,1
    - Dst: iter_mut
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1222,1
    - Dst: take
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1222,1
    - Dst: u8::read
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1226,1
    - Dst: Some
      Src: /src/spdm-rs/tdisp/src/pci_tdisp.rs:1229,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 56
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 1239
      start: 1203
    functionDepth: 10
    functionLinenumber: 1203
    functionLinenumberEnd: 1239
    functionName: TdiReportStructure::read
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp.rs
    functionUses: 0
    functionsReached:
    - take
    - u32::read
    - iter_mut
    - u8::read
    - u16::read
    - TdispMmioRange::read
    - TdispMmioRange::default
    - InterfaceInfo::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_lock_interface_request.rs:50,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_lock_interface_request.rs:52,1
    - Dst: map_err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_lock_interface_request.rs:52,1
    - Dst: '&mut RequesterContext::send_receive_spdm_vendor_defined_request'
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_lock_interface_request.rs:70,1
    - Dst: Some
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_lock_interface_request.rs:72,1
    - Dst: pci_tdisp::vendor_id
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_lock_interface_request.rs:74,1
    - Dst: RspTdispError::read_bytes
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_lock_interface_request.rs:79,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_lock_interface_request.rs:79,1
    - Dst: Some
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_lock_interface_request.rs:85,1
    - Dst: Err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_lock_interface_request.rs:86,1
    - Dst: RspLockInterfaceResponse::read_bytes
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_lock_interface_request.rs:89,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_lock_interface_request.rs:89,1
    - Dst: Err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_lock_interface_request.rs:104,1
    - Dst: '&mut [u8; START_INTERFACE_NONCE_LEN]::copy_from_slice'
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_lock_interface_request.rs:107,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_lock_interface_request.rs:109,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 79
    argCount: 9
    argNames:
    - spdm_requester
    - session_id
    - interface_id
    - flags
    - default_stream_id
    - mmio_reporting_offset
    - bind_p2p_address_mask
    - start_interface_nonce
    - tdisp_error_code
    argTypes:
    - '&mut RequesterContext'
    - u32
    - InterfaceId
    - LockInterfaceFlag
    - u8
    - u64
    - u64
    - '&mut [u8; START_INTERFACE_NONCE_LEN]'
    - '&mut Option<TdispErrorCode>'
    constantsTouched: []
    func_position:
      end: 110
      start: 31
    functionDepth: 16
    functionLinenumber: 31
    functionLinenumberEnd: 110
    functionName: pci_tdisp_req_lock_interface_request
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_lock_interface_request.rs
    functionUses: 1
    functionsReached:
    - Ok
    - map_err
    - encode
    - RspLockInterfaceResponse::read_bytes
    - Err
    - Option::ok_or
    - Writer::init
    - pci_tdisp::vendor_id
    - RspTdispError::read_bytes
    - '&mut [u8; START_INTERFACE_NONCE_LEN]::copy_from_slice'
    - '&mut RequesterContext::send_receive_spdm_vendor_defined_request'
    - Some
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn pci_tdisp_req_lock_interface_request(// INspdm_requester:
      &mut RequesterContext,session_id: u32,interface_id: InterfaceId,flags: LockInterfaceFlag,default_stream_id:
      u8,mmio_reporting_offset: u64,bind_p2p_address_mask: u64,// OUTstart_interface_nonce:
      &mut [u8; START_INTERFACE_NONCE_LEN],tdisp_error_code: &mut Option<TdispErrorCode>,)
      -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_tdisp_version.rs:34,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_tdisp_version.rs:36,1
    - Dst: map_err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_tdisp_version.rs:36,1
    - Dst: '&mut RequesterContext::send_receive_spdm_vendor_defined_request'
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_tdisp_version.rs:41,1
    - Dst: Some
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_tdisp_version.rs:43,1
    - Dst: pci_tdisp::vendor_id
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_tdisp_version.rs:45,1
    - Dst: RspTdispVersion::read_bytes
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_tdisp_version.rs:50,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_tdisp_version.rs:50,1
    - Dst: Err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_tdisp_version.rs:57,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_tdisp_version.rs:67,1
    - Dst: Err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_tdisp_version.rs:69,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 53
    argCount: 3
    argNames:
    - spdm_requester
    - session_id
    - interface_id
    argTypes:
    - '&mut RequesterContext'
    - u32
    - InterfaceId
    constantsTouched: []
    func_position:
      end: 71
      start: 22
    functionDepth: 16
    functionLinenumber: 22
    functionLinenumberEnd: 71
    functionName: pci_tdisp_req_get_tdisp_version
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_tdisp_version.rs
    functionUses: 1
    functionsReached:
    - Ok
    - map_err
    - encode
    - Err
    - Option::ok_or
    - Writer::init
    - pci_tdisp::vendor_id
    - RspTdispVersion::read_bytes
    - '&mut RequesterContext::send_receive_spdm_vendor_defined_request'
    - Some
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn pci_tdisp_req_get_tdisp_version(// INspdm_requester:
      &mut RequesterContext,session_id: u32,interface_id: InterfaceId,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_device_interface_state.rs:40,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_device_interface_state.rs:42,1
    - Dst: map_err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_device_interface_state.rs:42,1
    - Dst: '&mut RequesterContext::send_receive_spdm_vendor_defined_request'
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_device_interface_state.rs:56,1
    - Dst: Some
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_device_interface_state.rs:58,1
    - Dst: pci_tdisp::vendor_id
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_device_interface_state.rs:60,1
    - Dst: RspDeviceInterfaceState::read_bytes
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_device_interface_state.rs:65,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_device_interface_state.rs:65,1
    - Dst: Err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_device_interface_state.rs:80,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_device_interface_state.rs:85,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 59
    argCount: 4
    argNames:
    - spdm_requester
    - session_id
    - interface_id
    - tdi_state
    argTypes:
    - '&mut RequesterContext'
    - u32
    - InterfaceId
    - '&mut TdiState'
    constantsTouched: []
    func_position:
      end: 86
      start: 26
    functionDepth: 16
    functionLinenumber: 26
    functionLinenumberEnd: 86
    functionName: pci_tdisp_req_get_device_interface_state
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_device_interface_state.rs
    functionUses: 1
    functionsReached:
    - Ok
    - map_err
    - encode
    - Err
    - Option::ok_or
    - Writer::init
    - pci_tdisp::vendor_id
    - RspDeviceInterfaceState::read_bytes
    - '&mut RequesterContext::send_receive_spdm_vendor_defined_request'
    - Some
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn pci_tdisp_req_get_device_interface_state(// INspdm_requester:
      &mut RequesterContext,session_id: u32,interface_id: InterfaceId,// OUTtdi_state:
      &mut TdiState,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_tdisp_capabilities.rs:47,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_tdisp_capabilities.rs:49,1
    - Dst: map_err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_tdisp_capabilities.rs:49,1
    - Dst: '&mut RequesterContext::send_receive_spdm_vendor_defined_request'
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_tdisp_capabilities.rs:63,1
    - Dst: Some
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_tdisp_capabilities.rs:65,1
    - Dst: pci_tdisp::vendor_id
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_tdisp_capabilities.rs:67,1
    - Dst: RspTdispCapabilities::read_bytes
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_tdisp_capabilities.rs:72,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_tdisp_capabilities.rs:72,1
    - Dst: Err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_tdisp_capabilities.rs:87,1
    - Dst: '&mut [u8; 16]::copy_from_slice'
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_tdisp_capabilities.rs:91,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_tdisp_capabilities.rs:98,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 84
    argCount: 10
    argNames:
    - spdm_requester
    - session_id
    - tsm_caps
    - interface_id
    - dsm_caps
    - lock_interface_flags_supported
    - dev_addr_width
    - num_req_this
    - num_req_all
    - req_msgs_supported
    argTypes:
    - '&mut RequesterContext'
    - u32
    - u32
    - InterfaceId
    - '&mut u32'
    - '&mut LockInterfaceFlag'
    - '&mut u8'
    - '&mut u8'
    - '&mut u8'
    - '&mut [u8; 16]'
    constantsTouched: []
    func_position:
      end: 99
      start: 27
    functionDepth: 16
    functionLinenumber: 27
    functionLinenumberEnd: 99
    functionName: pci_tdisp_req_get_tdisp_capabilities
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_tdisp_capabilities.rs
    functionUses: 1
    functionsReached:
    - '&mut [u8; 16]::copy_from_slice'
    - Ok
    - map_err
    - encode
    - Err
    - Option::ok_or
    - Writer::init
    - pci_tdisp::vendor_id
    - RspTdispCapabilities::read_bytes
    - '&mut RequesterContext::send_receive_spdm_vendor_defined_request'
    - Some
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn pci_tdisp_req_get_tdisp_capabilities(// INspdm_requester:
      &mut RequesterContext,session_id: u32,tsm_caps: u32,interface_id: InterfaceId,//
      OUTdsm_caps: &mut u32,lock_interface_flags_supported: &mut LockInterfaceFlag,dev_addr_width:
      &mut u8,num_req_this: &mut u8,num_req_all: &mut u8,req_msgs_supported: &mut
      [u8; 16],) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_set_mmio_attribute_request.rs:42,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_set_mmio_attribute_request.rs:44,1
    - Dst: map_err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_set_mmio_attribute_request.rs:44,1
    - Dst: '&mut RequesterContext::send_receive_spdm_vendor_defined_request'
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_set_mmio_attribute_request.rs:59,1
    - Dst: Some
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_set_mmio_attribute_request.rs:61,1
    - Dst: pci_tdisp::vendor_id
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_set_mmio_attribute_request.rs:63,1
    - Dst: RspTdispError::read_bytes
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_set_mmio_attribute_request.rs:68,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_set_mmio_attribute_request.rs:68,1
    - Dst: Some
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_set_mmio_attribute_request.rs:74,1
    - Dst: Err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_set_mmio_attribute_request.rs:75,1
    - Dst: RspSetMmioAttributeResponse::read_bytes
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_set_mmio_attribute_request.rs:78,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_set_mmio_attribute_request.rs:78,1
    - Dst: Err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_set_mmio_attribute_request.rs:93,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_set_mmio_attribute_request.rs:96,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 74
    argCount: 5
    argNames:
    - spdm_requester
    - session_id
    - interface_id
    - mmio_range
    - tdisp_error_code
    argTypes:
    - '&mut RequesterContext'
    - u32
    - InterfaceId
    - TdispMmioRange
    - '&mut Option<TdispErrorCode>'
    constantsTouched: []
    func_position:
      end: 97
      start: 27
    functionDepth: 16
    functionLinenumber: 27
    functionLinenumberEnd: 97
    functionName: pci_tdisp_req_set_mmio_attribute_request
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_set_mmio_attribute_request.rs
    functionUses: 0
    functionsReached:
    - Ok
    - map_err
    - encode
    - Err
    - Option::ok_or
    - Writer::init
    - pci_tdisp::vendor_id
    - RspTdispError::read_bytes
    - RspSetMmioAttributeResponse::read_bytes
    - '&mut RequesterContext::send_receive_spdm_vendor_defined_request'
    - Some
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn pci_tdisp_req_set_mmio_attribute_request(// INspdm_requester:
      &mut RequesterContext,session_id: u32,interface_id: InterfaceId,mmio_range:
      TdispMmioRange,// OUTtdisp_error_code: &mut Option<TdispErrorCode>,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_bind_p2p_stream_request.rs:42,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_bind_p2p_stream_request.rs:44,1
    - Dst: map_err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_bind_p2p_stream_request.rs:44,1
    - Dst: '&mut RequesterContext::send_receive_spdm_vendor_defined_request'
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_bind_p2p_stream_request.rs:59,1
    - Dst: Some
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_bind_p2p_stream_request.rs:61,1
    - Dst: pci_tdisp::vendor_id
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_bind_p2p_stream_request.rs:63,1
    - Dst: RspTdispError::read_bytes
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_bind_p2p_stream_request.rs:68,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_bind_p2p_stream_request.rs:68,1
    - Dst: Some
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_bind_p2p_stream_request.rs:74,1
    - Dst: Err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_bind_p2p_stream_request.rs:75,1
    - Dst: RspBindP2PStreamResponse::read_bytes
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_bind_p2p_stream_request.rs:78,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_bind_p2p_stream_request.rs:78,1
    - Dst: Err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_bind_p2p_stream_request.rs:93,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_bind_p2p_stream_request.rs:96,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 74
    argCount: 5
    argNames:
    - spdm_requester
    - session_id
    - interface_id
    - p2p_stream_id
    - tdisp_error_code
    argTypes:
    - '&mut RequesterContext'
    - u32
    - InterfaceId
    - u8
    - '&mut Option<TdispErrorCode>'
    constantsTouched: []
    func_position:
      end: 97
      start: 27
    functionDepth: 16
    functionLinenumber: 27
    functionLinenumberEnd: 97
    functionName: pci_tdisp_req_bind_p2p_stream_request
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_bind_p2p_stream_request.rs
    functionUses: 0
    functionsReached:
    - RspBindP2PStreamResponse::read_bytes
    - Ok
    - map_err
    - encode
    - Err
    - Option::ok_or
    - Writer::init
    - pci_tdisp::vendor_id
    - RspTdispError::read_bytes
    - '&mut RequesterContext::send_receive_spdm_vendor_defined_request'
    - Some
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn pci_tdisp_req_bind_p2p_stream_request(// INspdm_requester:
      &mut RequesterContext,session_id: u32,interface_id: InterfaceId,p2p_stream_id:
      u8,// OUTtdisp_error_code: &mut Option<TdispErrorCode>,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_stop_interface_request.rs:37,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_stop_interface_request.rs:39,1
    - Dst: map_err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_stop_interface_request.rs:39,1
    - Dst: '&mut RequesterContext::send_receive_spdm_vendor_defined_request'
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_stop_interface_request.rs:53,1
    - Dst: Some
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_stop_interface_request.rs:55,1
    - Dst: pci_tdisp::vendor_id
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_stop_interface_request.rs:57,1
    - Dst: RspStopInterfaceResponse::read_bytes
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_stop_interface_request.rs:62,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_stop_interface_request.rs:62,1
    - Dst: Err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_stop_interface_request.rs:77,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_stop_interface_request.rs:80,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 55
    argCount: 3
    argNames:
    - spdm_requester
    - session_id
    - interface_id
    argTypes:
    - '&mut RequesterContext'
    - u32
    - InterfaceId
    constantsTouched: []
    func_position:
      end: 81
      start: 25
    functionDepth: 16
    functionLinenumber: 25
    functionLinenumberEnd: 81
    functionName: pci_tdisp_req_stop_interface_request
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_stop_interface_request.rs
    functionUses: 1
    functionsReached:
    - Ok
    - map_err
    - encode
    - RspStopInterfaceResponse::read_bytes
    - Option::ok_or
    - Err
    - Writer::init
    - pci_tdisp::vendor_id
    - '&mut RequesterContext::send_receive_spdm_vendor_defined_request'
    - Some
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn pci_tdisp_req_stop_interface_request(// INspdm_requester:
      &mut RequesterContext,session_id: u32,interface_id: InterfaceId,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_unbind_p2p_stream_request.rs:41,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_unbind_p2p_stream_request.rs:43,1
    - Dst: map_err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_unbind_p2p_stream_request.rs:43,1
    - Dst: '&mut RequesterContext::send_receive_spdm_vendor_defined_request'
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_unbind_p2p_stream_request.rs:58,1
    - Dst: Some
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_unbind_p2p_stream_request.rs:60,1
    - Dst: pci_tdisp::vendor_id
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_unbind_p2p_stream_request.rs:62,1
    - Dst: RspTdispError::read_bytes
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_unbind_p2p_stream_request.rs:67,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_unbind_p2p_stream_request.rs:67,1
    - Dst: Some
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_unbind_p2p_stream_request.rs:73,1
    - Dst: Err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_unbind_p2p_stream_request.rs:74,1
    - Dst: RspUnBindP2PStreamResponse::read_bytes
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_unbind_p2p_stream_request.rs:77,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_unbind_p2p_stream_request.rs:77,1
    - Dst: Err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_unbind_p2p_stream_request.rs:92,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_unbind_p2p_stream_request.rs:95,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 74
    argCount: 5
    argNames:
    - spdm_requester
    - session_id
    - interface_id
    - p2p_stream_id
    - tdisp_error_code
    argTypes:
    - '&mut RequesterContext'
    - u32
    - InterfaceId
    - u8
    - '&mut Option<TdispErrorCode>'
    constantsTouched: []
    func_position:
      end: 96
      start: 26
    functionDepth: 16
    functionLinenumber: 26
    functionLinenumberEnd: 96
    functionName: pci_tdisp_req_unbind_p2p_stream_request
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_unbind_p2p_stream_request.rs
    functionUses: 0
    functionsReached:
    - RspUnBindP2PStreamResponse::read_bytes
    - Ok
    - map_err
    - encode
    - Err
    - Option::ok_or
    - Writer::init
    - pci_tdisp::vendor_id
    - RspTdispError::read_bytes
    - '&mut RequesterContext::send_receive_spdm_vendor_defined_request'
    - Some
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn pci_tdisp_req_unbind_p2p_stream_request(// INspdm_requester:
      &mut RequesterContext,session_id: u32,interface_id: InterfaceId,p2p_stream_id:
      u8,// OUTtdisp_error_code: &mut Option<TdispErrorCode>,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_vdm_request.rs:26,1
    - Dst: '&mut RequesterContext::send_receive_spdm_vendor_defined_request'
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_vdm_request.rs:28,1
    - Dst: Some
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_vdm_request.rs:30,1
    - Dst: pci_tdisp::vendor_id
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_vdm_request.rs:32,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - spdm_requester
    - session_id
    - vendor_defined_req_payload_struct
    argTypes:
    - '&mut RequesterContext'
    - u32
    - VendorDefinedReqPayloadStruct
    constantsTouched: []
    func_position:
      end: 37
      start: 16
    functionDepth: 16
    functionLinenumber: 16
    functionLinenumberEnd: 37
    functionName: pci_tdisp_req_vdm_request
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_vdm_request.rs
    functionUses: 0
    functionsReached:
    - pci_tdisp::vendor_id
    - Err
    - '&mut RequesterContext::send_receive_spdm_vendor_defined_request'
    - Some
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn pci_tdisp_req_vdm_request(// INspdm_requester: &mut RequesterContext,session_id:
      u32,vendor_defined_req_payload_struct: VendorDefinedReqPayloadStruct,// OUT)
      -> SpdmResult<VendorDefinedRspPayloadStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_start_interface_request.rs:44,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_start_interface_request.rs:46,1
    - Dst: map_err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_start_interface_request.rs:46,1
    - Dst: '&mut RequesterContext::send_receive_spdm_vendor_defined_request'
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_start_interface_request.rs:61,1
    - Dst: Some
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_start_interface_request.rs:63,1
    - Dst: pci_tdisp::vendor_id
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_start_interface_request.rs:65,1
    - Dst: RspTdispError::read_bytes
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_start_interface_request.rs:70,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_start_interface_request.rs:70,1
    - Dst: Some
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_start_interface_request.rs:76,1
    - Dst: Err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_start_interface_request.rs:77,1
    - Dst: RspStartInterfaceResponse::read_bytes
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_start_interface_request.rs:80,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_start_interface_request.rs:80,1
    - Dst: Err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_start_interface_request.rs:95,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_start_interface_request.rs:98,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 75
    argCount: 5
    argNames:
    - spdm_requester
    - session_id
    - interface_id
    - start_interface_nonce
    - tdisp_error_code
    argTypes:
    - '&mut RequesterContext'
    - u32
    - InterfaceId
    - '&[u8; START_INTERFACE_NONCE_LEN]'
    - '&mut Option<TdispErrorCode>'
    constantsTouched: []
    func_position:
      end: 99
      start: 29
    functionDepth: 16
    functionLinenumber: 29
    functionLinenumberEnd: 99
    functionName: pci_tdisp_req_start_interface_request
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_start_interface_request.rs
    functionUses: 1
    functionsReached:
    - RspStartInterfaceResponse::read_bytes
    - Ok
    - map_err
    - encode
    - Err
    - Option::ok_or
    - Writer::init
    - pci_tdisp::vendor_id
    - RspTdispError::read_bytes
    - '&mut RequesterContext::send_receive_spdm_vendor_defined_request'
    - Some
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn pci_tdisp_req_start_interface_request(// INspdm_requester:
      &mut RequesterContext,session_id: u32,interface_id: InterfaceId,start_interface_nonce:
      &[u8; START_INTERFACE_NONCE_LEN],// OUTtdisp_error_code: &mut Option<TdispErrorCode>,)
      -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_device_interface_report.rs:52,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_device_interface_report.rs:54,1
    - Dst: map_err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_device_interface_report.rs:54,1
    - Dst: '&mut RequesterContext::send_receive_spdm_vendor_defined_request'
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_device_interface_report.rs:70,1
    - Dst: Some
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_device_interface_report.rs:72,1
    - Dst: pci_tdisp::vendor_id
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_device_interface_report.rs:74,1
    - Dst: RspTdispError::read_bytes
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_device_interface_report.rs:79,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_device_interface_report.rs:79,1
    - Dst: Some
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_device_interface_report.rs:85,1
    - Dst: Err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_device_interface_report.rs:86,1
    - Dst: RspDeviceInterfaceReport::read_bytes
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_device_interface_report.rs:89,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_device_interface_report.rs:89,1
    - Dst: Err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_device_interface_report.rs:104,1
    - Dst: Err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_device_interface_report.rs:112,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_device_interface_report.rs:115,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_device_interface_report.rs:132,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 122
    argCount: 6
    argNames:
    - spdm_requester
    - session_id
    - interface_id
    - report
    - report_size
    - tdisp_error_code
    argTypes:
    - '&mut RequesterContext'
    - u32
    - InterfaceId
    - '&mut [u8; MAX_DEVICE_REPORT_BUFFER]'
    - '&mut usize'
    - '&mut Option<TdispErrorCode>'
    constantsTouched: []
    func_position:
      end: 133
      start: 30
    functionDepth: 16
    functionLinenumber: 30
    functionLinenumberEnd: 133
    functionName: pci_tdisp_req_get_device_interface_report
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_device_interface_report.rs
    functionUses: 1
    functionsReached:
    - Ok
    - map_err
    - encode
    - Err
    - Option::ok_or
    - Writer::init
    - pci_tdisp::vendor_id
    - copy_from_slice
    - RspTdispError::read_bytes
    - RspDeviceInterfaceReport::read_bytes
    - '&mut RequesterContext::send_receive_spdm_vendor_defined_request'
    - Some
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn pci_tdisp_req_get_device_interface_report(// INspdm_requester:
      &mut RequesterContext,session_id: u32,interface_id: InterfaceId,// OUTreport:
      &mut [u8; MAX_DEVICE_REPORT_BUFFER],report_size: &mut usize,tdisp_error_code:
      &mut Option<TdispErrorCode>,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pci_tdisp::vendor_id
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_dispatcher.rs:36,1
    - Dst: Err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_dispatcher.rs:39,1
    - Dst: TdispRequestResponseCode::try_from
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_dispatcher.rs:42,1
    - Dst: super::pci_tdisp_rsp_tdisp_version::pci_tdisp_rsp_version
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_dispatcher.rs:47,1
    - Dst: 'super::

        pci_tdisp_rsp_tdisp_capabilities::pci_tdisp_rsp_capabilities'
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_dispatcher.rs:50,1
    - Dst: 'super::

        pci_tdisp_rsp_lock_interface_request::pci_tdisp_rsp_lock_interface'
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_dispatcher.rs:53,1
    - Dst: 'super::

        pci_tdisp_rsp_device_interface_report::pci_tdisp_rsp_interface_report'
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_dispatcher.rs:56,1
    - Dst: 'super::

        pci_tdisp_rsp_device_interface_state::pci_tdisp_rsp_interface_state'
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_dispatcher.rs:59,1
    - Dst: 'super::

        pci_tdisp_rsp_start_interface_request::pci_tdisp_rsp_start_interface'
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_dispatcher.rs:62,1
    - Dst: 'super::

        pci_tdisp_rsp_stop_interface_request::pci_tdisp_rsp_stop_interface'
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_dispatcher.rs:65,1
    - Dst: 'super::

        pci_tdisp_rsp_set_mmio_attribute_request::pci_tdisp_rsp_set_mmio_attribute'
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_dispatcher.rs:68,1
    - Dst: 'super::

        pci_tdisp_rsp_bind_p2p_stream_request::pci_tdisp_rsp_bind_p2p_stream'
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_dispatcher.rs:71,1
    - Dst: 'super::

        pci_tdisp_rsp_unbind_p2p_stream_request::pci_tdisp_rsp_unbind_p2p_stream'
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_dispatcher.rs:74,1
    - Dst: 'super::

        pci_tdisp_rsp_tdisp_error::write_error'
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_dispatcher.rs:82,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_dispatcher.rs:90,1
    - Dst: 'super::

        pci_tdisp_rsp_vdm_response::pci_tdisp_rsp_vdm_response'
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_dispatcher.rs:94,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 46
    argCount: 3
    argNames:
    - vdm_handle
    - vendor_id_struct
    - vendor_defined_req_payload_struct
    argTypes:
    - usize
    - '&VendorIDStruct'
    - '&VendorDefinedReqPayloadStruct'
    constantsTouched: []
    func_position:
      end: 96
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 96
    functionName: pci_tdisp_rsp_dispatcher
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_dispatcher.rs
    functionUses: 1
    functionsReached:
    - super::pci_tdisp_rsp_tdisp_version::pci_tdisp_rsp_version
    - 'super::

      pci_tdisp_rsp_device_interface_report::pci_tdisp_rsp_interface_report'
    - 'super::

      pci_tdisp_rsp_set_mmio_attribute_request::pci_tdisp_rsp_set_mmio_attribute'
    - 'super::

      pci_tdisp_rsp_unbind_p2p_stream_request::pci_tdisp_rsp_unbind_p2p_stream'
    - Ok
    - 'super::

      pci_tdisp_rsp_tdisp_error::write_error'
    - Err
    - 'super::

      pci_tdisp_rsp_tdisp_capabilities::pci_tdisp_rsp_capabilities'
    - TdispRequestResponseCode::try_from
    - pci_tdisp::vendor_id
    - 'super::

      pci_tdisp_rsp_lock_interface_request::pci_tdisp_rsp_lock_interface'
    - 'super::

      pci_tdisp_rsp_stop_interface_request::pci_tdisp_rsp_stop_interface'
    - 'super::

      pci_tdisp_rsp_start_interface_request::pci_tdisp_rsp_start_interface'
    - 'super::

      pci_tdisp_rsp_device_interface_state::pci_tdisp_rsp_interface_state'
    - 'super::

      pci_tdisp_rsp_bind_p2p_stream_request::pci_tdisp_rsp_bind_p2p_stream'
    - 'super::

      pci_tdisp_rsp_vdm_response::pci_tdisp_rsp_vdm_response'
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn pci_tdisp_rsp_dispatcher(vdm_handle: usize,vendor_id_struct:
      &VendorIDStruct,vendor_defined_req_payload_struct: &VendorDefinedReqPayloadStruct,)
      -> SpdmResult<VendorDefinedRspPayloadStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ReqGetTdispCapabilities::read_bytes
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_capabilities.rs:108,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_capabilities.rs:108,1
    - Dst: InterfaceId::default
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_capabilities.rs:114,1
    - Dst: LockInterfaceFlag::empty
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_capabilities.rs:117,1
    - Dst: pci_tdisp_device_capabilities
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_capabilities.rs:123,1
    - Dst: super::pci_tdisp_rsp_tdisp_error::write_error
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_capabilities.rs:142,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_capabilities.rs:150,1
    - Dst: Writer::init
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_capabilities.rs:154,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_capabilities.rs:156,1
    - Dst: map_err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_capabilities.rs:156,1
    - Dst: Err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_capabilities.rs:176,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_capabilities.rs:179,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 65
    argCount: 2
    argNames:
    - vdm_handle
    - vendor_defined_req_payload_struct
    argTypes:
    - usize
    - '&VendorDefinedReqPayloadStruct'
    constantsTouched: []
    func_position:
      end: 181
      start: 104
    functionDepth: 11
    functionLinenumber: 104
    functionLinenumberEnd: 181
    functionName: pci_tdisp_rsp_capabilities
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_capabilities.rs
    functionUses: 1
    functionsReached:
    - pci_tdisp_device_capabilities
    - map_err
    - InterfaceId::default
    - super::pci_tdisp_rsp_tdisp_error::write_error
    - Option::ok_or
    - Err
    - Writer::init
    - ReqGetTdispCapabilities::read_bytes
    - LockInterfaceFlag::empty
    - Ok
    - encode
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub(crate) fn pci_tdisp_rsp_capabilities(vdm_handle: usize,vendor_defined_req_payload_struct:
      &VendorDefinedReqPayloadStruct,) -> SpdmResult<VendorDefinedRspPayloadStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ReqGetDeviceInterfaceReport::read_bytes
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_device_interface_report.rs:84,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_device_interface_report.rs:84,1
    - Dst: InterfaceId::default
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_device_interface_report.rs:90,1
    - Dst: pci_tdisp_device_interface_report
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_device_interface_report.rs:96,1
    - Dst: super::pci_tdisp_rsp_tdisp_error::write_error
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_device_interface_report.rs:110,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_device_interface_report.rs:118,1
    - Dst: Writer::init
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_device_interface_report.rs:152,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_device_interface_report.rs:155,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_device_interface_report.rs:160,1
    - Dst: map_err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_device_interface_report.rs:160,1
    - Dst: Err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_device_interface_report.rs:177,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_device_interface_report.rs:180,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 108
    argCount: 2
    argNames:
    - vdm_handle
    - vendor_defined_req_payload_struct
    argTypes:
    - usize
    - '&VendorDefinedReqPayloadStruct'
    constantsTouched: []
    func_position:
      end: 182
      start: 80
    functionDepth: 11
    functionLinenumber: 80
    functionLinenumberEnd: 182
    functionName: pci_tdisp_rsp_interface_report
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_device_interface_report.rs
    functionUses: 1
    functionsReached:
    - ReqGetDeviceInterfaceReport::read_bytes
    - Ok
    - map_err
    - InterfaceId::default
    - super::pci_tdisp_rsp_tdisp_error::write_error
    - Option::ok_or
    - Err
    - Writer::init
    - copy_from_slice
    - pci_tdisp_device_interface_report
    - encode
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub(crate) fn pci_tdisp_rsp_interface_report(vdm_handle: usize,vendor_defined_req_payload_struct:
      &VendorDefinedReqPayloadStruct,) -> SpdmResult<VendorDefinedRspPayloadStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ReqBindP2PStreamRequest::read_bytes
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_bind_p2p_stream_request.rs:80,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_bind_p2p_stream_request.rs:80,1
    - Dst: InterfaceId::default
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_bind_p2p_stream_request.rs:86,1
    - Dst: pci_tdisp_device_bind_p2p_stream
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_bind_p2p_stream_request.rs:89,1
    - Dst: super::pci_tdisp_rsp_tdisp_error::write_error
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_bind_p2p_stream_request.rs:102,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_bind_p2p_stream_request.rs:110,1
    - Dst: Writer::init
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_bind_p2p_stream_request.rs:114,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_bind_p2p_stream_request.rs:116,1
    - Dst: map_err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_bind_p2p_stream_request.rs:116,1
    - Dst: Err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_bind_p2p_stream_request.rs:130,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_bind_p2p_stream_request.rs:133,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 57
    argCount: 2
    argNames:
    - vdm_handle
    - vendor_defined_req_payload_struct
    argTypes:
    - usize
    - '&VendorDefinedReqPayloadStruct'
    constantsTouched: []
    func_position:
      end: 135
      start: 76
    functionDepth: 11
    functionLinenumber: 76
    functionLinenumberEnd: 135
    functionName: pci_tdisp_rsp_bind_p2p_stream
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_bind_p2p_stream_request.rs
    functionUses: 1
    functionsReached:
    - pci_tdisp_device_bind_p2p_stream
    - ReqBindP2PStreamRequest::read_bytes
    - InterfaceId::default
    - map_err
    - super::pci_tdisp_rsp_tdisp_error::write_error
    - Option::ok_or
    - Err
    - Writer::init
    - Ok
    - encode
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub(crate) fn pci_tdisp_rsp_bind_p2p_stream(vdm_handle: usize,vendor_defined_req_payload_struct:
      &VendorDefinedReqPayloadStruct,) -> SpdmResult<VendorDefinedRspPayloadStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ReqLockInterfaceRequest::read_bytes
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_lock_interface_request.rs:100,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_lock_interface_request.rs:100,1
    - Dst: InterfaceId::default
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_lock_interface_request.rs:111,1
    - Dst: pci_tdisp_device_lock_interface
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_lock_interface_request.rs:115,1
    - Dst: super::pci_tdisp_rsp_tdisp_error::write_error
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_lock_interface_request.rs:127,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_lock_interface_request.rs:135,1
    - Dst: Writer::init
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_lock_interface_request.rs:139,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_lock_interface_request.rs:141,1
    - Dst: map_err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_lock_interface_request.rs:141,1
    - Dst: Err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_lock_interface_request.rs:156,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_lock_interface_request.rs:159,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 63
    argCount: 2
    argNames:
    - vdm_handle
    - vendor_defined_req_payload_struct
    argTypes:
    - usize
    - '&VendorDefinedReqPayloadStruct'
    constantsTouched: []
    func_position:
      end: 161
      start: 96
    functionDepth: 11
    functionLinenumber: 96
    functionLinenumberEnd: 161
    functionName: pci_tdisp_rsp_lock_interface
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_lock_interface_request.rs
    functionUses: 1
    functionsReached:
    - ReqLockInterfaceRequest::read_bytes
    - map_err
    - InterfaceId::default
    - super::pci_tdisp_rsp_tdisp_error::write_error
    - Option::ok_or
    - Err
    - Writer::init
    - pci_tdisp_device_lock_interface
    - Ok
    - encode
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub(crate) fn pci_tdisp_rsp_lock_interface(vdm_handle: usize,vendor_defined_req_payload_struct:
      &VendorDefinedReqPayloadStruct,) -> SpdmResult<VendorDefinedRspPayloadStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pci_tdisp_device_vdm_response
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_vdm_response.rs:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - vdm_handle
    - vendor_defined_req_payload_struct
    argTypes:
    - usize
    - '&VendorDefinedReqPayloadStruct'
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 10
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: pci_tdisp_rsp_vdm_response
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_vdm_response.rs
    functionUses: 1
    functionsReached:
    - pci_tdisp_device_vdm_response
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub(crate) fn pci_tdisp_rsp_vdm_response(vdm_handle: usize,vendor_defined_req_payload_struct:
      &VendorDefinedReqPayloadStruct,) -> SpdmResult<VendorDefinedRspPayloadStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_error.rs:69,1
    - Dst: InterfaceId::default
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_error.rs:71,1
    - Dst: pci_tdisp_device_error
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_error.rs:73,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_error.rs:75,1
    - Dst: map_err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_error.rs:75,1
    - Dst: Writer::extend_from_slice
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_error.rs:90,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_error.rs:91,1
    - Dst: Err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_error.rs:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 5
    argNames:
    - vdm_handle
    - error_code
    - error_data
    - ext_error_data
    - vendor_defined_rsp_payload
    argTypes:
    - usize
    - TdispErrorCode
    - u32
    - '&[u8]'
    - '&mut [u8; MAX_SPDM_VENDOR_DEFINED_PAYLOAD_SIZE]'
    constantsTouched: []
    func_position:
      end: 95
      start: 62
    functionDepth: 10
    functionLinenumber: 62
    functionLinenumberEnd: 95
    functionName: write_error
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_error.rs
    functionUses: 10
    functionsReached:
    - map_err
    - InterfaceId::default
    - Err
    - Writer::init
    - Writer::extend_from_slice
    - pci_tdisp_device_error
    - Ok
    - encode
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub(crate) fn write_error(vdm_handle: usize,error_code: TdispErrorCode,error_data:
      u32,ext_error_data: &[u8],vendor_defined_rsp_payload: &mut [u8; MAX_SPDM_VENDOR_DEFINED_PAYLOAD_SIZE],)
      -> SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ReqGetTdispVersion::read_bytes
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_version.rs:80,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_version.rs:80,1
    - Dst: InterfaceId::default
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_version.rs:86,1
    - Dst: TdispVersion::default
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_version.rs:88,1
    - Dst: pci_tdisp_device_version
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_version.rs:90,1
    - Dst: Writer::init
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_version.rs:103,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_version.rs:105,1
    - Dst: map_err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_version.rs:105,1
    - Dst: Err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_version.rs:114,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_version.rs:117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    argCount: 2
    argNames:
    - vdm_handle
    - vendor_defined_req_payload_struct
    argTypes:
    - usize
    - '&VendorDefinedReqPayloadStruct'
    constantsTouched: []
    func_position:
      end: 119
      start: 76
    functionDepth: 11
    functionLinenumber: 76
    functionLinenumberEnd: 119
    functionName: pci_tdisp_rsp_version
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_version.rs
    functionUses: 1
    functionsReached:
    - ReqGetTdispVersion::read_bytes
    - map_err
    - InterfaceId::default
    - Err
    - Option::ok_or
    - Writer::init
    - pci_tdisp_device_version
    - Ok
    - TdispVersion::default
    - encode
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub(crate) fn pci_tdisp_rsp_version(vdm_handle: usize,vendor_defined_req_payload_struct:
      &VendorDefinedReqPayloadStruct,) -> SpdmResult<VendorDefinedRspPayloadStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ReqStopInterfaceRequest::read_bytes
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_stop_interface_request.rs:72,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_stop_interface_request.rs:72,1
    - Dst: InterfaceId::default
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_stop_interface_request.rs:78,1
    - Dst: pci_tdisp_device_stop_interface
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_stop_interface_request.rs:81,1
    - Dst: super::pci_tdisp_rsp_tdisp_error::write_error
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_stop_interface_request.rs:89,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_stop_interface_request.rs:97,1
    - Dst: Writer::init
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_stop_interface_request.rs:101,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_stop_interface_request.rs:103,1
    - Dst: map_err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_stop_interface_request.rs:103,1
    - Dst: Err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_stop_interface_request.rs:117,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_stop_interface_request.rs:120,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 56
    argCount: 2
    argNames:
    - vdm_handle
    - vendor_defined_req_payload_struct
    argTypes:
    - usize
    - '&VendorDefinedReqPayloadStruct'
    constantsTouched: []
    func_position:
      end: 122
      start: 68
    functionDepth: 11
    functionLinenumber: 68
    functionLinenumberEnd: 122
    functionName: pci_tdisp_rsp_stop_interface
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_stop_interface_request.rs
    functionUses: 1
    functionsReached:
    - ReqStopInterfaceRequest::read_bytes
    - map_err
    - InterfaceId::default
    - super::pci_tdisp_rsp_tdisp_error::write_error
    - Option::ok_or
    - Err
    - Writer::init
    - pci_tdisp_device_stop_interface
    - Ok
    - encode
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub(crate) fn pci_tdisp_rsp_stop_interface(vdm_handle: usize,vendor_defined_req_payload_struct:
      &VendorDefinedReqPayloadStruct,) -> SpdmResult<VendorDefinedRspPayloadStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ReqUnBindP2PStreamRequest::read_bytes
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_unbind_p2p_stream_request.rs:80,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_unbind_p2p_stream_request.rs:80,1
    - Dst: InterfaceId::default
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_unbind_p2p_stream_request.rs:86,1
    - Dst: pci_tdisp_device_unbind_p2p_stream
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_unbind_p2p_stream_request.rs:89,1
    - Dst: super::pci_tdisp_rsp_tdisp_error::write_error
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_unbind_p2p_stream_request.rs:102,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_unbind_p2p_stream_request.rs:110,1
    - Dst: Writer::init
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_unbind_p2p_stream_request.rs:114,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_unbind_p2p_stream_request.rs:116,1
    - Dst: map_err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_unbind_p2p_stream_request.rs:116,1
    - Dst: Err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_unbind_p2p_stream_request.rs:130,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_unbind_p2p_stream_request.rs:133,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 57
    argCount: 2
    argNames:
    - vdm_handle
    - vendor_defined_req_payload_struct
    argTypes:
    - usize
    - '&VendorDefinedReqPayloadStruct'
    constantsTouched: []
    func_position:
      end: 135
      start: 76
    functionDepth: 11
    functionLinenumber: 76
    functionLinenumberEnd: 135
    functionName: pci_tdisp_rsp_unbind_p2p_stream
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_unbind_p2p_stream_request.rs
    functionUses: 1
    functionsReached:
    - map_err
    - InterfaceId::default
    - super::pci_tdisp_rsp_tdisp_error::write_error
    - Option::ok_or
    - Err
    - Writer::init
    - pci_tdisp_device_unbind_p2p_stream
    - Ok
    - ReqUnBindP2PStreamRequest::read_bytes
    - encode
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub(crate) fn pci_tdisp_rsp_unbind_p2p_stream(vdm_handle: usize,vendor_defined_req_payload_struct:
      &VendorDefinedReqPayloadStruct,) -> SpdmResult<VendorDefinedRspPayloadStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ReqSetMmioAttributeRequest::read_bytes
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_set_mmio_attribute_request.rs:80,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_set_mmio_attribute_request.rs:80,1
    - Dst: InterfaceId::default
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_set_mmio_attribute_request.rs:86,1
    - Dst: pci_tdisp_device_set_mmio_attribute
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_set_mmio_attribute_request.rs:89,1
    - Dst: super::pci_tdisp_rsp_tdisp_error::write_error
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_set_mmio_attribute_request.rs:102,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_set_mmio_attribute_request.rs:110,1
    - Dst: Writer::init
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_set_mmio_attribute_request.rs:114,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_set_mmio_attribute_request.rs:116,1
    - Dst: map_err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_set_mmio_attribute_request.rs:116,1
    - Dst: Err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_set_mmio_attribute_request.rs:130,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_set_mmio_attribute_request.rs:133,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 58
    argCount: 2
    argNames:
    - vdm_handle
    - vendor_defined_req_payload_struct
    argTypes:
    - usize
    - '&VendorDefinedReqPayloadStruct'
    constantsTouched: []
    func_position:
      end: 135
      start: 76
    functionDepth: 11
    functionLinenumber: 76
    functionLinenumberEnd: 135
    functionName: pci_tdisp_rsp_set_mmio_attribute
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_set_mmio_attribute_request.rs
    functionUses: 1
    functionsReached:
    - pci_tdisp_device_set_mmio_attribute
    - map_err
    - InterfaceId::default
    - ReqSetMmioAttributeRequest::read_bytes
    - super::pci_tdisp_rsp_tdisp_error::write_error
    - Option::ok_or
    - Err
    - Writer::init
    - Ok
    - encode
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub(crate) fn pci_tdisp_rsp_set_mmio_attribute(vdm_handle: usize,vendor_defined_req_payload_struct:
      &VendorDefinedReqPayloadStruct,) -> SpdmResult<VendorDefinedRspPayloadStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ReqStartInterfaceRequest::read_bytes
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_start_interface_request.rs:81,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_start_interface_request.rs:81,1
    - Dst: InterfaceId::default
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_start_interface_request.rs:87,1
    - Dst: pci_tdisp_device_start_interface
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_start_interface_request.rs:90,1
    - Dst: super::pci_tdisp_rsp_tdisp_error::write_error
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_start_interface_request.rs:103,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_start_interface_request.rs:111,1
    - Dst: Writer::init
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_start_interface_request.rs:115,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_start_interface_request.rs:117,1
    - Dst: map_err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_start_interface_request.rs:117,1
    - Dst: Err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_start_interface_request.rs:131,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_start_interface_request.rs:134,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 58
    argCount: 2
    argNames:
    - vdm_handle
    - vendor_defined_req_payload_struct
    argTypes:
    - usize
    - '&VendorDefinedReqPayloadStruct'
    constantsTouched: []
    func_position:
      end: 136
      start: 77
    functionDepth: 11
    functionLinenumber: 77
    functionLinenumberEnd: 136
    functionName: pci_tdisp_rsp_start_interface
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_start_interface_request.rs
    functionUses: 1
    functionsReached:
    - map_err
    - InterfaceId::default
    - super::pci_tdisp_rsp_tdisp_error::write_error
    - pci_tdisp_device_start_interface
    - Option::ok_or
    - Err
    - Writer::init
    - ReqStartInterfaceRequest::read_bytes
    - Ok
    - encode
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub(crate) fn pci_tdisp_rsp_start_interface(vdm_handle: usize,vendor_defined_req_payload_struct:
      &VendorDefinedReqPayloadStruct,) -> SpdmResult<VendorDefinedRspPayloadStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ReqGetDeviceInterfaceState::read_bytes
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_device_interface_state.rs:75,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_device_interface_state.rs:75,1
    - Dst: InterfaceId::default
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_device_interface_state.rs:81,1
    - Dst: pci_tdisp_device_interface_state
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_device_interface_state.rs:85,1
    - Dst: super::pci_tdisp_rsp_tdisp_error::write_error
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_device_interface_state.rs:98,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_device_interface_state.rs:106,1
    - Dst: Writer::init
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_device_interface_state.rs:110,1
    - Dst: encode
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_device_interface_state.rs:112,1
    - Dst: map_err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_device_interface_state.rs:112,1
    - Dst: Err
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_device_interface_state.rs:127,1
    - Dst: Ok
      Src: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_device_interface_state.rs:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 57
    argCount: 2
    argNames:
    - vdm_handle
    - vendor_defined_req_payload_struct
    argTypes:
    - usize
    - '&VendorDefinedReqPayloadStruct'
    constantsTouched: []
    func_position:
      end: 132
      start: 71
    functionDepth: 11
    functionLinenumber: 71
    functionLinenumberEnd: 132
    functionName: pci_tdisp_rsp_interface_state
    functionSourceFile: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_device_interface_state.rs
    functionUses: 1
    functionsReached:
    - pci_tdisp_device_interface_state
    - map_err
    - InterfaceId::default
    - ReqGetDeviceInterfaceState::read_bytes
    - super::pci_tdisp_rsp_tdisp_error::write_error
    - Option::ok_or
    - Err
    - Writer::init
    - Ok
    - encode
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub(crate) fn pci_tdisp_rsp_interface_state(vdm_handle: usize,vendor_defined_req_payload_struct:
      &VendorDefinedReqPayloadStruct,) -> SpdmResult<VendorDefinedRspPayloadStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:56,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:57,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:58,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:59,1
    - Dst: Ok
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:61,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 3
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: QueryDataObject::encode
    functionSourceFile: /src/spdm-rs/idekm/src/pci_idekm.rs
    functionUses: 0
    functionsReached:
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:65,1
    - Dst: u8::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:70,1
    - Dst: u8::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:75,1
    - Dst: u8::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:77,1
    - Dst: Some
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:79,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 80
      start: 64
    functionDepth: 9
    functionLinenumber: 64
    functionLinenumberEnd: 80
    functionName: QueryDataObject::read
    functionSourceFile: /src/spdm-rs/idekm/src/pci_idekm.rs
    functionUses: 0
    functionsReached:
    - u8::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:98,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:99,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:100,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:101,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:102,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:103,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:104,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:105,1
    - Dst: iter
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:106,1
    - Dst: take
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:106,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:107,1
    - Dst: Ok
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:110,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 50
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 111
      start: 95
    functionDepth: 8
    functionLinenumber: 95
    functionLinenumberEnd: 111
    functionName: QueryRespDataObject::encode
    functionSourceFile: /src/spdm-rs/idekm/src/pci_idekm.rs
    functionUses: 0
    functionsReached:
    - take
    - iter
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:114,1
    - Dst: u8::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:118,1
    - Dst: u8::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:122,1
    - Dst: u8::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:123,1
    - Dst: u8::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:124,1
    - Dst: u8::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:125,1
    - Dst: u8::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:126,1
    - Dst: u8::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:127,1
    - Dst: left
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:129,1
    - Dst: bool::is_multiple_of
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:130,1
    - Dst: contains
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:135,1
    - Dst: iter_mut
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:142,1
    - Dst: take
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:142,1
    - Dst: u32::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:143,1
    - Dst: Some
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:146,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 61
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 155
      start: 113
    functionDepth: 9
    functionLinenumber: 113
    functionLinenumberEnd: 155
    functionName: QueryRespDataObject::read
    functionSourceFile: /src/spdm-rs/idekm/src/pci_idekm.rs
    functionUses: 0
    functionsReached:
    - take
    - left
    - iter_mut
    - u8::read
    - u32::read
    - contains
    - bool::is_multiple_of
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:168,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:169,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:170,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:171,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:172,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:173,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:174,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:175,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:176,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:177,1
    - Dst: Ok
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:179,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 61
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 180
      start: 165
    functionDepth: 3
    functionLinenumber: 165
    functionLinenumberEnd: 180
    functionName: Aes256GcmKeyBuffer::encode
    functionSourceFile: /src/spdm-rs/idekm/src/pci_idekm.rs
    functionUses: 0
    functionsReached:
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:183,1
    - Dst: Box::new
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:184,1
    - Dst: bool::iter_mut
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:186,1
    - Dst: take
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:186,1
    - Dst: u32::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:187,1
    - Dst: bool::reverse
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:190,1
    - Dst: Result::iter_mut
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:192,1
    - Dst: take
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:192,1
    - Dst: u32::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:193,1
    - Dst: Result::reverse
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:196,1
    - Dst: Some
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:198,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 199
      start: 182
    functionDepth: 8
    functionLinenumber: 182
    functionLinenumberEnd: 199
    functionName: Aes256GcmKeyBuffer::read
    functionSourceFile: /src/spdm-rs/idekm/src/pci_idekm.rs
    functionUses: 1
    functionsReached:
    - take
    - Result::iter_mut
    - Result::reverse
    - u32::read
    - Box::new
    - bool::iter_mut
    - bool::reverse
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:216,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:217,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:218,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:219,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:220,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:221,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:222,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:223,1
    - Dst: Ok
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:225,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 226
      start: 213
    functionDepth: 3
    functionLinenumber: 213
    functionLinenumberEnd: 226
    functionName: KeyProgDataObject::encode
    functionSourceFile: /src/spdm-rs/idekm/src/pci_idekm.rs
    functionUses: 0
    functionsReached:
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:229,1
    - Dst: u8::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:233,1
    - Dst: u16::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:237,1
    - Dst: u8::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:238,1
    - Dst: u8::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:239,1
    - Dst: u8::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:240,1
    - Dst: u8::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:250,1
    - Dst: Aes256GcmKeyBuffer::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:251,1
    - Dst: Some
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:253,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 261
      start: 228
    functionDepth: 9
    functionLinenumber: 228
    functionLinenumberEnd: 261
    functionName: KeyProgDataObject::read
    functionSourceFile: /src/spdm-rs/idekm/src/pci_idekm.rs
    functionUses: 0
    functionsReached:
    - u16::read
    - Aes256GcmKeyBuffer::read
    - u8::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:291,1
    - Dst: Ok
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:292,1
    - Dst: Ok
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:293,1
    - Dst: Ok
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:294,1
    - Dst: Ok
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:295,1
    - Dst: Err
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - untrusted_status
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 298
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 298
    functionName: KpAckStatus::try_from
    functionSourceFile: /src/spdm-rs/idekm/src/pci_idekm.rs
    functionUses: 1
    functionsReached:
    - Err
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn try_from(untrusted_status: u8) -> Result<Self, <Self as TryFrom<u8>>::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::from
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:305,1
    - Dst: Self::encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:305,1
    - Dst: Ok
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 308
      start: 302
    functionDepth: 3
    functionLinenumber: 302
    functionLinenumberEnd: 308
    functionName: KpAckStatus::encode
    functionSourceFile: /src/spdm-rs/idekm/src/pci_idekm.rs
    functionUses: 0
    functionsReached:
    - u8::from
    - Ok
    - Self::encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:311,1
    - Dst: KpAckStatus::try_from
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:312,1
    - Dst: Result::ok
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 9
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: KpAckStatus::read
    functionSourceFile: /src/spdm-rs/idekm/src/pci_idekm.rs
    functionUses: 1
    functionsReached:
    - u8::read
    - Result::ok
    - KpAckStatus::try_from
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:330,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:331,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:332,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:333,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:334,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:335,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:336,1
    - Dst: Ok
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:338,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 339
      start: 327
    functionDepth: 3
    functionLinenumber: 327
    functionLinenumberEnd: 339
    functionName: KpAckDataObject::encode
    functionSourceFile: /src/spdm-rs/idekm/src/pci_idekm.rs
    functionUses: 0
    functionsReached:
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:342,1
    - Dst: u8::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:346,1
    - Dst: u16::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:350,1
    - Dst: u8::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:351,1
    - Dst: KpAckStatus::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:352,1
    - Dst: u8::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:353,1
    - Dst: u8::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:363,1
    - Dst: Some
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:365,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 373
      start: 341
    functionDepth: 9
    functionLinenumber: 341
    functionLinenumberEnd: 373
    functionName: KpAckDataObject::read
    functionSourceFile: /src/spdm-rs/idekm/src/pci_idekm.rs
    functionUses: 0
    functionsReached:
    - u16::read
    - u8::read
    - KpAckStatus::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:389,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:390,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:391,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:392,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:393,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:394,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:395,1
    - Dst: Ok
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:397,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 398
      start: 386
    functionDepth: 3
    functionLinenumber: 386
    functionLinenumberEnd: 398
    functionName: KSetGoDataObject::encode
    functionSourceFile: /src/spdm-rs/idekm/src/pci_idekm.rs
    functionUses: 0
    functionsReached:
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:401,1
    - Dst: u8::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:405,1
    - Dst: u16::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:409,1
    - Dst: u8::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:410,1
    - Dst: u8::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:411,1
    - Dst: u8::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:412,1
    - Dst: u8::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:422,1
    - Dst: Some
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:424,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 431
      start: 400
    functionDepth: 9
    functionLinenumber: 400
    functionLinenumberEnd: 431
    functionName: KSetGoDataObject::read
    functionSourceFile: /src/spdm-rs/idekm/src/pci_idekm.rs
    functionUses: 0
    functionsReached:
    - u16::read
    - u8::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:447,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:448,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:449,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:450,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:451,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:452,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:453,1
    - Dst: Ok
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:455,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 456
      start: 444
    functionDepth: 3
    functionLinenumber: 444
    functionLinenumberEnd: 456
    functionName: KSetStopDataObject::encode
    functionSourceFile: /src/spdm-rs/idekm/src/pci_idekm.rs
    functionUses: 0
    functionsReached:
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:459,1
    - Dst: u8::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:463,1
    - Dst: u16::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:467,1
    - Dst: u8::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:468,1
    - Dst: u8::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:469,1
    - Dst: u8::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:470,1
    - Dst: u8::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:480,1
    - Dst: Some
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:482,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 489
      start: 458
    functionDepth: 9
    functionLinenumber: 458
    functionLinenumberEnd: 489
    functionName: KSetStopDataObject::read
    functionSourceFile: /src/spdm-rs/idekm/src/pci_idekm.rs
    functionUses: 0
    functionsReached:
    - u16::read
    - u8::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:505,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:506,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:507,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:508,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:509,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:510,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:511,1
    - Dst: Ok
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:513,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 514
      start: 502
    functionDepth: 3
    functionLinenumber: 502
    functionLinenumberEnd: 514
    functionName: KGoStopAckDataObject::encode
    functionSourceFile: /src/spdm-rs/idekm/src/pci_idekm.rs
    functionUses: 0
    functionsReached:
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:517,1
    - Dst: u8::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:521,1
    - Dst: u16::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:525,1
    - Dst: u8::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:526,1
    - Dst: u8::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:527,1
    - Dst: u8::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:528,1
    - Dst: u8::read
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:538,1
    - Dst: Some
      Src: /src/spdm-rs/idekm/src/pci_idekm.rs:540,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 547
      start: 516
    functionDepth: 9
    functionLinenumber: 516
    functionLinenumberEnd: 547
    functionName: KGoStopAckDataObject::read
    functionSourceFile: /src/spdm-rs/idekm/src/pci_idekm.rs
    functionUses: 0
    functionsReached:
    - u16::read
    - u8::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/idekm/src/pci_ide_km_requester/pci_ide_km_req_key_set_go.rs:42,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_ide_km_requester/pci_ide_km_req_key_set_go.rs:44,1
    - Dst: map_err
      Src: /src/spdm-rs/idekm/src/pci_ide_km_requester/pci_ide_km_req_key_set_go.rs:44,1
    - Dst: '&mut RequesterContext::send_receive_spdm_vendor_defined_request'
      Src: /src/spdm-rs/idekm/src/pci_ide_km_requester/pci_ide_km_req_key_set_go.rs:55,1
    - Dst: Some
      Src: /src/spdm-rs/idekm/src/pci_ide_km_requester/pci_ide_km_req_key_set_go.rs:57,1
    - Dst: pci_idekm::vendor_id
      Src: /src/spdm-rs/idekm/src/pci_ide_km_requester/pci_ide_km_req_key_set_go.rs:59,1
    - Dst: KGoStopAckDataObject::read_bytes
      Src: /src/spdm-rs/idekm/src/pci_ide_km_requester/pci_ide_km_req_key_set_go.rs:64,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/idekm/src/pci_ide_km_requester/pci_ide_km_req_key_set_go.rs:64,1
    - Dst: Err
      Src: /src/spdm-rs/idekm/src/pci_ide_km_requester/pci_ide_km_req_key_set_go.rs:76,1
    - Dst: Ok
      Src: /src/spdm-rs/idekm/src/pci_ide_km_requester/pci_ide_km_req_key_set_go.rs:78,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 52
    argCount: 7
    argNames:
    - spdm_requester
    - session_id
    - stream_id
    - key_set
    - key_direction
    - key_sub_stream
    - port_index
    argTypes:
    - '&mut RequesterContext'
    - u32
    - u8
    - u8
    - u8
    - u8
    - u8
    constantsTouched: []
    func_position:
      end: 80
      start: 25
    functionDepth: 16
    functionLinenumber: 25
    functionLinenumberEnd: 80
    functionName: IdekmReqContext::pci_ide_km_key_set_go
    functionSourceFile: /src/spdm-rs/idekm/src/pci_ide_km_requester/pci_ide_km_req_key_set_go.rs
    functionUses: 1
    functionsReached:
    - pci_idekm::vendor_id
    - KGoStopAckDataObject::read_bytes
    - Ok
    - map_err
    - encode
    - Err
    - Option::ok_or
    - Writer::init
    - '&mut RequesterContext::send_receive_spdm_vendor_defined_request'
    - Some
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn pci_ide_km_key_set_go(&mut self,// INspdm_requester:
      &mut RequesterContext,session_id: u32,stream_id: u8,key_set: u8,key_direction:
      u8,key_sub_stream: u8,port_index: u8,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/idekm/src/pci_ide_km_requester/pci_ide_km_req_query.rs:42,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_ide_km_requester/pci_ide_km_req_query.rs:44,1
    - Dst: map_err
      Src: /src/spdm-rs/idekm/src/pci_ide_km_requester/pci_ide_km_req_query.rs:44,1
    - Dst: '&mut RequesterContext::send_receive_spdm_vendor_defined_request'
      Src: /src/spdm-rs/idekm/src/pci_ide_km_requester/pci_ide_km_req_query.rs:49,1
    - Dst: Some
      Src: /src/spdm-rs/idekm/src/pci_ide_km_requester/pci_ide_km_req_query.rs:51,1
    - Dst: vendor_id
      Src: /src/spdm-rs/idekm/src/pci_ide_km_requester/pci_ide_km_req_query.rs:53,1
    - Dst: QueryRespDataObject::read_bytes
      Src: /src/spdm-rs/idekm/src/pci_ide_km_requester/pci_ide_km_req_query.rs:58,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/idekm/src/pci_ide_km_requester/pci_ide_km_req_query.rs:58,1
    - Dst: Err
      Src: /src/spdm-rs/idekm/src/pci_ide_km_requester/pci_ide_km_req_query.rs:65,1
    - Dst: Ok
      Src: /src/spdm-rs/idekm/src/pci_ide_km_requester/pci_ide_km_req_query.rs:75,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 66
    argCount: 9
    argNames:
    - spdm_requester
    - session_id
    - port_index
    - dev_func_num
    - bus_num
    - segment
    - max_port_index
    - ide_reg_block
    - ide_reg_block_cnt
    argTypes:
    - '&mut RequesterContext'
    - u32
    - u8
    - '&mut u8'
    - '&mut u8'
    - '&mut u8'
    - '&mut u8'
    - '&mut [u32; PCI_IDE_KM_IDE_REG_BLOCK_MAX_COUNT]'
    - '&mut usize'
    constantsTouched: []
    func_position:
      end: 76
      start: 22
    functionDepth: 16
    functionLinenumber: 22
    functionLinenumberEnd: 76
    functionName: IdekmReqContext::pci_ide_km_query
    functionSourceFile: /src/spdm-rs/idekm/src/pci_ide_km_requester/pci_ide_km_req_query.rs
    functionUses: 1
    functionsReached:
    - Ok
    - map_err
    - encode
    - Err
    - Option::ok_or
    - Writer::init
    - QueryRespDataObject::read_bytes
    - '&mut RequesterContext::send_receive_spdm_vendor_defined_request'
    - vendor_id
    - Some
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn pci_ide_km_query(&mut self,// INspdm_requester: &mut
      RequesterContext,session_id: u32,port_index: u8,// OUTdev_func_num: &mut u8,bus_num:
      &mut u8,segment: &mut u8,max_port_index: &mut u8,ide_reg_block: &mut [u32; PCI_IDE_KM_IDE_REG_BLOCK_MAX_COUNT],ide_reg_block_cnt:
      &mut usize,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/idekm/src/pci_ide_km_requester/pci_ide_km_req_key_prog.rs:45,1
    - Dst: Option::clone
      Src: /src/spdm-rs/idekm/src/pci_ide_km_requester/pci_ide_km_req_key_prog.rs:53,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_ide_km_requester/pci_ide_km_req_key_prog.rs:47,1
    - Dst: map_err
      Src: /src/spdm-rs/idekm/src/pci_ide_km_requester/pci_ide_km_req_key_prog.rs:47,1
    - Dst: '&mut RequesterContext::send_receive_spdm_vendor_defined_request'
      Src: /src/spdm-rs/idekm/src/pci_ide_km_requester/pci_ide_km_req_key_prog.rs:59,1
    - Dst: Some
      Src: /src/spdm-rs/idekm/src/pci_ide_km_requester/pci_ide_km_req_key_prog.rs:61,1
    - Dst: pci_idekm::vendor_id
      Src: /src/spdm-rs/idekm/src/pci_ide_km_requester/pci_ide_km_req_key_prog.rs:63,1
    - Dst: KpAckDataObject::read_bytes
      Src: /src/spdm-rs/idekm/src/pci_ide_km_requester/pci_ide_km_req_key_prog.rs:68,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/idekm/src/pci_ide_km_requester/pci_ide_km_req_key_prog.rs:68,1
    - Dst: Err
      Src: /src/spdm-rs/idekm/src/pci_ide_km_requester/pci_ide_km_req_key_prog.rs:80,1
    - Dst: Ok
      Src: /src/spdm-rs/idekm/src/pci_ide_km_requester/pci_ide_km_req_key_prog.rs:85,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 60
    argCount: 9
    argNames:
    - spdm_requester
    - session_id
    - stream_id
    - key_set
    - key_direction
    - key_sub_stream
    - port_index
    - key_iv
    - kp_ack_status
    argTypes:
    - '&mut RequesterContext'
    - u32
    - u8
    - u8
    - u8
    - u8
    - u8
    - '&Aes256GcmKeyBuffer'
    - '&mut KpAckStatus'
    constantsTouched: []
    func_position:
      end: 86
      start: 25
    functionDepth: 16
    functionLinenumber: 25
    functionLinenumberEnd: 86
    functionName: IdekmReqContext::pci_ide_km_key_prog
    functionSourceFile: /src/spdm-rs/idekm/src/pci_ide_km_requester/pci_ide_km_req_key_prog.rs
    functionUses: 1
    functionsReached:
    - pci_idekm::vendor_id
    - Some
    - Ok
    - map_err
    - Err
    - Option::ok_or
    - Writer::init
    - KpAckDataObject::read_bytes
    - Option::clone
    - '&mut RequesterContext::send_receive_spdm_vendor_defined_request'
    - encode
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn pci_ide_km_key_prog(&mut self,// INspdm_requester: &mut
      RequesterContext,session_id: u32,stream_id: u8,key_set: u8,key_direction: u8,key_sub_stream:
      u8,port_index: u8,key_iv: &Aes256GcmKeyBuffer,// OUTkp_ack_status: &mut KpAckStatus,)
      -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/idekm/src/pci_ide_km_requester/pci_ide_km_req_key_set_stop.rs:42,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_ide_km_requester/pci_ide_km_req_key_set_stop.rs:44,1
    - Dst: map_err
      Src: /src/spdm-rs/idekm/src/pci_ide_km_requester/pci_ide_km_req_key_set_stop.rs:44,1
    - Dst: '&mut RequesterContext::send_receive_spdm_vendor_defined_request'
      Src: /src/spdm-rs/idekm/src/pci_ide_km_requester/pci_ide_km_req_key_set_stop.rs:55,1
    - Dst: Some
      Src: /src/spdm-rs/idekm/src/pci_ide_km_requester/pci_ide_km_req_key_set_stop.rs:57,1
    - Dst: pci_idekm::vendor_id
      Src: /src/spdm-rs/idekm/src/pci_ide_km_requester/pci_ide_km_req_key_set_stop.rs:59,1
    - Dst: KGoStopAckDataObject::read_bytes
      Src: /src/spdm-rs/idekm/src/pci_ide_km_requester/pci_ide_km_req_key_set_stop.rs:64,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/idekm/src/pci_ide_km_requester/pci_ide_km_req_key_set_stop.rs:64,1
    - Dst: Err
      Src: /src/spdm-rs/idekm/src/pci_ide_km_requester/pci_ide_km_req_key_set_stop.rs:76,1
    - Dst: Ok
      Src: /src/spdm-rs/idekm/src/pci_ide_km_requester/pci_ide_km_req_key_set_stop.rs:78,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 52
    argCount: 7
    argNames:
    - spdm_requester
    - session_id
    - stream_id
    - key_set
    - key_direction
    - key_sub_stream
    - port_index
    argTypes:
    - '&mut RequesterContext'
    - u32
    - u8
    - u8
    - u8
    - u8
    - u8
    constantsTouched: []
    func_position:
      end: 80
      start: 25
    functionDepth: 16
    functionLinenumber: 25
    functionLinenumberEnd: 80
    functionName: IdekmReqContext::pci_ide_km_key_set_stop
    functionSourceFile: /src/spdm-rs/idekm/src/pci_ide_km_requester/pci_ide_km_req_key_set_stop.rs
    functionUses: 1
    functionsReached:
    - pci_idekm::vendor_id
    - KGoStopAckDataObject::read_bytes
    - Ok
    - map_err
    - encode
    - Err
    - Option::ok_or
    - Writer::init
    - '&mut RequesterContext::send_receive_spdm_vendor_defined_request'
    - Some
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn pci_ide_km_key_set_stop(&mut self,// INspdm_requester:
      &mut RequesterContext,session_id: u32,stream_id: u8,key_set: u8,key_direction:
      u8,key_sub_stream: u8,port_index: u8,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KSetGoDataObject::read_bytes
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_key_set_go.rs:72,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_key_set_go.rs:72,1
    - Dst: pci_ide_km_device_key_set_go
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_key_set_go.rs:83,1
    - Dst: Writer::init
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_key_set_go.rs:92,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_key_set_go.rs:93,1
    - Dst: map_err
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_key_set_go.rs:93,1
    - Dst: Err
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_key_set_go.rs:104,1
    - Dst: Ok
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_key_set_go.rs:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 46
    argCount: 1
    argNames:
    - vendor_defined_req_payload_struct
    argTypes:
    - '&VendorDefinedReqPayloadStruct'
    constantsTouched: []
    func_position:
      end: 109
      start: 69
    functionDepth: 11
    functionLinenumber: 69
    functionLinenumberEnd: 109
    functionName: pci_ide_km_rsp_key_set_go
    functionSourceFile: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_key_set_go.rs
    functionUses: 1
    functionsReached:
    - map_err
    - Err
    - Option::ok_or
    - Writer::init
    - pci_ide_km_device_key_set_go
    - KSetGoDataObject::read_bytes
    - Ok
    - encode
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub(crate) fn pci_ide_km_rsp_key_set_go(vendor_defined_req_payload_struct:
      &VendorDefinedReqPayloadStruct,) -> SpdmResult<VendorDefinedRspPayloadStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyProgDataObject::read_bytes
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_key_prog.rs:81,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_key_prog.rs:81,1
    - Dst: KpAckStatus::default
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_key_prog.rs:92,1
    - Dst: clone
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_key_prog.rs:93,1
    - Dst: pci_ide_km_device_key_prog
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_key_prog.rs:94,1
    - Dst: Writer::init
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_key_prog.rs:105,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_key_prog.rs:106,1
    - Dst: map_err
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_key_prog.rs:106,1
    - Dst: Err
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_key_prog.rs:118,1
    - Dst: Ok
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_key_prog.rs:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 51
    argCount: 1
    argNames:
    - vendor_defined_req_payload_struct
    argTypes:
    - '&VendorDefinedReqPayloadStruct'
    constantsTouched: []
    func_position:
      end: 123
      start: 78
    functionDepth: 11
    functionLinenumber: 78
    functionLinenumberEnd: 123
    functionName: pci_ide_km_rsp_key_prog
    functionSourceFile: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_key_prog.rs
    functionUses: 1
    functionsReached:
    - clone
    - map_err
    - Err
    - Option::ok_or
    - KeyProgDataObject::read_bytes
    - KpAckStatus::default
    - Writer::init
    - Ok
    - pci_ide_km_device_key_prog
    - encode
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub(crate) fn pci_ide_km_rsp_key_prog(vendor_defined_req_payload_struct:
      &VendorDefinedReqPayloadStruct,) -> SpdmResult<VendorDefinedRspPayloadStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KSetStopDataObject::read_bytes
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_key_set_stop.rs:73,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_key_set_stop.rs:73,1
    - Dst: pci_ide_km_device_key_set_stop
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_key_set_stop.rs:84,1
    - Dst: Writer::init
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_key_set_stop.rs:93,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_key_set_stop.rs:94,1
    - Dst: map_err
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_key_set_stop.rs:94,1
    - Dst: Err
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_key_set_stop.rs:105,1
    - Dst: Ok
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_key_set_stop.rs:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 46
    argCount: 1
    argNames:
    - vendor_defined_req_payload_struct
    argTypes:
    - '&VendorDefinedReqPayloadStruct'
    constantsTouched: []
    func_position:
      end: 110
      start: 70
    functionDepth: 11
    functionLinenumber: 70
    functionLinenumberEnd: 110
    functionName: pci_ide_km_rsp_key_set_stop
    functionSourceFile: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_key_set_stop.rs
    functionUses: 1
    functionsReached:
    - map_err
    - Err
    - Option::ok_or
    - KSetStopDataObject::read_bytes
    - Writer::init
    - pci_ide_km_device_key_set_stop
    - Ok
    - encode
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub(crate) fn pci_ide_km_rsp_key_set_stop(vendor_defined_req_payload_struct:
      &VendorDefinedReqPayloadStruct,) -> SpdmResult<VendorDefinedRspPayloadStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: QueryDataObject::read_bytes
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_query.rs:79,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_query.rs:79,1
    - Dst: pci_ide_km_device_query
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_query.rs:98,1
    - Dst: Writer::init
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_query.rs:109,1
    - Dst: encode
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_query.rs:111,1
    - Dst: map_err
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_query.rs:111,1
    - Dst: Err
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_query.rs:124,1
    - Dst: Ok
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_query.rs:127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 44
    argCount: 1
    argNames:
    - vendor_defined_req_payload_struct
    argTypes:
    - '&VendorDefinedReqPayloadStruct'
    constantsTouched: []
    func_position:
      end: 129
      start: 76
    functionDepth: 11
    functionLinenumber: 76
    functionLinenumberEnd: 129
    functionName: pci_ide_km_rsp_query
    functionSourceFile: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_query.rs
    functionUses: 1
    functionsReached:
    - pci_ide_km_device_query
    - map_err
    - QueryDataObject::read_bytes
    - Err
    - Option::ok_or
    - Writer::init
    - Ok
    - encode
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub(crate) fn pci_ide_km_rsp_query(vendor_defined_req_payload_struct:
      &VendorDefinedReqPayloadStruct,) -> SpdmResult<VendorDefinedRspPayloadStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vendor_id
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_dispatcher.rs:32,1
    - Dst: Err
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_dispatcher.rs:35,1
    - Dst: pci_ide_km_rsp_query::pci_ide_km_rsp_query
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_dispatcher.rs:40,1
    - Dst: pci_ide_km_rsp_key_prog::pci_ide_km_rsp_key_prog
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_dispatcher.rs:43,1
    - Dst: pci_ide_km_rsp_key_set_go::pci_ide_km_rsp_key_set_go
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_dispatcher.rs:46,1
    - Dst: pci_ide_km_rsp_key_set_stop::pci_ide_km_rsp_key_set_stop
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_dispatcher.rs:48,1
    - Dst: Err
      Src: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_dispatcher.rs:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - _vdm_handle
    - vendor_id_struct
    - vendor_defined_req_payload_struct
    argTypes:
    - usize
    - '&VendorIDStruct'
    - '&VendorDefinedReqPayloadStruct'
    constantsTouched: []
    func_position:
      end: 53
      start: 26
    functionDepth: 12
    functionLinenumber: 26
    functionLinenumberEnd: 53
    functionName: pci_ide_km_rsp_dispatcher
    functionSourceFile: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_dispatcher.rs
    functionUses: 1
    functionsReached:
    - pci_ide_km_rsp_key_prog::pci_ide_km_rsp_key_prog
    - Err
    - pci_ide_km_rsp_key_set_go::pci_ide_km_rsp_key_set_go
    - pci_ide_km_rsp_key_set_stop::pci_ide_km_rsp_key_set_stop
    - pci_ide_km_rsp_query::pci_ide_km_rsp_query
    - vendor_id
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn pci_ide_km_rsp_dispatcher(_vdm_handle: usize,vendor_id_struct:
      &VendorIDStruct,vendor_defined_req_payload_struct: &VendorDefinedReqPayloadStruct,)
      -> SpdmResult<VendorDefinedRspPayloadStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rsp_create_info
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:12,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:16,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:16,1
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:18,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:18,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:19,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:19,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:21,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:23,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:23,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:23,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:23,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:27,1
    - Dst: Self::clone
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:28,1
    - Dst: bool::handle_spdm_version
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:34,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:34,1
    - Dst: SpdmSupportedAlgorithmsBlock::lock
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:39,1
    - Dst: '&mut [u8]::deref_mut'
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:40,1
    - Dst: '&mut [u8]::receive'
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:41,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:42,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:42,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 11
    functionDepth: 12
    functionLinenumber: 11
    functionLinenumberEnd: 46
    functionName: pass_rsp_handle_spdm_version
    functionSourceFile: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - clone
    - FakeSpdmDeviceIoReceve::new
    - SpdmSupportedAlgorithmsBlock::lock
    - bool::handle_spdm_version
    - unwrap
    - Self::clone
    - spdmlib::secret::pqc_asym_sign::register
    - spdmlib::secret::asym_sign::register
    - '&mut [u8]::receive'
    - rsp_create_info
    - Mutex::new
    - '&mut [u8]::deref_mut'
    linkageType: ''
    returnType: void
    signature: pub async fn pass_rsp_handle_spdm_version()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rsp_create_info
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:49,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:52,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:52,1
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:54,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:54,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:55,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:55,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:57,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:59,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:59,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:59,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:59,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:63,1
    - Dst: Self::clone
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:64,1
    - Dst: bool::handle_spdm_capability
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:71,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:71,1
    - Dst: SpdmSupportedAlgorithmsBlock::lock
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:76,1
    - Dst: '&mut [u8]::deref_mut'
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:77,1
    - Dst: '&mut [u8]::receive'
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:78,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:79,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:79,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 48
    functionDepth: 12
    functionLinenumber: 48
    functionLinenumberEnd: 83
    functionName: pass_rsp_handle_spdm_capability
    functionSourceFile: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - clone
    - FakeSpdmDeviceIoReceve::new
    - SpdmSupportedAlgorithmsBlock::lock
    - unwrap
    - bool::handle_spdm_capability
    - Self::clone
    - spdmlib::secret::pqc_asym_sign::register
    - spdmlib::secret::asym_sign::register
    - '&mut [u8]::receive'
    - rsp_create_info
    - Mutex::new
    - '&mut [u8]::deref_mut'
    linkageType: ''
    returnType: void
    signature: pub async fn pass_rsp_handle_spdm_capability()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rsp_create_info
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:86,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:89,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:89,1
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:91,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:91,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:92,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:92,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:94,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:96,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:96,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:96,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:96,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:100,1
    - Dst: Self::clone
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:101,1
    - Dst: bool::handle_spdm_algorithm
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:107,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:107,1
    - Dst: SpdmSupportedAlgorithmsBlock::lock
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:115,1
    - Dst: '&mut [u8]::deref_mut'
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:116,1
    - Dst: '&mut [u8]::receive'
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:117,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:118,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:118,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 85
    functionDepth: 12
    functionLinenumber: 85
    functionLinenumberEnd: 122
    functionName: pass_rsp_handle_spdm_algorithm
    functionSourceFile: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - clone
    - FakeSpdmDeviceIoReceve::new
    - SpdmSupportedAlgorithmsBlock::lock
    - unwrap
    - bool::handle_spdm_algorithm
    - Self::clone
    - spdmlib::secret::pqc_asym_sign::register
    - spdmlib::secret::asym_sign::register
    - '&mut [u8]::receive'
    - rsp_create_info
    - Mutex::new
    - '&mut [u8]::deref_mut'
    linkageType: ''
    returnType: void
    signature: pub async fn pass_rsp_handle_spdm_algorithm()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rsp_create_info
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:125,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:128,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:128,1
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:130,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:130,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:131,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:131,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:133,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:135,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:135,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:135,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:135,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:139,1
    - Dst: Self::clone
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:140,1
    - Dst: bool::handle_spdm_algorithm
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:146,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:146,1
    - Dst: bool::handle_spdm_digest
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:154,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:154,1
    - Dst: SpdmSupportedAlgorithmsBlock::lock
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:159,1
    - Dst: '&mut [u8]::deref_mut'
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:160,1
    - Dst: '&mut [u8]::receive'
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:161,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:162,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:162,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 124
    functionDepth: 12
    functionLinenumber: 124
    functionLinenumberEnd: 166
    functionName: pass_rsp_handle_spdm_digest
    functionSourceFile: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - clone
    - FakeSpdmDeviceIoReceve::new
    - SpdmSupportedAlgorithmsBlock::lock
    - unwrap
    - bool::handle_spdm_algorithm
    - bool::handle_spdm_digest
    - Self::clone
    - spdmlib::secret::pqc_asym_sign::register
    - spdmlib::secret::asym_sign::register
    - '&mut [u8]::receive'
    - rsp_create_info
    - Mutex::new
    - '&mut [u8]::deref_mut'
    linkageType: ''
    returnType: void
    signature: pub async fn pass_rsp_handle_spdm_digest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rsp_create_info
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:169,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:172,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:172,1
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:174,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:174,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:175,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:175,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:177,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:179,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:179,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:179,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:179,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:183,1
    - Dst: Self::clone
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:184,1
    - Dst: bool::handle_spdm_algorithm
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:189,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:189,1
    - Dst: bool::handle_spdm_digest
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:196,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:196,1
    - Dst: bool::handle_spdm_certificate
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:200,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:200,1
    - Dst: SpdmSupportedAlgorithmsBlock::lock
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:205,1
    - Dst: '&mut [u8]::deref_mut'
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:206,1
    - Dst: '&mut [u8]::receive'
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:207,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:208,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:208,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 168
    functionDepth: 12
    functionLinenumber: 168
    functionLinenumberEnd: 212
    functionName: pass_rsp_handle_spdm_certificate
    functionSourceFile: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - clone
    - FakeSpdmDeviceIoReceve::new
    - SpdmSupportedAlgorithmsBlock::lock
    - unwrap
    - bool::handle_spdm_algorithm
    - bool::handle_spdm_digest
    - bool::handle_spdm_certificate
    - Self::clone
    - spdmlib::secret::pqc_asym_sign::register
    - spdmlib::secret::asym_sign::register
    - '&mut [u8]::receive'
    - rsp_create_info
    - Mutex::new
    - '&mut [u8]::deref_mut'
    linkageType: ''
    returnType: void
    signature: pub async fn pass_rsp_handle_spdm_certificate()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rsp_create_info
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:215,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:218,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:218,1
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:220,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:220,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:221,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:221,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:223,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:225,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:225,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:225,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:225,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:229,1
    - Dst: Self::clone
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:230,1
    - Dst: bool::handle_spdm_algorithm
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:235,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:235,1
    - Dst: bool::handle_spdm_digest
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:242,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:242,1
    - Dst: bool::handle_spdm_certificate
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:246,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:246,1
    - Dst: bool::handle_spdm_challenge
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:250,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:250,1
    - Dst: SpdmSupportedAlgorithmsBlock::lock
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:258,1
    - Dst: '&mut [u8]::deref_mut'
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:259,1
    - Dst: '&mut [u8]::receive'
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:260,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:261,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:261,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:260,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 214
    functionDepth: 12
    functionLinenumber: 214
    functionLinenumberEnd: 265
    functionName: pass_rsp_handle_spdm_challenge
    functionSourceFile: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - clone
    - FakeSpdmDeviceIoReceve::new
    - SpdmSupportedAlgorithmsBlock::lock
    - unwrap
    - bool::handle_spdm_algorithm
    - bool::handle_spdm_digest
    - bool::handle_spdm_certificate
    - Self::clone
    - spdmlib::secret::pqc_asym_sign::register
    - spdmlib::secret::asym_sign::register
    - '&mut [u8]::receive'
    - rsp_create_info
    - bool::handle_spdm_challenge
    - Mutex::new
    - '&mut [u8]::deref_mut'
    linkageType: ''
    returnType: void
    signature: pub async fn pass_rsp_handle_spdm_challenge()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rsp_create_info
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:268,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:271,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:271,1
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:273,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:273,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:274,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:274,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:276,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:278,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:278,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:278,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:278,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:282,1
    - Dst: Self::clone
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:283,1
    - Dst: bool::handle_spdm_algorithm
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:288,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:288,1
    - Dst: bool::handle_spdm_digest
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:295,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:295,1
    - Dst: bool::handle_spdm_certificate
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:299,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:299,1
    - Dst: bool::handle_spdm_challenge
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:303,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:303,1
    - Dst: bool::handle_spdm_measurement
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:310,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:310,1
    - Dst: SpdmSupportedAlgorithmsBlock::lock
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:315,1
    - Dst: '&mut [u8]::deref_mut'
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:316,1
    - Dst: '&mut [u8]::receive'
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:317,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:318,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:318,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:317,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 322
      start: 267
    functionDepth: 12
    functionLinenumber: 267
    functionLinenumberEnd: 322
    functionName: pass_rsp_handle_spdm_measurement
    functionSourceFile: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - SpdmSupportedAlgorithmsBlock::lock
    - unwrap
    - bool::handle_spdm_algorithm
    - bool::handle_spdm_certificate
    - spdmlib::secret::asym_sign::register
    - rsp_create_info
    - Mutex::new
    - '&mut [u8]::deref_mut'
    - clone
    - FakeSpdmDeviceIoReceve::new
    - spdmlib::secret::pqc_asym_sign::register
    - bool::handle_spdm_challenge
    - bool::handle_spdm_digest
    - Self::clone
    - '&mut [u8]::receive'
    - bool::handle_spdm_measurement
    linkageType: ''
    returnType: void
    signature: pub async fn pass_rsp_handle_spdm_measurement()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rsp_create_info
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:325,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:328,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:328,1
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:330,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:330,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:331,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:331,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:333,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:335,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:335,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:335,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:335,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:339,1
    - Dst: Self::clone
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:340,1
    - Dst: bool::handle_spdm_algorithm
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:346,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:346,1
    - Dst: bool::handle_spdm_digest
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:353,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:353,1
    - Dst: bool::handle_spdm_certificate
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:357,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:357,1
    - Dst: bool::handle_spdm_challenge
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:361,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:361,1
    - Dst: bool::handle_spdm_measurement
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:368,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:368,1
    - Dst: bool::handle_spdm_key_exchange
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:372,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:372,1
    - Dst: SpdmSupportedAlgorithmsBlock::lock
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:387,1
    - Dst: '&mut [u8]::deref_mut'
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:388,1
    - Dst: '&mut [u8]::receive'
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:389,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:390,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:390,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:389,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 83
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 394
      start: 324
    functionDepth: 12
    functionLinenumber: 324
    functionLinenumberEnd: 394
    functionName: pass_rsp_handle_spdm_key_exchange
    functionSourceFile: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - SpdmSupportedAlgorithmsBlock::lock
    - unwrap
    - bool::handle_spdm_algorithm
    - bool::handle_spdm_certificate
    - spdmlib::secret::asym_sign::register
    - rsp_create_info
    - Mutex::new
    - '&mut [u8]::deref_mut'
    - clone
    - FakeSpdmDeviceIoReceve::new
    - spdmlib::secret::pqc_asym_sign::register
    - bool::handle_spdm_challenge
    - bool::handle_spdm_digest
    - Self::clone
    - '&mut [u8]::receive'
    - bool::handle_spdm_key_exchange
    - bool::handle_spdm_measurement
    linkageType: ''
    returnType: void
    signature: pub async fn pass_rsp_handle_spdm_key_exchange()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rsp_create_info
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:397,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:400,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:400,1
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:402,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:402,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:403,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:403,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:405,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:407,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:407,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:407,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:407,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:411,1
    - Dst: Self::clone
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:412,1
    - Dst: bool::handle_spdm_algorithm
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:417,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:417,1
    - Dst: bool::handle_spdm_digest
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:424,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:424,1
    - Dst: bool::handle_spdm_certificate
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:428,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:428,1
    - Dst: bool::handle_spdm_challenge
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:432,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:432,1
    - Dst: bool::handle_spdm_measurement
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:439,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:439,1
    - Dst: bool::handle_spdm_key_exchange
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:443,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:443,1
    - Dst: bool::handle_spdm_psk_exchange
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:457,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:457,1
    - Dst: SpdmSupportedAlgorithmsBlock::lock
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:467,1
    - Dst: '&mut [u8]::deref_mut'
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:468,1
    - Dst: '&mut [u8]::receive'
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:469,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:470,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:470,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs:469,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 91
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 474
      start: 396
    functionDepth: 12
    functionLinenumber: 396
    functionLinenumberEnd: 474
    functionName: pass_rsp_handle_spdm_psk_exchange
    functionSourceFile: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - SpdmSupportedAlgorithmsBlock::lock
    - unwrap
    - bool::handle_spdm_algorithm
    - bool::handle_spdm_certificate
    - spdmlib::secret::asym_sign::register
    - rsp_create_info
    - Mutex::new
    - '&mut [u8]::deref_mut'
    - clone
    - FakeSpdmDeviceIoReceve::new
    - spdmlib::secret::pqc_asym_sign::register
    - bool::handle_spdm_challenge
    - bool::handle_spdm_digest
    - Self::clone
    - bool::handle_spdm_psk_exchange
    - '&mut [u8]::receive'
    - bool::handle_spdm_key_exchange
    - bool::handle_spdm_measurement
    linkageType: ''
    returnType: void
    signature: pub async fn pass_rsp_handle_spdm_psk_exchange()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rsp_create_info
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_requester.rs:12,1
    - Dst: req_create_info
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_requester.rs:13,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_requester.rs:15,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_requester.rs:17,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_requester.rs:17,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_requester.rs:17,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_requester.rs:17,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_requester.rs:23,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_requester.rs:23,1
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_requester.rs:25,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_requester.rs:25,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_requester.rs:26,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_requester.rs:26,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_requester.rs:28,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_requester.rs:35,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_requester.rs:38,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_requester.rs:38,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_requester.rs:39,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_requester.rs:39,1
    - Dst: fake_device_io::FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_requester.rs:39,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_requester.rs:40,1
    - Dst: requester::RequesterContext::new
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_requester.rs:43,1
    - Dst: Self::init_connection
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_requester.rs:51,1
    - Dst: is_err
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_requester.rs:51,1
    - Dst: Self::send_receive_spdm_digest
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_requester.rs:59,1
    - Dst: is_err
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_requester.rs:59,1
    - Dst: Self::send_receive_spdm_certificate
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_requester.rs:63,1
    - Dst: is_err
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_requester.rs:63,1
    - Dst: Self::start_session
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_requester.rs:71,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_requester.rs:85,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_requester.rs:85,1
    - Dst: export_keys
      Src: /src/spdm-rs/fuzz-target/pass_context/src/pass_requester.rs:86,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 11
    functionDepth: 12
    functionLinenumber: 11
    functionLinenumberEnd: 106
    functionName: fuzz_total_requesters
    functionSourceFile: /src/spdm-rs/fuzz-target/pass_context/src/pass_requester.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - Self::init_connection
    - unwrap
    - spdmlib::secret::asym_sign::register
    - rsp_create_info
    - Mutex::new
    - FakeSpdmDeviceIoReceve::new
    - clone
    - req_create_info
    - spdmlib::secret::pqc_asym_sign::register
    - get_session_via_id
    - is_err
    - requester::RequesterContext::new
    - Self::send_receive_spdm_digest
    - fake_device_io::FakeSpdmDeviceIo::new
    - Self::send_receive_spdm_certificate
    - Self::start_session
    - export_keys
    linkageType: ''
    returnType: void
    signature: pub async fn fuzz_total_requesters()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rsp_create_info
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:17,1
    - Dst: req_create_info
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:18,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:20,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:21,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:21,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:21,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:21,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:25,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:25,1
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:27,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:27,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:28,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:28,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:30,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:37,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:38,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:38,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:39,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:39,1
    - Dst: fake_device_io::FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:39,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:40,1
    - Dst: requester::RequesterContext::new
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:43,1
    - Dst: iter
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:50,1
    - Dst: Self::send_receive_spdm_version
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:53,1
    - Dst: is_err
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:53,1
    - Dst: Self::send_receive_spdm_capability
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:59,1
    - Dst: is_err
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:59,1
    - Dst: Self::send_receive_spdm_algorithm
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:65,1
    - Dst: is_err
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:65,1
    - Dst: Self::send_receive_spdm_digest
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:71,1
    - Dst: is_err
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:71,1
    - Dst: Self::send_receive_spdm_certificate
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:77,1
    - Dst: is_err
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:77,1
    - Dst: Self::send_receive_spdm_challenge
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:87,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:91,1
    - Dst: SpdmChallengeContextStruct::default
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:91,1
    - Dst: is_err
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:87,1
    - Dst: SpdmMeasurementRecordStructure::default
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:103,1
    - Dst: Self::send_receive_spdm_measurement
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:107,1
    - Dst: is_err
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:107,1
    - Dst: Self::send_receive_spdm_key_exchange
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:128,1
    - Dst: is_err
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:128,1
    - Dst: Self::send_receive_spdm_psk_exchange
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:141,1
    - Dst: is_err
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:141,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 132
    argCount: 1
    argNames:
    - spdm
    argTypes:
    - Vec<i32>
    constantsTouched: []
    func_position:
      end: 156
      start: 16
    functionDepth: 12
    functionLinenumber: 16
    functionLinenumberEnd: 156
    functionName: run_spdm
    functionSourceFile: /src/spdm-rs/fuzz-target/random_requester/src/main.rs
    functionUses: 1
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - Self::send_receive_spdm_psk_exchange
    - Self::send_receive_spdm_algorithm
    - spdmlib::secret::asym_sign::register
    - rsp_create_info
    - SpdmChallengeContextStruct::default
    - Mutex::new
    - SpdmMeasurementRecordStructure::default
    - FakeSpdmDeviceIoReceve::new
    - clone
    - req_create_info
    - spdmlib::secret::pqc_asym_sign::register
    - Self::send_receive_spdm_challenge
    - is_err
    - Some
    - requester::RequesterContext::new
    - Self::send_receive_spdm_measurement
    - Self::send_receive_spdm_digest
    - fake_device_io::FakeSpdmDeviceIo::new
    - Self::send_receive_spdm_key_exchange
    - Self::send_receive_spdm_certificate
    - iter
    - Self::send_receive_spdm_version
    - Self::send_receive_spdm_capability
    linkageType: ''
    returnType: void
    signature: 'async fn run_spdm(spdm: Vec<i32>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec<i32>::len
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:165,1
    - Dst: run_spdm
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:166,1
    - Dst: Self::iter
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:170,1
    - Dst: Self::IntoIter::enumerate
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:170,1
    - Dst: SpdmSupportedAlgorithmsBlock::lock
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:172,1
    - Dst: '&mut [u8]::deref_mut'
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:173,1
    - Dst: BytesMutStrubbed::clone
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:179,1
    - Dst: BytesMutStrubbed::push
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:180,1
    - Dst: permutation
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:185,1
    - Dst: Self::clone
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:185,1
    - Dst: '&mut [u8]::clone'
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:185,1
    - Dst: SpdmSupportedAlgorithmsBlock::lock
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:188,1
    - Dst: '&mut [u8]::deref_mut'
      Src: /src/spdm-rs/fuzz-target/random_requester/src/main.rs:189,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 48
    argCount: 4
    argNames:
    - from
    - count
    - bool_array
    - last_vec
    argTypes:
    - Arc<&[i32]>
    - usize
    - Arc<Mutex<&mut [bool]>>
    - Vec<i32>
    constantsTouched: []
    func_position:
      end: 193
      start: 159
    functionDepth: 13
    functionLinenumber: 159
    functionLinenumberEnd: 193
    functionName: permutation
    functionSourceFile: /src/spdm-rs/fuzz-target/random_requester/src/main.rs
    functionUses: 1
    functionsReached:
    - run_spdm
    - Vec<i32>::len
    - SpdmSupportedAlgorithmsBlock::lock
    - permutation
    - BytesMutStrubbed::push
    - Self::clone
    - BytesMutStrubbed::clone
    - Self::iter
    - Self::IntoIter::enumerate
    - '&mut [u8]::clone'
    - '&mut [u8]::deref_mut'
    linkageType: ''
    returnType: void
    signature: 'async fn permutation(from: Arc<&[i32]>,count: usize,bool_array: Arc<Mutex<&mut
      [bool]>>,last_vec: Vec<i32>,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/fuzz-target/responder/measurement_rsp/src/main.rs:16,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/measurement_rsp/src/main.rs:16,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/fuzz-target/responder/measurement_rsp/src/main.rs:17,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/measurement_rsp/src/main.rs:17,1
    - Dst: rsp_create_info
      Src: /src/spdm-rs/fuzz-target/responder/measurement_rsp/src/main.rs:24,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/measurement_rsp/src/main.rs:25,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/measurement_rsp/src/main.rs:25,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/responder/measurement_rsp/src/main.rs:27,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/measurement_rsp/src/main.rs:28,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/measurement_rsp/src/main.rs:28,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/responder/measurement_rsp/src/main.rs:28,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/measurement_rsp/src/main.rs:28,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/fuzz-target/responder/measurement_rsp/src/main.rs:32,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/responder/measurement_rsp/src/main.rs:46,1
    - Dst: get_rsp_cert_chain_buff
      Src: /src/spdm-rs/fuzz-target/responder/measurement_rsp/src/main.rs:46,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/fuzz-target/responder/measurement_rsp/src/main.rs:55,1
    - Dst: codec::Writer::init
      Src: /src/spdm-rs/fuzz-target/responder/measurement_rsp/src/main.rs:61,1
    - Dst: bool::handle_spdm_measurement
      Src: /src/spdm-rs/fuzz-target/responder/measurement_rsp/src/main.rs:62,1
    - Dst: rsp_create_info
      Src: /src/spdm-rs/fuzz-target/responder/measurement_rsp/src/main.rs:70,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/measurement_rsp/src/main.rs:71,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/measurement_rsp/src/main.rs:71,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/responder/measurement_rsp/src/main.rs:73,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/measurement_rsp/src/main.rs:74,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/measurement_rsp/src/main.rs:74,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/responder/measurement_rsp/src/main.rs:74,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/measurement_rsp/src/main.rs:74,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/fuzz-target/responder/measurement_rsp/src/main.rs:78,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/responder/measurement_rsp/src/main.rs:92,1
    - Dst: get_rsp_cert_chain_buff
      Src: /src/spdm-rs/fuzz-target/responder/measurement_rsp/src/main.rs:92,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/fuzz-target/responder/measurement_rsp/src/main.rs:101,1
    - Dst: setup
      Src: /src/spdm-rs/fuzz-target/responder/measurement_rsp/src/main.rs:102,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/responder/measurement_rsp/src/main.rs:102,1
    - Dst: set_session_state
      Src: /src/spdm-rs/fuzz-target/responder/measurement_rsp/src/main.rs:103,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/fuzz-target/responder/measurement_rsp/src/main.rs:104,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/fuzz-target/responder/measurement_rsp/src/main.rs:107,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/fuzz-target/responder/measurement_rsp/src/main.rs:111,1
    - Dst: codec::Writer::init
      Src: /src/spdm-rs/fuzz-target/responder/measurement_rsp/src/main.rs:117,1
    - Dst: bool::handle_spdm_measurement
      Src: /src/spdm-rs/fuzz-target/responder/measurement_rsp/src/main.rs:118,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/responder/measurement_rsp/src/main.rs:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 148
    argCount: 1
    argNames:
    - data
    argTypes:
    - Arc<Vec<u8>>
    constantsTouched: []
    func_position:
      end: 120
      start: 15
    functionDepth: 12
    functionLinenumber: 15
    functionLinenumberEnd: 120
    functionName: fuzz_handle_spdm_measurement
    functionSourceFile: /src/spdm-rs/fuzz-target/responder/measurement_rsp/src/main.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - SpdmSession::new
    - codec::Writer::init
    - unwrap
    - spdmlib::secret::asym_sign::register
    - rsp_create_info
    - set_session_state
    - Mutex::new
    - SpdmKemAlgo::empty
    - clone
    - FakeSpdmDeviceIoReceve::new
    - set_connection_state
    - spdmlib::secret::pqc_asym_sign::register
    - setup
    - Some
    - get_rsp_cert_chain_buff
    - set_crypto_param
    - bool::handle_spdm_measurement
    linkageType: ''
    returnType: void
    signature: 'async fn fuzz_handle_spdm_measurement(data: Arc<Vec<u8>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:14,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:14,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:15,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:15,1
    - Dst: spdmlib::secret::measurement::register
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:16,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:16,1
    - Dst: spdmlib::secret::psk::register
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:17,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:17,1
    - Dst: rsp_create_info
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:25,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:26,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:26,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:28,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:29,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:29,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:29,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:29,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:33,1
    - Dst: reset_runtime_info
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:51,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:52,1
    - Dst: codec::Writer::init
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:58,1
    - Dst: bool::handle_spdm_psk_exchange
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:59,1
    - Dst: rsp_create_info
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:68,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:69,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:69,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:71,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:72,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:72,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:72,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:72,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:76,1
    - Dst: reset_runtime_info
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:94,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:95,1
    - Dst: codec::Writer::init
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:101,1
    - Dst: bool::handle_spdm_psk_exchange
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:102,1
    - Dst: rsp_create_info
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:111,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:112,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:112,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:114,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:115,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:115,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:115,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:115,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:119,1
    - Dst: reset_runtime_info
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:137,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:138,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:144,1
    - Dst: setup
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:145,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:145,1
    - Dst: codec::Writer::init
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:149,1
    - Dst: bool::handle_spdm_psk_exchange
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:150,1
    - Dst: rsp_create_info
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:158,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:159,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:159,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:161,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:162,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:162,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:162,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:162,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:166,1
    - Dst: reset_runtime_info
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:185,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:186,1
    - Dst: codec::Writer::init
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:192,1
    - Dst: bool::handle_spdm_psk_exchange
      Src: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 334
    argCount: 1
    argNames:
    - data
    argTypes:
    - Arc<Vec<u8>>
    constantsTouched: []
    func_position:
      end: 195
      start: 13
    functionDepth: 12
    functionLinenumber: 13
    functionLinenumberEnd: 195
    functionName: fuzz_handle_spdm_psk_exchange
    functionSourceFile: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - spdmlib::secret::psk::register
    - responder::ResponderContext::new
    - clone
    - FakeSpdmDeviceIoReceve::new
    - reset_runtime_info
    - set_connection_state
    - codec::Writer::init
    - SpdmSession::new
    - unwrap
    - spdmlib::secret::pqc_asym_sign::register
    - bool::handle_spdm_psk_exchange
    - spdmlib::secret::asym_sign::register
    - rsp_create_info
    - spdmlib::secret::measurement::register
    - Mutex::new
    - setup
    linkageType: ''
    returnType: void
    signature: 'async fn fuzz_handle_spdm_psk_exchange(data: Arc<Vec<u8>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:13,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:13,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:14,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:14,1
    - Dst: spdmlib::crypto::cert_operation::register
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:15,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:15,1
    - Dst: spdmlib::crypto::aead::register
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:16,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:16,1
    - Dst: rsp_create_info
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:23,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:24,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:24,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:26,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:27,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:27,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:27,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:27,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:31,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:47,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:52,1
    - Dst: SpdmCertChainBuffer::default
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:52,1
    - Dst: codec::Writer::init
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:55,1
    - Dst: bool::handle_deliver_encapsulated_reponse
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:56,1
    - Dst: rsp_create_info
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:64,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:65,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:65,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:67,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:68,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:68,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:68,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:68,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:72,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:88,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:93,1
    - Dst: SpdmCertChainBuffer::default
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:93,1
    - Dst: codec::Writer::init
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:96,1
    - Dst: bool::handle_deliver_encapsulated_reponse
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:97,1
    - Dst: rsp_create_info
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:105,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:106,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:106,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:108,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:109,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:109,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:109,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:109,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:113,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:127,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:132,1
    - Dst: SpdmCertChainBuffer::default
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:132,1
    - Dst: codec::Writer::init
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:135,1
    - Dst: bool::handle_deliver_encapsulated_reponse
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 184
    argCount: 1
    argNames:
    - data
    argTypes:
    - Arc<Vec<u8>>
    constantsTouched: []
    func_position:
      end: 138
      start: 12
    functionDepth: 12
    functionLinenumber: 12
    functionLinenumberEnd: 138
    functionName: fuzz_handle_deliver_encapsulated_reponse
    functionSourceFile: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - spdmlib::crypto::aead::register
    - SharedBuffer::new
    - responder::ResponderContext::new
    - clone
    - spdmlib::crypto::cert_operation::register
    - FakeSpdmDeviceIoReceve::new
    - SpdmCertChainBuffer::default
    - set_connection_state
    - codec::Writer::init
    - bool::handle_deliver_encapsulated_reponse
    - spdmlib::secret::pqc_asym_sign::register
    - spdmlib::secret::asym_sign::register
    - rsp_create_info
    - Mutex::new
    - Some
    linkageType: ''
    returnType: void
    signature: 'async fn fuzz_handle_deliver_encapsulated_reponse(data: Arc<Vec<u8>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rsp_create_info
      Src: /src/spdm-rs/fuzz-target/responder/key_update_rsp/src/main.rs:15,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/key_update_rsp/src/main.rs:16,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/key_update_rsp/src/main.rs:16,1
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/fuzz-target/responder/key_update_rsp/src/main.rs:18,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/key_update_rsp/src/main.rs:18,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/fuzz-target/responder/key_update_rsp/src/main.rs:19,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/key_update_rsp/src/main.rs:19,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/responder/key_update_rsp/src/main.rs:21,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/key_update_rsp/src/main.rs:22,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/key_update_rsp/src/main.rs:22,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/responder/key_update_rsp/src/main.rs:22,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/key_update_rsp/src/main.rs:22,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/fuzz-target/responder/key_update_rsp/src/main.rs:26,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/fuzz-target/responder/key_update_rsp/src/main.rs:34,1
    - Dst: setup
      Src: /src/spdm-rs/fuzz-target/responder/key_update_rsp/src/main.rs:35,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/responder/key_update_rsp/src/main.rs:35,1
    - Dst: set_session_state
      Src: /src/spdm-rs/fuzz-target/responder/key_update_rsp/src/main.rs:36,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/fuzz-target/responder/key_update_rsp/src/main.rs:37,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/fuzz-target/responder/key_update_rsp/src/main.rs:40,1
    - Dst: codec::Writer::init
      Src: /src/spdm-rs/fuzz-target/responder/key_update_rsp/src/main.rs:46,1
    - Dst: bool::handle_spdm_key_update
      Src: /src/spdm-rs/fuzz-target/responder/key_update_rsp/src/main.rs:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 62
    argCount: 1
    argNames:
    - data
    argTypes:
    - Arc<Vec<u8>>
    constantsTouched: []
    func_position:
      end: 48
      start: 14
    functionDepth: 12
    functionLinenumber: 14
    functionLinenumberEnd: 48
    functionName: fuzz_handle_spdm_key_update
    functionSourceFile: /src/spdm-rs/fuzz-target/responder/key_update_rsp/src/main.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - clone
    - FakeSpdmDeviceIoReceve::new
    - SpdmSession::new
    - unwrap
    - codec::Writer::init
    - set_crypto_param
    - spdmlib::secret::pqc_asym_sign::register
    - SpdmKemAlgo::empty
    - spdmlib::secret::asym_sign::register
    - bool::handle_spdm_key_update
    - rsp_create_info
    - set_session_state
    - Mutex::new
    - setup
    linkageType: ''
    returnType: void
    signature: 'async fn fuzz_handle_spdm_key_update(data: Arc<Vec<u8>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:15,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:15,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:16,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:16,1
    - Dst: spdmlib::secret::psk::register
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:17,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:17,1
    - Dst: spdmlib::crypto::hmac::register
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:18,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:18,1
    - Dst: spdmlib::crypto::hkdf::register
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:19,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:19,1
    - Dst: rsp_create_info
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:27,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:28,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:28,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:30,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:31,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:31,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:31,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:31,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:34,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:43,1
    - Dst: setup
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:44,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:44,1
    - Dst: set_session_state
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:45,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:46,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:49,1
    - Dst: set_use_psk
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:53,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:54,1
    - Dst: SpdmPskHintStruct::default
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:54,1
    - Dst: spdmlib::crypto::hash::hash_ctx_init
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:59,1
    - Dst: codec::Writer::init
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:63,1
    - Dst: bool::handle_spdm_psk_finish
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:65,1
    - Dst: rsp_create_info
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:74,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:75,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:75,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:77,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:78,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:78,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:78,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:78,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:81,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:90,1
    - Dst: setup
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:91,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:91,1
    - Dst: set_session_state
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:92,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:93,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:96,1
    - Dst: set_use_psk
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:100,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:101,1
    - Dst: SpdmPskHintStruct::default
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:101,1
    - Dst: append_message
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:103,1
    - Dst: spdmlib::crypto::hash::hash_ctx_init
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:112,1
    - Dst: codec::Writer::init
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:116,1
    - Dst: bool::handle_spdm_psk_finish
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:117,1
    - Dst: rsp_create_info
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:125,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:126,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:126,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:128,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:129,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:129,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:129,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:129,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:132,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:141,1
    - Dst: setup
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:142,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:142,1
    - Dst: set_session_state
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:143,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:144,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:147,1
    - Dst: set_use_psk
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:151,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:152,1
    - Dst: SpdmPskHintStruct::default
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:152,1
    - Dst: spdmlib::crypto::hash::hash_ctx_init
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:157,1
    - Dst: codec::Writer::init
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:160,1
    - Dst: bool::handle_spdm_psk_finish
      Src: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 265
    argCount: 1
    argNames:
    - data
    argTypes:
    - Arc<Vec<u8>>
    constantsTouched: []
    func_position:
      end: 165
      start: 14
    functionDepth: 12
    functionLinenumber: 14
    functionLinenumberEnd: 165
    functionName: fuzz_handle_spdm_psk_finish
    functionSourceFile: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - SpdmSession::new
    - unwrap
    - set_use_psk
    - codec::Writer::init
    - spdmlib::secret::asym_sign::register
    - rsp_create_info
    - SpdmKemAlgo::empty
    - set_session_state
    - Mutex::new
    - clone
    - FakeSpdmDeviceIoReceve::new
    - spdmlib::crypto::hmac::register
    - spdmlib::secret::pqc_asym_sign::register
    - SpdmPskHintStruct::default
    - setup
    - Some
    - set_crypto_param
    - append_message
    - bool::handle_spdm_psk_finish
    - spdmlib::secret::psk::register
    - spdmlib::crypto::hkdf::register
    - spdmlib::crypto::hash::hash_ctx_init
    linkageType: ''
    returnType: void
    signature: 'async fn fuzz_handle_spdm_psk_finish(data: Arc<Vec<u8>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/fuzz-target/responder/heartbeat_rsp/src/main.rs:15,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/heartbeat_rsp/src/main.rs:15,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/fuzz-target/responder/heartbeat_rsp/src/main.rs:16,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/heartbeat_rsp/src/main.rs:16,1
    - Dst: rsp_create_info
      Src: /src/spdm-rs/fuzz-target/responder/heartbeat_rsp/src/main.rs:18,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/heartbeat_rsp/src/main.rs:19,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/heartbeat_rsp/src/main.rs:19,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/responder/heartbeat_rsp/src/main.rs:21,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/heartbeat_rsp/src/main.rs:22,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/heartbeat_rsp/src/main.rs:22,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/responder/heartbeat_rsp/src/main.rs:22,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/heartbeat_rsp/src/main.rs:22,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/fuzz-target/responder/heartbeat_rsp/src/main.rs:26,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/fuzz-target/responder/heartbeat_rsp/src/main.rs:34,1
    - Dst: setup
      Src: /src/spdm-rs/fuzz-target/responder/heartbeat_rsp/src/main.rs:35,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/responder/heartbeat_rsp/src/main.rs:35,1
    - Dst: set_session_state
      Src: /src/spdm-rs/fuzz-target/responder/heartbeat_rsp/src/main.rs:36,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/fuzz-target/responder/heartbeat_rsp/src/main.rs:37,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/fuzz-target/responder/heartbeat_rsp/src/main.rs:40,1
    - Dst: codec::Writer::init
      Src: /src/spdm-rs/fuzz-target/responder/heartbeat_rsp/src/main.rs:46,1
    - Dst: bool::handle_spdm_heartbeat
      Src: /src/spdm-rs/fuzz-target/responder/heartbeat_rsp/src/main.rs:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 62
    argCount: 1
    argNames:
    - data
    argTypes:
    - Arc<Vec<u8>>
    constantsTouched: []
    func_position:
      end: 48
      start: 14
    functionDepth: 12
    functionLinenumber: 14
    functionLinenumberEnd: 48
    functionName: fuzz_handle_spdm_heartbeat
    functionSourceFile: /src/spdm-rs/fuzz-target/responder/heartbeat_rsp/src/main.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - clone
    - FakeSpdmDeviceIoReceve::new
    - SpdmSession::new
    - unwrap
    - codec::Writer::init
    - set_crypto_param
    - bool::handle_spdm_heartbeat
    - spdmlib::secret::pqc_asym_sign::register
    - SpdmKemAlgo::empty
    - spdmlib::secret::asym_sign::register
    - rsp_create_info
    - set_session_state
    - Mutex::new
    - setup
    linkageType: ''
    returnType: void
    signature: 'async fn fuzz_handle_spdm_heartbeat(data: Arc<Vec<u8>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rsp_create_info
      Src: /src/spdm-rs/fuzz-target/responder/version_rsp/src/main.rs:12,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/version_rsp/src/main.rs:13,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/version_rsp/src/main.rs:13,1
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/fuzz-target/responder/version_rsp/src/main.rs:15,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/version_rsp/src/main.rs:15,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/fuzz-target/responder/version_rsp/src/main.rs:16,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/version_rsp/src/main.rs:16,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/responder/version_rsp/src/main.rs:18,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/version_rsp/src/main.rs:19,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/version_rsp/src/main.rs:19,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/responder/version_rsp/src/main.rs:19,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/version_rsp/src/main.rs:19,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/fuzz-target/responder/version_rsp/src/main.rs:23,1
    - Dst: Self::clone
      Src: /src/spdm-rs/fuzz-target/responder/version_rsp/src/main.rs:24,1
    - Dst: codec::Writer::init
      Src: /src/spdm-rs/fuzz-target/responder/version_rsp/src/main.rs:31,1
    - Dst: bool::handle_spdm_version
      Src: /src/spdm-rs/fuzz-target/responder/version_rsp/src/main.rs:32,1
    - Dst: SpdmSupportedAlgorithmsBlock::lock
      Src: /src/spdm-rs/fuzz-target/responder/version_rsp/src/main.rs:35,1
    - Dst: '&mut [u8]::deref_mut'
      Src: /src/spdm-rs/fuzz-target/responder/version_rsp/src/main.rs:36,1
    - Dst: '&mut [u8]::receive'
      Src: /src/spdm-rs/fuzz-target/responder/version_rsp/src/main.rs:37,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/version_rsp/src/main.rs:38,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/version_rsp/src/main.rs:38,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/responder/version_rsp/src/main.rs:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 42
    argCount: 1
    argNames:
    - data
    argTypes:
    - Arc<Vec<u8>>
    constantsTouched: []
    func_position:
      end: 42
      start: 11
    functionDepth: 12
    functionLinenumber: 11
    functionLinenumberEnd: 42
    functionName: fuzz_handle_spdm_version
    functionSourceFile: /src/spdm-rs/fuzz-target/responder/version_rsp/src/main.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - clone
    - FakeSpdmDeviceIoReceve::new
    - SpdmSupportedAlgorithmsBlock::lock
    - codec::Writer::init
    - bool::handle_spdm_version
    - unwrap
    - Self::clone
    - spdmlib::secret::pqc_asym_sign::register
    - spdmlib::secret::asym_sign::register
    - '&mut [u8]::receive'
    - rsp_create_info
    - Mutex::new
    - '&mut [u8]::deref_mut'
    linkageType: ''
    returnType: void
    signature: 'async fn fuzz_handle_spdm_version(data: Arc<Vec<u8>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/fuzz-target/responder/digest_rsp/src/main.rs:14,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/digest_rsp/src/main.rs:14,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/fuzz-target/responder/digest_rsp/src/main.rs:15,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/digest_rsp/src/main.rs:15,1
    - Dst: rsp_create_info
      Src: /src/spdm-rs/fuzz-target/responder/digest_rsp/src/main.rs:22,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/digest_rsp/src/main.rs:23,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/digest_rsp/src/main.rs:23,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/responder/digest_rsp/src/main.rs:25,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/digest_rsp/src/main.rs:26,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/digest_rsp/src/main.rs:26,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/responder/digest_rsp/src/main.rs:26,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/digest_rsp/src/main.rs:26,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/fuzz-target/responder/digest_rsp/src/main.rs:30,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/responder/digest_rsp/src/main.rs:38,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/fuzz-target/responder/digest_rsp/src/main.rs:52,1
    - Dst: codec::Writer::init
      Src: /src/spdm-rs/fuzz-target/responder/digest_rsp/src/main.rs:58,1
    - Dst: bool::handle_spdm_digest
      Src: /src/spdm-rs/fuzz-target/responder/digest_rsp/src/main.rs:59,1
    - Dst: rsp_create_info
      Src: /src/spdm-rs/fuzz-target/responder/digest_rsp/src/main.rs:67,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/digest_rsp/src/main.rs:68,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/digest_rsp/src/main.rs:68,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/responder/digest_rsp/src/main.rs:70,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/digest_rsp/src/main.rs:71,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/digest_rsp/src/main.rs:71,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/responder/digest_rsp/src/main.rs:71,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/digest_rsp/src/main.rs:71,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/fuzz-target/responder/digest_rsp/src/main.rs:75,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/responder/digest_rsp/src/main.rs:83,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/fuzz-target/responder/digest_rsp/src/main.rs:97,1
    - Dst: setup
      Src: /src/spdm-rs/fuzz-target/responder/digest_rsp/src/main.rs:98,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/responder/digest_rsp/src/main.rs:98,1
    - Dst: set_session_state
      Src: /src/spdm-rs/fuzz-target/responder/digest_rsp/src/main.rs:99,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/fuzz-target/responder/digest_rsp/src/main.rs:100,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/fuzz-target/responder/digest_rsp/src/main.rs:103,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/fuzz-target/responder/digest_rsp/src/main.rs:107,1
    - Dst: codec::Writer::init
      Src: /src/spdm-rs/fuzz-target/responder/digest_rsp/src/main.rs:113,1
    - Dst: bool::handle_spdm_digest
      Src: /src/spdm-rs/fuzz-target/responder/digest_rsp/src/main.rs:114,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/responder/digest_rsp/src/main.rs:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 124
    argCount: 1
    argNames:
    - data
    argTypes:
    - Arc<Vec<u8>>
    constantsTouched: []
    func_position:
      end: 116
      start: 13
    functionDepth: 12
    functionLinenumber: 13
    functionLinenumberEnd: 116
    functionName: fuzz_handle_spdm_digest
    functionSourceFile: /src/spdm-rs/fuzz-target/responder/digest_rsp/src/main.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - SpdmSession::new
    - codec::Writer::init
    - unwrap
    - spdmlib::secret::asym_sign::register
    - rsp_create_info
    - SpdmKemAlgo::empty
    - set_session_state
    - Mutex::new
    - clone
    - FakeSpdmDeviceIoReceve::new
    - set_connection_state
    - spdmlib::secret::pqc_asym_sign::register
    - setup
    - Some
    - set_crypto_param
    - bool::handle_spdm_digest
    linkageType: ''
    returnType: void
    signature: 'async fn fuzz_handle_spdm_digest(data: Arc<Vec<u8>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/fuzz-target/responder/challenge_rsp/src/main.rs:13,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/challenge_rsp/src/main.rs:13,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/fuzz-target/responder/challenge_rsp/src/main.rs:14,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/challenge_rsp/src/main.rs:14,1
    - Dst: spdmlib::secret::measurement::register
      Src: /src/spdm-rs/fuzz-target/responder/challenge_rsp/src/main.rs:15,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/challenge_rsp/src/main.rs:15,1
    - Dst: spdmlib::crypto::rand::register
      Src: /src/spdm-rs/fuzz-target/responder/challenge_rsp/src/main.rs:16,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/challenge_rsp/src/main.rs:16,1
    - Dst: rsp_create_info
      Src: /src/spdm-rs/fuzz-target/responder/challenge_rsp/src/main.rs:23,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/challenge_rsp/src/main.rs:24,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/challenge_rsp/src/main.rs:24,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/responder/challenge_rsp/src/main.rs:26,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/challenge_rsp/src/main.rs:27,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/challenge_rsp/src/main.rs:27,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/responder/challenge_rsp/src/main.rs:27,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/challenge_rsp/src/main.rs:27,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/fuzz-target/responder/challenge_rsp/src/main.rs:31,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/responder/challenge_rsp/src/main.rs:38,1
    - Dst: get_rsp_cert_chain_buff
      Src: /src/spdm-rs/fuzz-target/responder/challenge_rsp/src/main.rs:38,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/fuzz-target/responder/challenge_rsp/src/main.rs:50,1
    - Dst: codec::Writer::init
      Src: /src/spdm-rs/fuzz-target/responder/challenge_rsp/src/main.rs:56,1
    - Dst: bool::handle_spdm_challenge
      Src: /src/spdm-rs/fuzz-target/responder/challenge_rsp/src/main.rs:57,1
    - Dst: rsp_create_info
      Src: /src/spdm-rs/fuzz-target/responder/challenge_rsp/src/main.rs:65,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/challenge_rsp/src/main.rs:66,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/challenge_rsp/src/main.rs:66,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/responder/challenge_rsp/src/main.rs:68,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/challenge_rsp/src/main.rs:69,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/challenge_rsp/src/main.rs:69,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/responder/challenge_rsp/src/main.rs:69,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/challenge_rsp/src/main.rs:69,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/fuzz-target/responder/challenge_rsp/src/main.rs:73,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/responder/challenge_rsp/src/main.rs:80,1
    - Dst: get_rsp_cert_chain_buff
      Src: /src/spdm-rs/fuzz-target/responder/challenge_rsp/src/main.rs:80,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/fuzz-target/responder/challenge_rsp/src/main.rs:95,1
    - Dst: codec::Writer::init
      Src: /src/spdm-rs/fuzz-target/responder/challenge_rsp/src/main.rs:101,1
    - Dst: bool::handle_spdm_challenge
      Src: /src/spdm-rs/fuzz-target/responder/challenge_rsp/src/main.rs:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 113
    argCount: 1
    argNames:
    - data
    argTypes:
    - Arc<Vec<u8>>
    constantsTouched: []
    func_position:
      end: 104
      start: 12
    functionDepth: 12
    functionLinenumber: 12
    functionLinenumberEnd: 104
    functionName: fuzz_handle_spdm_challenge
    functionSourceFile: /src/spdm-rs/fuzz-target/responder/challenge_rsp/src/main.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - get_rsp_cert_chain_buff
    - clone
    - FakeSpdmDeviceIoReceve::new
    - set_connection_state
    - codec::Writer::init
    - spdmlib::secret::pqc_asym_sign::register
    - spdmlib::secret::asym_sign::register
    - spdmlib::crypto::rand::register
    - rsp_create_info
    - spdmlib::secret::measurement::register
    - bool::handle_spdm_challenge
    - Mutex::new
    - Some
    linkageType: ''
    returnType: void
    signature: 'async fn fuzz_handle_spdm_challenge(data: Arc<Vec<u8>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/fuzz-target/responder/vendor_rsp/src/main.rs:18,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/vendor_rsp/src/main.rs:18,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/fuzz-target/responder/vendor_rsp/src/main.rs:19,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/vendor_rsp/src/main.rs:19,1
    - Dst: rsp_create_info
      Src: /src/spdm-rs/fuzz-target/responder/vendor_rsp/src/main.rs:21,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/vendor_rsp/src/main.rs:22,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/vendor_rsp/src/main.rs:22,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/responder/vendor_rsp/src/main.rs:24,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/vendor_rsp/src/main.rs:25,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/vendor_rsp/src/main.rs:25,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/responder/vendor_rsp/src/main.rs:25,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/vendor_rsp/src/main.rs:25,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/fuzz-target/responder/vendor_rsp/src/main.rs:29,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/responder/vendor_rsp/src/main.rs:37,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/fuzz-target/responder/vendor_rsp/src/main.rs:51,1
    - Dst: clone_from_slice
      Src: /src/spdm-rs/fuzz-target/responder/vendor_rsp/src/main.rs:69,1
    - Dst: Ok
      Src: /src/spdm-rs/fuzz-target/responder/vendor_rsp/src/main.rs:71,1
    - Dst: register_vendor_defined_struct
      Src: /src/spdm-rs/fuzz-target/responder/vendor_rsp/src/main.rs:74,1
    - Dst: codec::Writer::init
      Src: /src/spdm-rs/fuzz-target/responder/vendor_rsp/src/main.rs:80,1
    - Dst: bool::handle_spdm_vendor_defined_request
      Src: /src/spdm-rs/fuzz-target/responder/vendor_rsp/src/main.rs:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 67
    argCount: 1
    argNames:
    - data
    argTypes:
    - Arc<Vec<u8>>
    constantsTouched: []
    func_position:
      end: 82
      start: 17
    functionDepth: 12
    functionLinenumber: 17
    functionLinenumberEnd: 82
    functionName: fuzz_handle_spdm_vendor_defined_request
    functionSourceFile: /src/spdm-rs/fuzz-target/responder/vendor_rsp/src/main.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - clone
    - FakeSpdmDeviceIoReceve::new
    - register_vendor_defined_struct
    - Ok
    - set_connection_state
    - codec::Writer::init
    - bool::handle_spdm_vendor_defined_request
    - spdmlib::secret::pqc_asym_sign::register
    - spdmlib::secret::asym_sign::register
    - rsp_create_info
    - clone_from_slice
    - Mutex::new
    - Some
    linkageType: ''
    returnType: void
    signature: 'async fn fuzz_handle_spdm_vendor_defined_request(data: Arc<Vec<u8>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/fuzz-target/responder/end_session_rsp/src/main.rs:15,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/end_session_rsp/src/main.rs:15,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/fuzz-target/responder/end_session_rsp/src/main.rs:16,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/end_session_rsp/src/main.rs:16,1
    - Dst: rsp_create_info
      Src: /src/spdm-rs/fuzz-target/responder/end_session_rsp/src/main.rs:18,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/end_session_rsp/src/main.rs:19,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/end_session_rsp/src/main.rs:19,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/responder/end_session_rsp/src/main.rs:21,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/end_session_rsp/src/main.rs:22,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/end_session_rsp/src/main.rs:22,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/responder/end_session_rsp/src/main.rs:22,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/end_session_rsp/src/main.rs:22,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/fuzz-target/responder/end_session_rsp/src/main.rs:26,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/fuzz-target/responder/end_session_rsp/src/main.rs:34,1
    - Dst: setup
      Src: /src/spdm-rs/fuzz-target/responder/end_session_rsp/src/main.rs:35,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/responder/end_session_rsp/src/main.rs:35,1
    - Dst: set_session_state
      Src: /src/spdm-rs/fuzz-target/responder/end_session_rsp/src/main.rs:36,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/fuzz-target/responder/end_session_rsp/src/main.rs:37,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/fuzz-target/responder/end_session_rsp/src/main.rs:40,1
    - Dst: codec::Writer::init
      Src: /src/spdm-rs/fuzz-target/responder/end_session_rsp/src/main.rs:46,1
    - Dst: bool::handle_spdm_end_session
      Src: /src/spdm-rs/fuzz-target/responder/end_session_rsp/src/main.rs:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 62
    argCount: 1
    argNames:
    - data
    argTypes:
    - Arc<Vec<u8>>
    constantsTouched: []
    func_position:
      end: 48
      start: 14
    functionDepth: 12
    functionLinenumber: 14
    functionLinenumberEnd: 48
    functionName: fuzz_handle_spdm_end_session
    functionSourceFile: /src/spdm-rs/fuzz-target/responder/end_session_rsp/src/main.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - clone
    - FakeSpdmDeviceIoReceve::new
    - SpdmSession::new
    - unwrap
    - codec::Writer::init
    - set_crypto_param
    - spdmlib::secret::pqc_asym_sign::register
    - SpdmKemAlgo::empty
    - bool::handle_spdm_end_session
    - spdmlib::secret::asym_sign::register
    - rsp_create_info
    - set_session_state
    - Mutex::new
    - setup
    linkageType: ''
    returnType: void
    signature: 'async fn fuzz_handle_spdm_end_session(data: Arc<Vec<u8>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/fuzz-target/responder/certificate_rsp/src/main.rs:16,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/certificate_rsp/src/main.rs:16,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/fuzz-target/responder/certificate_rsp/src/main.rs:17,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/certificate_rsp/src/main.rs:17,1
    - Dst: rsp_create_info
      Src: /src/spdm-rs/fuzz-target/responder/certificate_rsp/src/main.rs:24,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/certificate_rsp/src/main.rs:25,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/certificate_rsp/src/main.rs:25,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/responder/certificate_rsp/src/main.rs:27,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/certificate_rsp/src/main.rs:28,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/certificate_rsp/src/main.rs:28,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/responder/certificate_rsp/src/main.rs:28,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/certificate_rsp/src/main.rs:28,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/fuzz-target/responder/certificate_rsp/src/main.rs:32,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/responder/certificate_rsp/src/main.rs:42,1
    - Dst: get_rsp_cert_chain_buff
      Src: /src/spdm-rs/fuzz-target/responder/certificate_rsp/src/main.rs:42,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/fuzz-target/responder/certificate_rsp/src/main.rs:51,1
    - Dst: codec::Writer::init
      Src: /src/spdm-rs/fuzz-target/responder/certificate_rsp/src/main.rs:57,1
    - Dst: bool::handle_spdm_certificate
      Src: /src/spdm-rs/fuzz-target/responder/certificate_rsp/src/main.rs:58,1
    - Dst: rsp_create_info
      Src: /src/spdm-rs/fuzz-target/responder/certificate_rsp/src/main.rs:66,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/certificate_rsp/src/main.rs:67,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/certificate_rsp/src/main.rs:67,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/responder/certificate_rsp/src/main.rs:69,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/certificate_rsp/src/main.rs:70,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/certificate_rsp/src/main.rs:70,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/responder/certificate_rsp/src/main.rs:70,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/certificate_rsp/src/main.rs:70,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/fuzz-target/responder/certificate_rsp/src/main.rs:74,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/responder/certificate_rsp/src/main.rs:84,1
    - Dst: get_rsp_cert_chain_buff
      Src: /src/spdm-rs/fuzz-target/responder/certificate_rsp/src/main.rs:84,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/fuzz-target/responder/certificate_rsp/src/main.rs:93,1
    - Dst: setup
      Src: /src/spdm-rs/fuzz-target/responder/certificate_rsp/src/main.rs:94,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/responder/certificate_rsp/src/main.rs:94,1
    - Dst: set_session_state
      Src: /src/spdm-rs/fuzz-target/responder/certificate_rsp/src/main.rs:95,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/fuzz-target/responder/certificate_rsp/src/main.rs:96,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/fuzz-target/responder/certificate_rsp/src/main.rs:99,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/fuzz-target/responder/certificate_rsp/src/main.rs:103,1
    - Dst: codec::Writer::init
      Src: /src/spdm-rs/fuzz-target/responder/certificate_rsp/src/main.rs:109,1
    - Dst: bool::handle_spdm_certificate
      Src: /src/spdm-rs/fuzz-target/responder/certificate_rsp/src/main.rs:110,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/responder/certificate_rsp/src/main.rs:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 118
    argCount: 1
    argNames:
    - data
    argTypes:
    - Arc<Vec<u8>>
    constantsTouched: []
    func_position:
      end: 112
      start: 15
    functionDepth: 12
    functionLinenumber: 15
    functionLinenumberEnd: 112
    functionName: fuzz_handle_spdm_certificate
    functionSourceFile: /src/spdm-rs/fuzz-target/responder/certificate_rsp/src/main.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - SpdmSession::new
    - codec::Writer::init
    - unwrap
    - bool::handle_spdm_certificate
    - spdmlib::secret::asym_sign::register
    - rsp_create_info
    - set_session_state
    - Mutex::new
    - SpdmKemAlgo::empty
    - clone
    - FakeSpdmDeviceIoReceve::new
    - set_connection_state
    - spdmlib::secret::pqc_asym_sign::register
    - setup
    - Some
    - get_rsp_cert_chain_buff
    - set_crypto_param
    linkageType: ''
    returnType: void
    signature: 'async fn fuzz_handle_spdm_certificate(data: Arc<Vec<u8>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_certificate_rsp/src/main.rs:13,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_certificate_rsp/src/main.rs:13,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_certificate_rsp/src/main.rs:14,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_certificate_rsp/src/main.rs:14,1
    - Dst: spdmlib::crypto::cert_operation::register
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_certificate_rsp/src/main.rs:15,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_certificate_rsp/src/main.rs:15,1
    - Dst: rsp_create_info
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_certificate_rsp/src/main.rs:22,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_certificate_rsp/src/main.rs:23,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_certificate_rsp/src/main.rs:23,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_certificate_rsp/src/main.rs:25,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_certificate_rsp/src/main.rs:26,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_certificate_rsp/src/main.rs:26,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_certificate_rsp/src/main.rs:26,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_certificate_rsp/src/main.rs:26,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_certificate_rsp/src/main.rs:30,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_certificate_rsp/src/main.rs:46,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_certificate_rsp/src/main.rs:51,1
    - Dst: SpdmCertChainBuffer::default
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_certificate_rsp/src/main.rs:51,1
    - Dst: bool::handle_encap_response_certificate
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_certificate_rsp/src/main.rs:53,1
    - Dst: rsp_create_info
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_certificate_rsp/src/main.rs:61,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_certificate_rsp/src/main.rs:62,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_certificate_rsp/src/main.rs:62,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_certificate_rsp/src/main.rs:64,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_certificate_rsp/src/main.rs:65,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_certificate_rsp/src/main.rs:65,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_certificate_rsp/src/main.rs:65,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_certificate_rsp/src/main.rs:65,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_certificate_rsp/src/main.rs:69,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_certificate_rsp/src/main.rs:85,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_certificate_rsp/src/main.rs:90,1
    - Dst: SpdmCertChainBuffer::default
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_certificate_rsp/src/main.rs:90,1
    - Dst: SpdmCertChainData::default
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_certificate_rsp/src/main.rs:93,1
    - Dst: len
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_certificate_rsp/src/main.rs:98,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_certificate_rsp/src/main.rs:99,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_certificate_rsp/src/main.rs:104,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_certificate_rsp/src/main.rs:105,1
    - Dst: bool::handle_encap_response_certificate
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_certificate_rsp/src/main.rs:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 155
    argCount: 1
    argNames:
    - data
    argTypes:
    - Arc<Vec<u8>>
    constantsTouched: []
    func_position:
      end: 111
      start: 12
    functionDepth: 12
    functionLinenumber: 12
    functionLinenumberEnd: 111
    functionName: fuzz_handle_encap_response_certificate
    functionSourceFile: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_certificate_rsp/src/main.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - clone
    - spdmlib::crypto::cert_operation::register
    - FakeSpdmDeviceIoReceve::new
    - SpdmCertChainBuffer::default
    - set_connection_state
    - bool::handle_encap_response_certificate
    - spdmlib::secret::pqc_asym_sign::register
    - gen_array_clone
    - copy_from_slice
    - len
    - spdmlib::secret::asym_sign::register
    - SpdmCertChainData::default
    - rsp_create_info
    - Mutex::new
    - Some
    linkageType: ''
    returnType: void
    signature: 'async fn fuzz_handle_encap_response_certificate(data: Arc<Vec<u8>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_digest_rsp/src/main.rs:13,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_digest_rsp/src/main.rs:13,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_digest_rsp/src/main.rs:14,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_digest_rsp/src/main.rs:14,1
    - Dst: rsp_create_info
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_digest_rsp/src/main.rs:16,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_digest_rsp/src/main.rs:17,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_digest_rsp/src/main.rs:17,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_digest_rsp/src/main.rs:19,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_digest_rsp/src/main.rs:20,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_digest_rsp/src/main.rs:20,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_digest_rsp/src/main.rs:20,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_digest_rsp/src/main.rs:20,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_digest_rsp/src/main.rs:24,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_digest_rsp/src/main.rs:32,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_digest_rsp/src/main.rs:52,1
    - Dst: bool::handle_encap_response_digest
      Src: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_digest_rsp/src/main.rs:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 66
    argCount: 1
    argNames:
    - data
    argTypes:
    - Arc<Vec<u8>>
    constantsTouched: []
    func_position:
      end: 58
      start: 12
    functionDepth: 12
    functionLinenumber: 12
    functionLinenumberEnd: 58
    functionName: fuzz_handle_encap_response_digest
    functionSourceFile: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_digest_rsp/src/main.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - clone
    - FakeSpdmDeviceIoReceve::new
    - set_connection_state
    - bool::handle_encap_response_digest
    - spdmlib::secret::pqc_asym_sign::register
    - spdmlib::secret::asym_sign::register
    - rsp_create_info
    - Mutex::new
    - Some
    linkageType: ''
    returnType: void
    signature: 'async fn fuzz_handle_encap_response_digest(data: Arc<Vec<u8>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:16,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:16,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:17,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:17,1
    - Dst: spdmlib::crypto::hmac::register
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:18,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:18,1
    - Dst: spdmlib::crypto::hkdf::register
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:19,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:19,1
    - Dst: spdmlib::crypto::asym_verify::register
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:20,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:20,1
    - Dst: spdmlib::crypto::pqc_asym_verify::register
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:21,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:21,1
    - Dst: rsp_create_info
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:29,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:30,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:30,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:32,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:33,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:33,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:33,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:33,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:36,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:51,1
    - Dst: get_rsp_cert_chain_buff
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:51,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:61,1
    - Dst: setup
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:62,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:62,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:63,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:66,1
    - Dst: SpdmSharedSecretFinalKeyStruct::default
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:73,1
    - Dst: get_key_size
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:74,1
    - Dst: set_shared_secret
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:75,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:75,1
    - Dst: spdmlib::crypto::hash::hash_ctx_init
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:79,1
    - Dst: set_session_state
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:82,1
    - Dst: set_last_session_id
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:83,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:86,1
    - Dst: codec::Writer::init
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:89,1
    - Dst: bool::handle_spdm_finish
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:90,1
    - Dst: rsp_create_info
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:98,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:99,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:99,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:101,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:102,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:102,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:102,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:102,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:105,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:120,1
    - Dst: get_rsp_cert_chain_buff
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:120,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:130,1
    - Dst: setup
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:131,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:131,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:132,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:135,1
    - Dst: SpdmSharedSecretFinalKeyStruct::default
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:142,1
    - Dst: get_key_size
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:143,1
    - Dst: set_shared_secret
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:144,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:144,1
    - Dst: spdmlib::crypto::hash::hash_ctx_init
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:148,1
    - Dst: set_session_state
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:151,1
    - Dst: set_last_session_id
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:152,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:155,1
    - Dst: codec::Writer::init
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:158,1
    - Dst: bool::handle_spdm_finish
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:159,1
    - Dst: rsp_create_info
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:167,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:168,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:168,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:170,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:171,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:171,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:171,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:171,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:174,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:189,1
    - Dst: get_rsp_cert_chain_buff
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:189,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:199,1
    - Dst: setup
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:200,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:200,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:201,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:204,1
    - Dst: SpdmSharedSecretFinalKeyStruct::default
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:211,1
    - Dst: get_key_size
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:212,1
    - Dst: set_shared_secret
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:213,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:213,1
    - Dst: spdmlib::crypto::hash::hash_ctx_init
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:217,1
    - Dst: set_session_state
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:219,1
    - Dst: set_last_session_id
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:220,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:223,1
    - Dst: codec::Writer::init
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:226,1
    - Dst: bool::handle_spdm_finish
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:227,1
    - Dst: rsp_create_info
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:235,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:236,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:236,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:238,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:239,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:239,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:239,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:239,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:242,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:257,1
    - Dst: get_rsp_cert_chain_buff
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:257,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:267,1
    - Dst: setup
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:268,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:268,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:269,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:272,1
    - Dst: SpdmSharedSecretFinalKeyStruct::default
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:279,1
    - Dst: get_key_size
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:280,1
    - Dst: set_shared_secret
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:281,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:281,1
    - Dst: spdmlib::crypto::hash::hash_ctx_init
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:285,1
    - Dst: set_session_state
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:288,1
    - Dst: append_message
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:289,1
    - Dst: set_last_session_id
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:294,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:297,1
    - Dst: codec::Writer::init
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:300,1
    - Dst: bool::handle_spdm_finish
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:301,1
    - Dst: rsp_create_info
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:309,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:310,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:310,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:312,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:313,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:313,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:313,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:313,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:316,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:330,1
    - Dst: get_rsp_cert_chain_buff
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:330,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:332,1
    - Dst: get_rsp_cert_chain_buff
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:332,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:342,1
    - Dst: setup
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:343,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:343,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:344,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:347,1
    - Dst: SpdmSharedSecretFinalKeyStruct::default
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:354,1
    - Dst: get_key_size
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:355,1
    - Dst: set_shared_secret
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:356,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:356,1
    - Dst: spdmlib::crypto::hash::hash_ctx_init
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:360,1
    - Dst: set_session_state
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:363,1
    - Dst: set_mut_auth_requested
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:364,1
    - Dst: set_last_session_id
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:367,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:370,1
    - Dst: codec::Writer::init
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:373,1
    - Dst: bool::handle_spdm_finish
      Src: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 597
    argCount: 1
    argNames:
    - data
    argTypes:
    - Arc<Vec<u8>>
    constantsTouched: []
    func_position:
      end: 376
      start: 15
    functionDepth: 12
    functionLinenumber: 15
    functionLinenumberEnd: 376
    functionName: fuzz_handle_spdm_finish
    functionSourceFile: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - spdmlib::crypto::asym_verify::register
    - SpdmSession::new
    - unwrap
    - codec::Writer::init
    - spdmlib::secret::asym_sign::register
    - get_key_size
    - rsp_create_info
    - set_shared_secret
    - SpdmKemAlgo::empty
    - Mutex::new
    - set_session_state
    - clone
    - FakeSpdmDeviceIoReceve::new
    - spdmlib::crypto::hmac::register
    - spdmlib::secret::pqc_asym_sign::register
    - setup
    - Some
    - get_rsp_cert_chain_buff
    - set_last_session_id
    - set_crypto_param
    - set_mut_auth_requested
    - append_message
    - bool::handle_spdm_finish
    - spdmlib::crypto::hkdf::register
    - spdmlib::crypto::hash::hash_ctx_init
    - spdmlib::crypto::pqc_asym_verify::register
    - SpdmSharedSecretFinalKeyStruct::default
    linkageType: ''
    returnType: void
    signature: 'async fn fuzz_handle_spdm_finish(data: Arc<Vec<u8>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/fuzz-target/responder/get_encapsulated_request_rsp/src/main.rs:13,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/get_encapsulated_request_rsp/src/main.rs:13,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/fuzz-target/responder/get_encapsulated_request_rsp/src/main.rs:14,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/get_encapsulated_request_rsp/src/main.rs:14,1
    - Dst: spdmlib::crypto::cert_operation::register
      Src: /src/spdm-rs/fuzz-target/responder/get_encapsulated_request_rsp/src/main.rs:15,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/get_encapsulated_request_rsp/src/main.rs:15,1
    - Dst: rsp_create_info
      Src: /src/spdm-rs/fuzz-target/responder/get_encapsulated_request_rsp/src/main.rs:22,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/get_encapsulated_request_rsp/src/main.rs:23,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/get_encapsulated_request_rsp/src/main.rs:23,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/responder/get_encapsulated_request_rsp/src/main.rs:25,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/get_encapsulated_request_rsp/src/main.rs:26,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/get_encapsulated_request_rsp/src/main.rs:26,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/responder/get_encapsulated_request_rsp/src/main.rs:26,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/get_encapsulated_request_rsp/src/main.rs:26,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/fuzz-target/responder/get_encapsulated_request_rsp/src/main.rs:30,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/fuzz-target/responder/get_encapsulated_request_rsp/src/main.rs:46,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/responder/get_encapsulated_request_rsp/src/main.rs:51,1
    - Dst: SpdmCertChainBuffer::default
      Src: /src/spdm-rs/fuzz-target/responder/get_encapsulated_request_rsp/src/main.rs:51,1
    - Dst: codec::Writer::init
      Src: /src/spdm-rs/fuzz-target/responder/get_encapsulated_request_rsp/src/main.rs:54,1
    - Dst: bool::handle_get_encapsulated_request
      Src: /src/spdm-rs/fuzz-target/responder/get_encapsulated_request_rsp/src/main.rs:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 71
    argCount: 1
    argNames:
    - data
    argTypes:
    - Arc<Vec<u8>>
    constantsTouched: []
    func_position:
      end: 57
      start: 12
    functionDepth: 12
    functionLinenumber: 12
    functionLinenumberEnd: 57
    functionName: fuzz_handle_get_encapsulated_request
    functionSourceFile: /src/spdm-rs/fuzz-target/responder/get_encapsulated_request_rsp/src/main.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - clone
    - spdmlib::crypto::cert_operation::register
    - FakeSpdmDeviceIoReceve::new
    - SpdmCertChainBuffer::default
    - set_connection_state
    - codec::Writer::init
    - spdmlib::secret::pqc_asym_sign::register
    - spdmlib::secret::asym_sign::register
    - bool::handle_get_encapsulated_request
    - rsp_create_info
    - Mutex::new
    - Some
    linkageType: ''
    returnType: void
    signature: 'async fn fuzz_handle_get_encapsulated_request(data: Arc<Vec<u8>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rsp_create_info
      Src: /src/spdm-rs/fuzz-target/responder/algorithm_rsp/src/main.rs:12,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/algorithm_rsp/src/main.rs:13,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/algorithm_rsp/src/main.rs:13,1
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/fuzz-target/responder/algorithm_rsp/src/main.rs:15,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/algorithm_rsp/src/main.rs:15,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/fuzz-target/responder/algorithm_rsp/src/main.rs:16,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/algorithm_rsp/src/main.rs:16,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/responder/algorithm_rsp/src/main.rs:18,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/algorithm_rsp/src/main.rs:19,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/algorithm_rsp/src/main.rs:19,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/responder/algorithm_rsp/src/main.rs:19,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/algorithm_rsp/src/main.rs:19,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/fuzz-target/responder/algorithm_rsp/src/main.rs:23,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/fuzz-target/responder/algorithm_rsp/src/main.rs:30,1
    - Dst: codec::Writer::init
      Src: /src/spdm-rs/fuzz-target/responder/algorithm_rsp/src/main.rs:36,1
    - Dst: bool::handle_spdm_algorithm
      Src: /src/spdm-rs/fuzz-target/responder/algorithm_rsp/src/main.rs:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 1
    argNames:
    - data
    argTypes:
    - Arc<Vec<u8>>
    constantsTouched: []
    func_position:
      end: 38
      start: 11
    functionDepth: 12
    functionLinenumber: 11
    functionLinenumberEnd: 38
    functionName: fuzz_handle_spdm_algorithm
    functionSourceFile: /src/spdm-rs/fuzz-target/responder/algorithm_rsp/src/main.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - clone
    - FakeSpdmDeviceIoReceve::new
    - set_connection_state
    - codec::Writer::init
    - bool::handle_spdm_algorithm
    - spdmlib::secret::pqc_asym_sign::register
    - spdmlib::secret::asym_sign::register
    - rsp_create_info
    - Mutex::new
    linkageType: ''
    returnType: void
    signature: 'async fn fuzz_handle_spdm_algorithm(data: Arc<Vec<u8>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:13,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:13,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:14,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:14,1
    - Dst: spdmlib::secret::measurement::register
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:15,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:15,1
    - Dst: rsp_create_info
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:22,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:23,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:23,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:25,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:26,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:26,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:26,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:26,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:30,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:45,1
    - Dst: get_rsp_cert_chain_buff
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:45,1
    - Dst: reset_runtime_info
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:55,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:56,1
    - Dst: codec::Writer::init
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:62,1
    - Dst: bool::handle_spdm_key_exchange
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:63,1
    - Dst: rsp_create_info
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:71,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:72,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:72,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:74,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:75,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:75,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:75,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:75,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:79,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:98,1
    - Dst: get_rsp_cert_chain_buff
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:98,1
    - Dst: reset_runtime_info
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:108,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:109,1
    - Dst: codec::Writer::init
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:115,1
    - Dst: bool::handle_spdm_key_exchange
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:116,1
    - Dst: rsp_create_info
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:124,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:125,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:125,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:127,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:128,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:128,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:128,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:128,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:132,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:150,1
    - Dst: get_rsp_cert_chain_buff
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:150,1
    - Dst: reset_runtime_info
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:160,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:161,1
    - Dst: codec::Writer::init
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:167,1
    - Dst: bool::handle_spdm_key_exchange
      Src: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 252
    argCount: 1
    argNames:
    - data
    argTypes:
    - Arc<Vec<u8>>
    constantsTouched: []
    func_position:
      end: 170
      start: 12
    functionDepth: 12
    functionLinenumber: 12
    functionLinenumberEnd: 170
    functionName: fuzz_handle_spdm_key_exchange
    functionSourceFile: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - get_rsp_cert_chain_buff
    - clone
    - FakeSpdmDeviceIoReceve::new
    - reset_runtime_info
    - set_connection_state
    - codec::Writer::init
    - spdmlib::secret::pqc_asym_sign::register
    - spdmlib::secret::asym_sign::register
    - rsp_create_info
    - spdmlib::secret::measurement::register
    - bool::handle_spdm_key_exchange
    - Mutex::new
    - Some
    linkageType: ''
    returnType: void
    signature: 'async fn fuzz_handle_spdm_key_exchange(data: Arc<Vec<u8>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rsp_create_info
      Src: /src/spdm-rs/fuzz-target/responder/capability_rsp/src/main.rs:12,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/capability_rsp/src/main.rs:13,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/capability_rsp/src/main.rs:13,1
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/fuzz-target/responder/capability_rsp/src/main.rs:15,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/capability_rsp/src/main.rs:15,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/fuzz-target/responder/capability_rsp/src/main.rs:16,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/responder/capability_rsp/src/main.rs:16,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/responder/capability_rsp/src/main.rs:18,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/capability_rsp/src/main.rs:19,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/responder/capability_rsp/src/main.rs:19,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/responder/capability_rsp/src/main.rs:19,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/responder/capability_rsp/src/main.rs:19,1
    - Dst: responder::ResponderContext::new
      Src: /src/spdm-rs/fuzz-target/responder/capability_rsp/src/main.rs:23,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/fuzz-target/responder/capability_rsp/src/main.rs:30,1
    - Dst: codec::Writer::init
      Src: /src/spdm-rs/fuzz-target/responder/capability_rsp/src/main.rs:36,1
    - Dst: bool::handle_spdm_capability
      Src: /src/spdm-rs/fuzz-target/responder/capability_rsp/src/main.rs:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 1
    argNames:
    - data
    argTypes:
    - Arc<Vec<u8>>
    constantsTouched: []
    func_position:
      end: 38
      start: 11
    functionDepth: 12
    functionLinenumber: 11
    functionLinenumberEnd: 38
    functionName: fuzz_handle_spdm_capability
    functionSourceFile: /src/spdm-rs/fuzz-target/responder/capability_rsp/src/main.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - responder::ResponderContext::new
    - clone
    - FakeSpdmDeviceIoReceve::new
    - set_connection_state
    - codec::Writer::init
    - bool::handle_spdm_capability
    - spdmlib::secret::pqc_asym_sign::register
    - spdmlib::secret::asym_sign::register
    - rsp_create_info
    - Mutex::new
    linkageType: ''
    returnType: void
    signature: 'async fn fuzz_handle_spdm_capability(data: Arc<Vec<u8>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - fuzzdata
    - current
    argTypes:
    - Arc<SharedBuffer>
    - '[[u8; 528]; 4]'
    - usize
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: FuzzTmpSpdmDeviceIoReceve::new
    functionSourceFile: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(data: Arc<SharedBuffer>, fuzzdata: [[u8; 528]; 4], current:
      usize) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_buffer
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs:74,1
    - Dst: Arc<Mutex<&mut [u8]>>::clone
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs:74,1
    - Dst: SpdmSupportedAlgorithmsBlock::lock
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs:75,1
    - Dst: '&mut [u8]::deref_mut'
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs:76,1
    - Dst: Ok
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - read_buffer
    - _timeout
    argTypes:
    - Arc<Mutex<&mut [u8]>>
    - usize
    constantsTouched: []
    func_position:
      end: 79
      start: 69
    functionDepth: 7
    functionLinenumber: 69
    functionLinenumberEnd: 79
    functionName: FuzzTmpSpdmDeviceIoReceve::receive
    functionSourceFile: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs
    functionUses: 0
    functionsReached:
    - get_buffer
    - SpdmSupportedAlgorithmsBlock::lock
    - Arc<Mutex<&mut [u8]>>::clone
    - Ok
    - '&mut [u8]::deref_mut'
    linkageType: ''
    returnType: Result
    signature: 'async fn receive(&mut self,read_buffer: Arc<Mutex<&mut [u8]>>,_timeout:
      usize,) -> Result<usize, usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_buffer_ref
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs:83,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs:83,1
    - Dst: Ok
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - _buffer
    argTypes:
    - Arc<&[u8]>
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 7
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: FuzzTmpSpdmDeviceIoReceve::send
    functionSourceFile: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - Ok
    - set_buffer_ref
    linkageType: ''
    returnType: SpdmResult
    signature: 'async fn send(&mut self, _buffer: Arc<&[u8]>) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: FuzzTmpSpdmDeviceIoReceve::flush_all
    functionSourceFile: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs
    functionUses: 0
    functionsReached:
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: async fn flush_all(&mut self) -> SpdmResult
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - fuzzdata
    argTypes:
    - Arc<SharedBuffer>
    - Arc<[u8]>
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: FuzzSpdmDeviceIoReceve::new
    functionSourceFile: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(data: Arc<SharedBuffer>, fuzzdata: Arc<[u8]>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_buffer
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs:115,1
    - Dst: Arc<Mutex<&mut [u8]>>::clone
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs:115,1
    - Dst: SpdmSupportedAlgorithmsBlock::lock
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs:116,1
    - Dst: '&mut [u8]::deref_mut'
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs:117,1
    - Dst: Ok
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - read_buffer
    - _timeout
    argTypes:
    - Arc<Mutex<&mut [u8]>>
    - usize
    constantsTouched: []
    func_position:
      end: 120
      start: 110
    functionDepth: 7
    functionLinenumber: 110
    functionLinenumberEnd: 120
    functionName: FuzzSpdmDeviceIoReceve::receive
    functionSourceFile: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs
    functionUses: 0
    functionsReached:
    - get_buffer
    - SpdmSupportedAlgorithmsBlock::lock
    - Arc<Mutex<&mut [u8]>>::clone
    - Ok
    - '&mut [u8]::deref_mut'
    linkageType: ''
    returnType: Result
    signature: 'async fn receive(&mut self,read_buffer: Arc<Mutex<&mut [u8]>>,_timeout:
      usize,) -> Result<usize, usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_buffer
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs:123,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs:123,1
    - Dst: Ok
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - Arc<&[u8]>
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 7
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: FuzzSpdmDeviceIoReceve::send
    functionSourceFile: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs
    functionUses: 0
    functionsReached:
    - clone
    - Ok
    - set_buffer
    linkageType: ''
    returnType: SpdmResult
    signature: 'async fn send(&mut self, buffer: Arc<&[u8]>) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: FuzzSpdmDeviceIoReceve::flush_all
    functionSourceFile: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs
    functionUses: 0
    functionsReached:
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: async fn flush_all(&mut self) -> SpdmResult
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_buffer_ref
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs:142,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 7
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: FakeSpdmDeviceIo::set_rx
    functionSourceFile: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - set_buffer_ref
    linkageType: ''
    returnType: void
    signature: 'pub fn set_rx(&mut self, buffer: &[u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs:172,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs:173,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs:174,1
    - Dst: Self::send
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs:175,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs:175,1
    - Dst: Self::receive
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs:177,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 171
    functionDepth: 11
    functionLinenumber: 171
    functionLinenumberEnd: 179
    functionName: test_single_run
    functionSourceFile: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs
    functionUses: 0
    functionsReached:
    - SpdmResult::unwrap
    - SharedBuffer::new
    - FakeSpdmDeviceIoReceve::new
    - Result::unwrap
    - Self::receive
    - Self::send
    linkageType: ''
    returnType: void
    signature: fn test_single_run()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 198
    functionName: certificata_data
    functionSourceFile: /src/spdm-rs/fuzz-target/fuzzlib/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '[[u8; 528]; 4]'
    signature: pub fn certificata_data() -> [[u8; 528]; 4]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: req_create_info
      Src: /src/spdm-rs/fuzz-target/requester/challenge_req/src/main.rs:12,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/requester/challenge_req/src/main.rs:14,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/challenge_req/src/main.rs:15,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/challenge_req/src/main.rs:15,1
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/fuzz-target/requester/challenge_req/src/main.rs:17,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/challenge_req/src/main.rs:17,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/fuzz-target/requester/challenge_req/src/main.rs:18,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/challenge_req/src/main.rs:18,1
    - Dst: spdmlib::secret::measurement::register
      Src: /src/spdm-rs/fuzz-target/requester/challenge_req/src/main.rs:19,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/challenge_req/src/main.rs:19,1
    - Dst: spdmlib::crypto::rand::register
      Src: /src/spdm-rs/fuzz-target/requester/challenge_req/src/main.rs:20,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/challenge_req/src/main.rs:20,1
    - Dst: fake_device_io::FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/fuzz-target/requester/challenge_req/src/main.rs:22,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/challenge_req/src/main.rs:22,1
    - Dst: Self::set_rx
      Src: /src/spdm-rs/fuzz-target/requester/challenge_req/src/main.rs:23,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/challenge_req/src/main.rs:24,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/challenge_req/src/main.rs:24,1
    - Dst: requester::RequesterContext::new
      Src: /src/spdm-rs/fuzz-target/requester/challenge_req/src/main.rs:26,1
    - Dst: reset_runtime_info
      Src: /src/spdm-rs/fuzz-target/requester/challenge_req/src/main.rs:32,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/requester/challenge_req/src/main.rs:43,1
    - Dst: get_rsp_cert_chain_buff
      Src: /src/spdm-rs/fuzz-target/requester/challenge_req/src/main.rs:43,1
    - Dst: Self::send_receive_spdm_challenge
      Src: /src/spdm-rs/fuzz-target/requester/challenge_req/src/main.rs:45,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/requester/challenge_req/src/main.rs:49,1
    - Dst: SpdmChallengeContextStruct::default
      Src: /src/spdm-rs/fuzz-target/requester/challenge_req/src/main.rs:49,1
    - Dst: is_err
      Src: /src/spdm-rs/fuzz-target/requester/challenge_req/src/main.rs:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 74
    argCount: 1
    argNames:
    - fuzzdata
    argTypes:
    - Arc<Vec<u8>>
    constantsTouched: []
    func_position:
      end: 53
      start: 11
    functionDepth: 12
    functionLinenumber: 11
    functionLinenumberEnd: 53
    functionName: fuzz_send_receive_spdm_challenge
    functionSourceFile: /src/spdm-rs/fuzz-target/requester/challenge_req/src/main.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - get_rsp_cert_chain_buff
    - clone
    - requester::RequesterContext::new
    - reset_runtime_info
    - fake_device_io::FakeSpdmDeviceIo::new
    - Self::set_rx
    - req_create_info
    - spdmlib::secret::pqc_asym_sign::register
    - Self::send_receive_spdm_challenge
    - spdmlib::secret::asym_sign::register
    - spdmlib::crypto::rand::register
    - is_err
    - SpdmChallengeContextStruct::default
    - spdmlib::secret::measurement::register
    - Mutex::new
    - Some
    linkageType: ''
    returnType: void
    signature: 'async fn fuzz_send_receive_spdm_challenge(fuzzdata: Arc<Vec<u8>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:15,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:15,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:16,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:16,1
    - Dst: req_create_info
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:23,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:24,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:24,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:25,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:26,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:26,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:26,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:26,1
    - Dst: requester::RequesterContext::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:30,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:48,1
    - Dst: get_rsp_cert_chain_buff
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:48,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:58,1
    - Dst: setup
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:59,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:59,1
    - Dst: set_session_state
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:60,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:61,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:64,1
    - Dst: set_mut_auth_requested
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:68,1
    - Dst: Writer::init
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:73,1
    - Dst: Self::encap_handle_get_certificate
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:75,1
    - Dst: req_create_info
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:83,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:84,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:84,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:85,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:86,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:86,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:86,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:86,1
    - Dst: requester::RequesterContext::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:90,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:107,1
    - Dst: get_rsp_cert_chain_buff
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:107,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:117,1
    - Dst: setup
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:118,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:118,1
    - Dst: set_session_state
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:119,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:120,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:123,1
    - Dst: set_mut_auth_requested
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:127,1
    - Dst: Writer::init
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:132,1
    - Dst: Self::encap_handle_get_certificate
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:134,1
    - Dst: req_create_info
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:142,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:143,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:143,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:144,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:145,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:145,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:145,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:145,1
    - Dst: requester::RequesterContext::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:149,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:169,1
    - Dst: setup
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:170,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:170,1
    - Dst: set_session_state
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:171,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:172,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:175,1
    - Dst: set_mut_auth_requested
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:179,1
    - Dst: Writer::init
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:184,1
    - Dst: Self::encap_handle_get_certificate
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 269
    argCount: 1
    argNames:
    - fuzzdata
    argTypes:
    - Arc<Vec<u8>>
    constantsTouched: []
    func_position:
      end: 188
      start: 14
    functionDepth: 12
    functionLinenumber: 14
    functionLinenumberEnd: 188
    functionName: fuzz_encap_handle_get_certificate
    functionSourceFile: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - SpdmSession::new
    - unwrap
    - Writer::init
    - spdmlib::secret::asym_sign::register
    - SpdmKemAlgo::empty
    - set_session_state
    - Mutex::new
    - clone
    - FakeSpdmDeviceIoReceve::new
    - req_create_info
    - spdmlib::secret::pqc_asym_sign::register
    - setup
    - Some
    - get_rsp_cert_chain_buff
    - requester::RequesterContext::new
    - set_crypto_param
    - set_mut_auth_requested
    - Self::encap_handle_get_certificate
    linkageType: ''
    returnType: void
    signature: 'async fn fuzz_encap_handle_get_certificate(fuzzdata: Arc<Vec<u8>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/fuzz-target/requester/vendor_req/src/main.rs:16,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/vendor_req/src/main.rs:16,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/fuzz-target/requester/vendor_req/src/main.rs:17,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/vendor_req/src/main.rs:17,1
    - Dst: req_create_info
      Src: /src/spdm-rs/fuzz-target/requester/vendor_req/src/main.rs:19,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/requester/vendor_req/src/main.rs:21,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/vendor_req/src/main.rs:22,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/vendor_req/src/main.rs:22,1
    - Dst: fake_device_io::FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/fuzz-target/requester/vendor_req/src/main.rs:23,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/vendor_req/src/main.rs:23,1
    - Dst: Self::set_rx
      Src: /src/spdm-rs/fuzz-target/requester/vendor_req/src/main.rs:24,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/vendor_req/src/main.rs:25,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/vendor_req/src/main.rs:25,1
    - Dst: requester::RequesterContext::new
      Src: /src/spdm-rs/fuzz-target/requester/vendor_req/src/main.rs:27,1
    - Dst: Self::send_spdm_vendor_defined_request
      Src: /src/spdm-rs/fuzz-target/requester/vendor_req/src/main.rs:47,1
    - Dst: is_ok
      Src: /src/spdm-rs/fuzz-target/requester/vendor_req/src/main.rs:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 41
    argCount: 1
    argNames:
    - fuzzdata
    argTypes:
    - Arc<Vec<u8>>
    constantsTouched: []
    func_position:
      end: 51
      start: 15
    functionDepth: 12
    functionLinenumber: 15
    functionLinenumberEnd: 51
    functionName: fuzz_send_spdm_vendor_defined_request
    functionSourceFile: /src/spdm-rs/fuzz-target/requester/vendor_req/src/main.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - clone
    - requester::RequesterContext::new
    - Self::send_spdm_vendor_defined_request
    - fake_device_io::FakeSpdmDeviceIo::new
    - Self::set_rx
    - req_create_info
    - spdmlib::secret::pqc_asym_sign::register
    - spdmlib::secret::asym_sign::register
    - is_ok
    - Mutex::new
    linkageType: ''
    returnType: void
    signature: 'async fn fuzz_send_spdm_vendor_defined_request(fuzzdata: Arc<Vec<u8>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: req_create_info
      Src: /src/spdm-rs/fuzz-target/requester/capability_req/src/main.rs:11,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/requester/capability_req/src/main.rs:13,1
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/fuzz-target/requester/capability_req/src/main.rs:15,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/capability_req/src/main.rs:15,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/fuzz-target/requester/capability_req/src/main.rs:16,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/capability_req/src/main.rs:16,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/capability_req/src/main.rs:18,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/capability_req/src/main.rs:18,1
    - Dst: fake_device_io::FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/fuzz-target/requester/capability_req/src/main.rs:19,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/capability_req/src/main.rs:19,1
    - Dst: Self::set_rx
      Src: /src/spdm-rs/fuzz-target/requester/capability_req/src/main.rs:20,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/capability_req/src/main.rs:21,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/capability_req/src/main.rs:21,1
    - Dst: requester::RequesterContext::new
      Src: /src/spdm-rs/fuzz-target/requester/capability_req/src/main.rs:23,1
    - Dst: Self::send_receive_spdm_capability
      Src: /src/spdm-rs/fuzz-target/requester/capability_req/src/main.rs:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 1
    argNames:
    - fuzzdata
    argTypes:
    - Arc<Vec<u8>>
    constantsTouched: []
    func_position:
      end: 32
      start: 10
    functionDepth: 12
    functionLinenumber: 10
    functionLinenumberEnd: 32
    functionName: fuzz_send_receive_spdm_capability
    functionSourceFile: /src/spdm-rs/fuzz-target/requester/capability_req/src/main.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - clone
    - requester::RequesterContext::new
    - fake_device_io::FakeSpdmDeviceIo::new
    - Self::set_rx
    - req_create_info
    - spdmlib::secret::pqc_asym_sign::register
    - spdmlib::secret::asym_sign::register
    - Self::send_receive_spdm_capability
    - Mutex::new
    linkageType: ''
    returnType: void
    signature: 'async fn fuzz_send_receive_spdm_capability(fuzzdata: Arc<Vec<u8>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/fuzz-target/requester/heartbeat_req/src/main.rs:17,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/heartbeat_req/src/main.rs:17,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/fuzz-target/requester/heartbeat_req/src/main.rs:18,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/heartbeat_req/src/main.rs:18,1
    - Dst: spdmlib::crypto::aead::register
      Src: /src/spdm-rs/fuzz-target/requester/heartbeat_req/src/main.rs:19,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/heartbeat_req/src/main.rs:19,1
    - Dst: req_create_info
      Src: /src/spdm-rs/fuzz-target/requester/heartbeat_req/src/main.rs:21,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/requester/heartbeat_req/src/main.rs:23,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/heartbeat_req/src/main.rs:24,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/heartbeat_req/src/main.rs:24,1
    - Dst: fake_device_io::FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/fuzz-target/requester/heartbeat_req/src/main.rs:25,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/heartbeat_req/src/main.rs:25,1
    - Dst: Self::set_rx
      Src: /src/spdm-rs/fuzz-target/requester/heartbeat_req/src/main.rs:26,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/heartbeat_req/src/main.rs:27,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/heartbeat_req/src/main.rs:27,1
    - Dst: requester::RequesterContext::new
      Src: /src/spdm-rs/fuzz-target/requester/heartbeat_req/src/main.rs:29,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/fuzz-target/requester/heartbeat_req/src/main.rs:37,1
    - Dst: setup
      Src: /src/spdm-rs/fuzz-target/requester/heartbeat_req/src/main.rs:38,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/requester/heartbeat_req/src/main.rs:38,1
    - Dst: set_session_state
      Src: /src/spdm-rs/fuzz-target/requester/heartbeat_req/src/main.rs:39,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/fuzz-target/requester/heartbeat_req/src/main.rs:40,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/fuzz-target/requester/heartbeat_req/src/main.rs:43,1
    - Dst: Self::send_receive_spdm_heartbeat
      Src: /src/spdm-rs/fuzz-target/requester/heartbeat_req/src/main.rs:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 66
    argCount: 1
    argNames:
    - fuzzdata
    argTypes:
    - Arc<Vec<u8>>
    constantsTouched: []
    func_position:
      end: 49
      start: 16
    functionDepth: 12
    functionLinenumber: 16
    functionLinenumberEnd: 49
    functionName: fuzz_send_receive_spdm_heartbeat
    functionSourceFile: /src/spdm-rs/fuzz-target/requester/heartbeat_req/src/main.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - spdmlib::crypto::aead::register
    - SharedBuffer::new
    - Self::send_receive_spdm_heartbeat
    - clone
    - requester::RequesterContext::new
    - SpdmSession::new
    - unwrap
    - fake_device_io::FakeSpdmDeviceIo::new
    - set_crypto_param
    - Self::set_rx
    - req_create_info
    - spdmlib::secret::pqc_asym_sign::register
    - SpdmKemAlgo::empty
    - spdmlib::secret::asym_sign::register
    - set_session_state
    - Mutex::new
    - setup
    linkageType: ''
    returnType: void
    signature: 'async fn fuzz_send_receive_spdm_heartbeat(fuzzdata: Arc<Vec<u8>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: req_create_info
      Src: /src/spdm-rs/fuzz-target/requester/digest_req/src/main.rs:12,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/requester/digest_req/src/main.rs:14,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/digest_req/src/main.rs:16,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/digest_req/src/main.rs:16,1
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/fuzz-target/requester/digest_req/src/main.rs:18,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/digest_req/src/main.rs:18,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/fuzz-target/requester/digest_req/src/main.rs:19,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/digest_req/src/main.rs:19,1
    - Dst: fake_device_io::FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/fuzz-target/requester/digest_req/src/main.rs:21,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/digest_req/src/main.rs:21,1
    - Dst: Self::set_rx
      Src: /src/spdm-rs/fuzz-target/requester/digest_req/src/main.rs:22,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/digest_req/src/main.rs:23,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/digest_req/src/main.rs:23,1
    - Dst: requester::RequesterContext::new
      Src: /src/spdm-rs/fuzz-target/requester/digest_req/src/main.rs:25,1
    - Dst: Self::send_receive_spdm_digest
      Src: /src/spdm-rs/fuzz-target/requester/digest_req/src/main.rs:35,1
    - Dst: is_err
      Src: /src/spdm-rs/fuzz-target/requester/digest_req/src/main.rs:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 1
    argNames:
    - fuzzdata
    argTypes:
    - Arc<Vec<u8>>
    constantsTouched: []
    func_position:
      end: 36
      start: 11
    functionDepth: 12
    functionLinenumber: 11
    functionLinenumberEnd: 36
    functionName: fuzz_send_receive_spdm_digest
    functionSourceFile: /src/spdm-rs/fuzz-target/requester/digest_req/src/main.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - clone
    - requester::RequesterContext::new
    - Self::send_receive_spdm_digest
    - fake_device_io::FakeSpdmDeviceIo::new
    - Self::set_rx
    - req_create_info
    - spdmlib::secret::pqc_asym_sign::register
    - spdmlib::secret::asym_sign::register
    - is_err
    - Mutex::new
    linkageType: ''
    returnType: void
    signature: 'async fn fuzz_send_receive_spdm_digest(fuzzdata: Arc<Vec<u8>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: req_create_info
      Src: /src/spdm-rs/fuzz-target/requester/algorithm_req/src/main.rs:11,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/requester/algorithm_req/src/main.rs:13,1
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/fuzz-target/requester/algorithm_req/src/main.rs:15,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/algorithm_req/src/main.rs:15,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/fuzz-target/requester/algorithm_req/src/main.rs:16,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/algorithm_req/src/main.rs:16,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/algorithm_req/src/main.rs:18,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/algorithm_req/src/main.rs:18,1
    - Dst: fake_device_io::FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/fuzz-target/requester/algorithm_req/src/main.rs:19,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/algorithm_req/src/main.rs:19,1
    - Dst: Self::set_rx
      Src: /src/spdm-rs/fuzz-target/requester/algorithm_req/src/main.rs:20,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/algorithm_req/src/main.rs:21,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/algorithm_req/src/main.rs:21,1
    - Dst: requester::RequesterContext::new
      Src: /src/spdm-rs/fuzz-target/requester/algorithm_req/src/main.rs:23,1
    - Dst: Self::send_receive_spdm_algorithm
      Src: /src/spdm-rs/fuzz-target/requester/algorithm_req/src/main.rs:31,1
    - Dst: is_err
      Src: /src/spdm-rs/fuzz-target/requester/algorithm_req/src/main.rs:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 1
    argNames:
    - fuzzdata
    argTypes:
    - Arc<Vec<u8>>
    constantsTouched: []
    func_position:
      end: 32
      start: 10
    functionDepth: 12
    functionLinenumber: 10
    functionLinenumberEnd: 32
    functionName: fuzz_send_receive_spdm_algorithm
    functionSourceFile: /src/spdm-rs/fuzz-target/requester/algorithm_req/src/main.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - clone
    - requester::RequesterContext::new
    - fake_device_io::FakeSpdmDeviceIo::new
    - Self::set_rx
    - Self::send_receive_spdm_algorithm
    - req_create_info
    - spdmlib::secret::pqc_asym_sign::register
    - spdmlib::secret::asym_sign::register
    - is_err
    - Mutex::new
    linkageType: ''
    returnType: void
    signature: 'async fn fuzz_send_receive_spdm_algorithm(fuzzdata: Arc<Vec<u8>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:13,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:13,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:14,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:14,1
    - Dst: spdmlib::secret::measurement::register
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:15,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:15,1
    - Dst: spdmlib::crypto::asym_verify::register
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:16,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:16,1
    - Dst: spdmlib::crypto::pqc_asym_verify::register
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:17,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:17,1
    - Dst: spdmlib::crypto::hkdf::register
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:18,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:18,1
    - Dst: req_create_info
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:26,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:28,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:29,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:29,1
    - Dst: fake_device_io::FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:31,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:31,1
    - Dst: Self::set_rx
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:32,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:33,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:33,1
    - Dst: requester::RequesterContext::new
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:35,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:49,1
    - Dst: get_rsp_cert_chain_buff
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:49,1
    - Dst: reset_runtime_info
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:50,1
    - Dst: Self::send_receive_spdm_key_exchange
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:52,1
    - Dst: spdmlib::crypto::hmac::register
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:60,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:60,1
    - Dst: req_create_info
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:68,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:70,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:71,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:71,1
    - Dst: fake_device_io::FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:73,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:73,1
    - Dst: Self::set_rx
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:74,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:75,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:75,1
    - Dst: requester::RequesterContext::new
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:77,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:91,1
    - Dst: get_rsp_cert_chain_buff
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:91,1
    - Dst: reset_runtime_info
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:92,1
    - Dst: Self::send_receive_spdm_key_exchange
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:94,1
    - Dst: req_create_info
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:107,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:109,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:110,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:110,1
    - Dst: fake_device_io::FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:112,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:112,1
    - Dst: Self::set_rx
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:113,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:114,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:114,1
    - Dst: requester::RequesterContext::new
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:116,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:128,1
    - Dst: get_rsp_cert_chain_buff
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:128,1
    - Dst: reset_runtime_info
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:129,1
    - Dst: Self::send_receive_spdm_key_exchange
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:131,1
    - Dst: req_create_info
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:145,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:147,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:148,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:148,1
    - Dst: fake_device_io::FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:150,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:150,1
    - Dst: Self::set_rx
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:151,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:152,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:152,1
    - Dst: requester::RequesterContext::new
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:154,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:168,1
    - Dst: get_rsp_cert_chain_buff
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:168,1
    - Dst: reset_runtime_info
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:173,1
    - Dst: Self::send_receive_spdm_key_exchange
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:175,1
    - Dst: req_create_info
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:188,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:190,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:191,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:191,1
    - Dst: fake_device_io::FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:193,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:193,1
    - Dst: Self::set_rx
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:194,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:195,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:195,1
    - Dst: requester::RequesterContext::new
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:197,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:211,1
    - Dst: get_rsp_cert_chain_buff
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:211,1
    - Dst: reset_runtime_info
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:216,1
    - Dst: Self::send_receive_spdm_key_exchange
      Src: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs:218,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 345
    argCount: 1
    argNames:
    - fuzzdata
    argTypes:
    - Arc<Vec<u8>>
    constantsTouched: []
    func_position:
      end: 225
      start: 12
    functionDepth: 12
    functionLinenumber: 12
    functionLinenumberEnd: 225
    functionName: fuzz_send_receive_spdm_key_exchange
    functionSourceFile: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - spdmlib::crypto::asym_verify::register
    - spdmlib::secret::asym_sign::register
    - Mutex::new
    - clone
    - reset_runtime_info
    - spdmlib::crypto::hmac::register
    - Self::set_rx
    - req_create_info
    - spdmlib::secret::pqc_asym_sign::register
    - spdmlib::secret::measurement::register
    - Some
    - get_rsp_cert_chain_buff
    - requester::RequesterContext::new
    - fake_device_io::FakeSpdmDeviceIo::new
    - Self::send_receive_spdm_key_exchange
    - spdmlib::crypto::hkdf::register
    - spdmlib::crypto::pqc_asym_verify::register
    linkageType: ''
    returnType: void
    signature: 'async fn fuzz_send_receive_spdm_key_exchange(fuzzdata: Arc<Vec<u8>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:14,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:14,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:15,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:15,1
    - Dst: spdmlib::crypto::aead::register
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:16,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:16,1
    - Dst: req_create_info
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:23,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:24,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:25,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:25,1
    - Dst: fake_device_io::FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:27,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:27,1
    - Dst: Self::set_rx
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:28,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:29,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:29,1
    - Dst: requester::RequesterContext::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:31,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:49,1
    - Dst: setup
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:50,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:50,1
    - Dst: set_session_state
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:51,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:52,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:55,1
    - Dst: set_mut_auth_requested
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:59,1
    - Dst: Self::session_based_mutual_authenticate
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:62,1
    - Dst: is_ok
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:62,1
    - Dst: req_create_info
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:73,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:74,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:75,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:75,1
    - Dst: fake_device_io::FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:77,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:77,1
    - Dst: Self::set_rx
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:78,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:79,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:79,1
    - Dst: requester::RequesterContext::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:81,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:99,1
    - Dst: setup
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:100,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:100,1
    - Dst: set_session_state
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:101,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:102,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:105,1
    - Dst: set_mut_auth_requested
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:109,1
    - Dst: Self::session_based_mutual_authenticate
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:113,1
    - Dst: is_ok
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:113,1
    - Dst: req_create_info
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:124,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:125,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:126,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:126,1
    - Dst: fake_device_io::FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:128,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:128,1
    - Dst: Self::set_rx
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:129,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:130,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:130,1
    - Dst: requester::RequesterContext::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:132,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:150,1
    - Dst: setup
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:151,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:151,1
    - Dst: set_session_state
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:152,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:153,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:156,1
    - Dst: set_mut_auth_requested
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:160,1
    - Dst: Self::session_based_mutual_authenticate
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:164,1
    - Dst: is_ok
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:164,1
    - Dst: req_create_info
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:175,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:176,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:177,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:177,1
    - Dst: fake_device_io::FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:179,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:179,1
    - Dst: Self::set_rx
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:180,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:181,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:181,1
    - Dst: requester::RequesterContext::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:183,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:201,1
    - Dst: setup
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:202,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:202,1
    - Dst: set_session_state
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:203,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:204,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:207,1
    - Dst: Self::session_based_mutual_authenticate
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:212,1
    - Dst: is_ok
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs:212,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 334
    argCount: 1
    argNames:
    - fuzzdata
    argTypes:
    - Arc<Vec<u8>>
    constantsTouched: []
    func_position:
      end: 217
      start: 13
    functionDepth: 12
    functionLinenumber: 13
    functionLinenumberEnd: 217
    functionName: fuzz_session_based_mutual_authenticate
    functionSourceFile: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - SpdmSession::new
    - unwrap
    - spdmlib::secret::asym_sign::register
    - is_ok
    - SpdmKemAlgo::empty
    - set_session_state
    - Mutex::new
    - spdmlib::crypto::aead::register
    - clone
    - Self::set_rx
    - Self::session_based_mutual_authenticate
    - req_create_info
    - spdmlib::secret::pqc_asym_sign::register
    - setup
    - requester::RequesterContext::new
    - fake_device_io::FakeSpdmDeviceIo::new
    - set_crypto_param
    - set_mut_auth_requested
    linkageType: ''
    returnType: void
    signature: 'async fn fuzz_session_based_mutual_authenticate(fuzzdata: Arc<Vec<u8>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:18,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:18,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:19,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:19,1
    - Dst: spdmlib::crypto::aead::register
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:20,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:20,1
    - Dst: spdmlib::crypto::hmac::register
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:21,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:21,1
    - Dst: spdmlib::crypto::hkdf::register
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:22,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:22,1
    - Dst: req_create_info
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:30,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:32,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:33,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:33,1
    - Dst: fake_device_io::FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:35,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:35,1
    - Dst: Self::set_rx
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:36,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:37,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:37,1
    - Dst: requester::RequesterContext::new
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:39,1
    - Dst: reset_runtime_info
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:61,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:63,1
    - Dst: setup
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:64,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:64,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:65,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:68,1
    - Dst: SpdmSharedSecretFinalKeyStruct::default
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:75,1
    - Dst: get_key_size
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:76,1
    - Dst: set_shared_secret
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:77,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:77,1
    - Dst: spdmlib::crypto::hash::hash_ctx_init
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:81,1
    - Dst: set_session_state
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:84,1
    - Dst: Self::send_receive_spdm_finish
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:86,1
    - Dst: req_create_info
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:94,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:96,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:97,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:97,1
    - Dst: fake_device_io::FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:99,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:99,1
    - Dst: Self::set_rx
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:100,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:101,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:101,1
    - Dst: requester::RequesterContext::new
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:103,1
    - Dst: reset_runtime_info
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:125,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:127,1
    - Dst: setup
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:128,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:128,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:129,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:132,1
    - Dst: SpdmSharedSecretFinalKeyStruct::default
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:139,1
    - Dst: get_key_size
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:140,1
    - Dst: set_shared_secret
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:141,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:141,1
    - Dst: spdmlib::crypto::hash::hash_ctx_init
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:145,1
    - Dst: set_session_state
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:148,1
    - Dst: Self::send_receive_spdm_finish
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:150,1
    - Dst: req_create_info
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:158,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:160,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:161,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:161,1
    - Dst: fake_device_io::FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:163,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:163,1
    - Dst: Self::set_rx
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:164,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:165,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:165,1
    - Dst: requester::RequesterContext::new
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:167,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:188,1
    - Dst: get_rsp_cert_chain_buff
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:188,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:190,1
    - Dst: get_rsp_cert_chain_buff
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:190,1
    - Dst: reset_runtime_info
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:200,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:202,1
    - Dst: setup
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:203,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:203,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:204,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:207,1
    - Dst: SpdmSharedSecretFinalKeyStruct::default
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:214,1
    - Dst: get_key_size
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:215,1
    - Dst: set_shared_secret
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:216,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:216,1
    - Dst: spdmlib::crypto::hash::hash_ctx_init
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:220,1
    - Dst: set_session_state
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:223,1
    - Dst: set_mut_auth_requested
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:224,1
    - Dst: Self::send_receive_spdm_finish
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:228,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 430
    argCount: 1
    argNames:
    - fuzzdata
    argTypes:
    - Arc<Vec<u8>>
    constantsTouched: []
    func_position:
      end: 232
      start: 17
    functionDepth: 12
    functionLinenumber: 17
    functionLinenumberEnd: 232
    functionName: fuzz_send_receive_spdm_finish
    functionSourceFile: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - Self::send_receive_spdm_finish
    - SpdmSession::new
    - unwrap
    - spdmlib::secret::asym_sign::register
    - get_key_size
    - set_shared_secret
    - SpdmKemAlgo::empty
    - Mutex::new
    - set_session_state
    - spdmlib::crypto::aead::register
    - clone
    - reset_runtime_info
    - spdmlib::crypto::hmac::register
    - Self::set_rx
    - req_create_info
    - spdmlib::secret::pqc_asym_sign::register
    - setup
    - Some
    - get_rsp_cert_chain_buff
    - requester::RequesterContext::new
    - fake_device_io::FakeSpdmDeviceIo::new
    - set_crypto_param
    - set_mut_auth_requested
    - spdmlib::crypto::hkdf::register
    - spdmlib::crypto::hash::hash_ctx_init
    - SpdmSharedSecretFinalKeyStruct::default
    linkageType: ''
    returnType: void
    signature: 'async fn fuzz_send_receive_spdm_finish(fuzzdata: Arc<Vec<u8>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/fuzz-target/requester/psk_finish_req/src/main.rs:15,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/psk_finish_req/src/main.rs:15,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/fuzz-target/requester/psk_finish_req/src/main.rs:16,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/psk_finish_req/src/main.rs:16,1
    - Dst: spdmlib::secret::psk::register
      Src: /src/spdm-rs/fuzz-target/requester/psk_finish_req/src/main.rs:17,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/psk_finish_req/src/main.rs:17,1
    - Dst: spdmlib::crypto::aead::register
      Src: /src/spdm-rs/fuzz-target/requester/psk_finish_req/src/main.rs:18,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/psk_finish_req/src/main.rs:18,1
    - Dst: req_create_info
      Src: /src/spdm-rs/fuzz-target/requester/psk_finish_req/src/main.rs:20,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/requester/psk_finish_req/src/main.rs:22,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/psk_finish_req/src/main.rs:23,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/psk_finish_req/src/main.rs:23,1
    - Dst: fake_device_io::FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/fuzz-target/requester/psk_finish_req/src/main.rs:24,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/psk_finish_req/src/main.rs:24,1
    - Dst: Self::set_rx
      Src: /src/spdm-rs/fuzz-target/requester/psk_finish_req/src/main.rs:25,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/psk_finish_req/src/main.rs:26,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/psk_finish_req/src/main.rs:26,1
    - Dst: requester::RequesterContext::new
      Src: /src/spdm-rs/fuzz-target/requester/psk_finish_req/src/main.rs:28,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/fuzz-target/requester/psk_finish_req/src/main.rs:41,1
    - Dst: setup
      Src: /src/spdm-rs/fuzz-target/requester/psk_finish_req/src/main.rs:42,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/requester/psk_finish_req/src/main.rs:42,1
    - Dst: set_session_state
      Src: /src/spdm-rs/fuzz-target/requester/psk_finish_req/src/main.rs:43,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/fuzz-target/requester/psk_finish_req/src/main.rs:44,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/fuzz-target/requester/psk_finish_req/src/main.rs:47,1
    - Dst: set_use_psk
      Src: /src/spdm-rs/fuzz-target/requester/psk_finish_req/src/main.rs:51,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/requester/psk_finish_req/src/main.rs:52,1
    - Dst: SpdmPskHintStruct::default
      Src: /src/spdm-rs/fuzz-target/requester/psk_finish_req/src/main.rs:52,1
    - Dst: spdmlib::crypto::hash::hash_ctx_init
      Src: /src/spdm-rs/fuzz-target/requester/psk_finish_req/src/main.rs:57,1
    - Dst: Self::send_receive_spdm_psk_finish
      Src: /src/spdm-rs/fuzz-target/requester/psk_finish_req/src/main.rs:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 114
    argCount: 1
    argNames:
    - fuzzdata
    argTypes:
    - Arc<Vec<u8>>
    constantsTouched: []
    func_position:
      end: 61
      start: 14
    functionDepth: 12
    functionLinenumber: 14
    functionLinenumberEnd: 61
    functionName: fuzz_send_receive_spdm_psk_finish
    functionSourceFile: /src/spdm-rs/fuzz-target/requester/psk_finish_req/src/main.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - SpdmSession::new
    - unwrap
    - set_use_psk
    - spdmlib::secret::asym_sign::register
    - SpdmKemAlgo::empty
    - set_session_state
    - Mutex::new
    - spdmlib::crypto::aead::register
    - clone
    - Self::set_rx
    - req_create_info
    - spdmlib::secret::pqc_asym_sign::register
    - SpdmPskHintStruct::default
    - setup
    - Some
    - requester::RequesterContext::new
    - fake_device_io::FakeSpdmDeviceIo::new
    - set_crypto_param
    - spdmlib::secret::psk::register
    - Self::send_receive_spdm_psk_finish
    - spdmlib::crypto::hash::hash_ctx_init
    linkageType: ''
    returnType: void
    signature: 'async fn fuzz_send_receive_spdm_psk_finish(fuzzdata: Arc<Vec<u8>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzlib::req_create_info
      Src: /src/spdm-rs/fuzz-target/requester/version_req/src/main.rs:26,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/requester/version_req/src/main.rs:27,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/version_req/src/main.rs:29,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/version_req/src/main.rs:29,1
    - Dst: fake_device_io::FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/fuzz-target/requester/version_req/src/main.rs:31,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/version_req/src/main.rs:31,1
    - Dst: Self::set_rx
      Src: /src/spdm-rs/fuzz-target/requester/version_req/src/main.rs:32,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/version_req/src/main.rs:33,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/version_req/src/main.rs:33,1
    - Dst: RequesterContext::new
      Src: /src/spdm-rs/fuzz-target/requester/version_req/src/main.rs:35,1
    - Dst: Self::send_receive_spdm_version
      Src: /src/spdm-rs/fuzz-target/requester/version_req/src/main.rs:42,1
    - Dst: is_err
      Src: /src/spdm-rs/fuzz-target/requester/version_req/src/main.rs:42,1
    - Dst: fuzzlib::req_create_info
      Src: /src/spdm-rs/fuzz-target/requester/version_req/src/main.rs:50,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/requester/version_req/src/main.rs:52,1
    - Dst: SpdmVersion::default
      Src: /src/spdm-rs/fuzz-target/requester/version_req/src/main.rs:52,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/requester/version_req/src/main.rs:55,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/version_req/src/main.rs:57,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/version_req/src/main.rs:57,1
    - Dst: fake_device_io::FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/fuzz-target/requester/version_req/src/main.rs:59,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/version_req/src/main.rs:59,1
    - Dst: Self::set_rx
      Src: /src/spdm-rs/fuzz-target/requester/version_req/src/main.rs:60,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/version_req/src/main.rs:61,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/version_req/src/main.rs:61,1
    - Dst: RequesterContext::new
      Src: /src/spdm-rs/fuzz-target/requester/version_req/src/main.rs:63,1
    - Dst: Self::send_receive_spdm_version
      Src: /src/spdm-rs/fuzz-target/requester/version_req/src/main.rs:70,1
    - Dst: is_err
      Src: /src/spdm-rs/fuzz-target/requester/version_req/src/main.rs:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 49
    argCount: 1
    argNames:
    - fuzzdata
    argTypes:
    - Arc<Vec<u8>>
    constantsTouched: []
    func_position:
      end: 72
      start: 19
    functionDepth: 12
    functionLinenumber: 19
    functionLinenumberEnd: 72
    functionName: fuzz_send_receive_spdm_version
    functionSourceFile: /src/spdm-rs/fuzz-target/requester/version_req/src/main.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - RequesterContext::new
    - SpdmVersion::default
    - fake_device_io::FakeSpdmDeviceIo::new
    - Self::set_rx
    - Self::send_receive_spdm_version
    - is_err
    - fuzzlib::req_create_info
    - Mutex::new
    - Some
    linkageType: ''
    returnType: void
    signature: 'async fn fuzz_send_receive_spdm_version(fuzzdata: Arc<Vec<u8>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: req_create_info
      Src: /src/spdm-rs/fuzz-target/requester/key_update_req/src/main.rs:22,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/requester/key_update_req/src/main.rs:24,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/key_update_req/src/main.rs:26,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/key_update_req/src/main.rs:26,1
    - Dst: fake_device_io::FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/fuzz-target/requester/key_update_req/src/main.rs:28,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/key_update_req/src/main.rs:28,1
    - Dst: Self::set_rx
      Src: /src/spdm-rs/fuzz-target/requester/key_update_req/src/main.rs:29,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/key_update_req/src/main.rs:30,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/key_update_req/src/main.rs:30,1
    - Dst: requester::RequesterContext::new
      Src: /src/spdm-rs/fuzz-target/requester/key_update_req/src/main.rs:32,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/fuzz-target/requester/key_update_req/src/main.rs:40,1
    - Dst: setup
      Src: /src/spdm-rs/fuzz-target/requester/key_update_req/src/main.rs:41,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/requester/key_update_req/src/main.rs:41,1
    - Dst: set_session_state
      Src: /src/spdm-rs/fuzz-target/requester/key_update_req/src/main.rs:42,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/fuzz-target/requester/key_update_req/src/main.rs:43,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/fuzz-target/requester/key_update_req/src/main.rs:46,1
    - Dst: SpdmSharedSecretFinalKeyStruct::default
      Src: /src/spdm-rs/fuzz-target/requester/key_update_req/src/main.rs:51,1
    - Dst: get_key_size
      Src: /src/spdm-rs/fuzz-target/requester/key_update_req/src/main.rs:52,1
    - Dst: set_shared_secret
      Src: /src/spdm-rs/fuzz-target/requester/key_update_req/src/main.rs:53,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/requester/key_update_req/src/main.rs:53,1
    - Dst: SpdmDigestStruct::from
      Src: /src/spdm-rs/fuzz-target/requester/key_update_req/src/main.rs:57,1
    - Dst: Digest::as_ref
      Src: /src/spdm-rs/fuzz-target/requester/key_update_req/src/main.rs:57,1
    - Dst: generate_data_secret
      Src: /src/spdm-rs/fuzz-target/requester/key_update_req/src/main.rs:58,1
    - Dst: Self::send_receive_spdm_key_update
      Src: /src/spdm-rs/fuzz-target/requester/key_update_req/src/main.rs:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 78
    argCount: 2
    argNames:
    - fuzzdata
    - key_update_op
    argTypes:
    - '&[u8]'
    - SpdmKeyUpdateOperation
    constantsTouched: []
    func_position:
      end: 64
      start: 21
    functionDepth: 12
    functionLinenumber: 21
    functionLinenumberEnd: 64
    functionName: f::u::z::z::_::s::e::n::d::_::r::e::c::e::i::v::e::_::s::p::d::m::_::k::e::y::_::u::p::d::a::t::e::f
    functionSourceFile: /src/spdm-rs/fuzz-target/requester/key_update_req/src/main.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - SpdmSession::new
    - unwrap
    - set_shared_secret
    - get_key_size
    - SpdmKemAlgo::empty
    - set_session_state
    - Mutex::new
    - Self::set_rx
    - Self::send_receive_spdm_key_update
    - req_create_info
    - setup
    - generate_data_secret
    - requester::RequesterContext::new
    - fake_device_io::FakeSpdmDeviceIo::new
    - set_crypto_param
    - SpdmDigestStruct::from
    - SpdmSharedSecretFinalKeyStruct::default
    - Digest::as_ref
    linkageType: ''
    returnType: void
    signature: 'async fn f(fuzzdata: &[u8], key_update_op: SpdmKeyUpdateOperation)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/fuzz-target/requester/key_update_req/src/main.rs:16,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/key_update_req/src/main.rs:16,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/fuzz-target/requester/key_update_req/src/main.rs:17,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/key_update_req/src/main.rs:17,1
    - Dst: spdmlib::crypto::hkdf::register
      Src: /src/spdm-rs/fuzz-target/requester/key_update_req/src/main.rs:18,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/key_update_req/src/main.rs:18,1
    - Dst: spdmlib::crypto::aead::register
      Src: /src/spdm-rs/fuzz-target/requester/key_update_req/src/main.rs:19,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/key_update_req/src/main.rs:19,1
    - Dst: f
      Src: /src/spdm-rs/fuzz-target/requester/key_update_req/src/main.rs:66,1
    - Dst: f
      Src: /src/spdm-rs/fuzz-target/requester/key_update_req/src/main.rs:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 102
    argCount: 1
    argNames:
    - data
    argTypes:
    - Arc<Vec<u8>>
    constantsTouched: []
    func_position:
      end: 68
      start: 15
    functionDepth: 11
    functionLinenumber: 15
    functionLinenumberEnd: 68
    functionName: fuzz_send_receive_spdm_key_update
    functionSourceFile: /src/spdm-rs/fuzz-target/requester/key_update_req/src/main.rs
    functionUses: 0
    functionsReached:
    - spdmlib::crypto::aead::register
    - clone
    - spdmlib::crypto::hkdf::register
    - spdmlib::secret::pqc_asym_sign::register
    - spdmlib::secret::asym_sign::register
    - f
    linkageType: ''
    returnType: void
    signature: 'async fn fuzz_send_receive_spdm_key_update(data: Arc<Vec<u8>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spdmlib::crypto::aead::register
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:13,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:13,1
    - Dst: spdmlib::crypto::cert_operation::register
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:14,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:14,1
    - Dst: req_create_info
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:21,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:22,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:24,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:24,1
    - Dst: fake_device_io::FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:26,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:26,1
    - Dst: Self::set_rx
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:27,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:28,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:28,1
    - Dst: requester::RequesterContext::new
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:30,1
    - Dst: Self::send_receive_spdm_certificate
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:41,1
    - Dst: is_err
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:41,1
    - Dst: req_create_info
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:52,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:53,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:55,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:55,1
    - Dst: fake_device_io::FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:57,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:57,1
    - Dst: Self::set_rx
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:58,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:59,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:59,1
    - Dst: requester::RequesterContext::new
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:61,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:71,1
    - Dst: SpdmCertChainBuffer::default
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:71,1
    - Dst: SpdmCertChainData::default
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:74,1
    - Dst: Arc<Vec<u8>>::len
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:79,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:80,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:85,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:86,1
    - Dst: Self::send_receive_spdm_certificate
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:89,1
    - Dst: is_err
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:89,1
    - Dst: req_create_info
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:100,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:101,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:103,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:103,1
    - Dst: fake_device_io::FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:106,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:106,1
    - Dst: Self::set_rx
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:107,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:108,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:108,1
    - Dst: requester::RequesterContext::new
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:110,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:121,1
    - Dst: setup
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:122,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:122,1
    - Dst: set_session_state
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:123,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:124,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:127,1
    - Dst: Self::send_receive_spdm_certificate
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:132,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:133,1
    - Dst: is_err
      Src: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs:132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 181
    argCount: 1
    argNames:
    - fuzzdata
    argTypes:
    - Arc<Vec<u8>>
    constantsTouched: []
    func_position:
      end: 137
      start: 12
    functionDepth: 12
    functionLinenumber: 12
    functionLinenumberEnd: 137
    functionName: fuzz_send_receive_spdm_certificate
    functionSourceFile: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - SpdmSession::new
    - unwrap
    - gen_array_clone
    - set_session_state
    - Mutex::new
    - SpdmKemAlgo::empty
    - spdmlib::crypto::aead::register
    - clone
    - spdmlib::crypto::cert_operation::register
    - SpdmCertChainBuffer::default
    - Self::set_rx
    - req_create_info
    - SpdmCertChainData::default
    - is_err
    - Some
    - setup
    - requester::RequesterContext::new
    - fake_device_io::FakeSpdmDeviceIo::new
    - Arc<Vec<u8>>::len
    - set_crypto_param
    - Self::send_receive_spdm_certificate
    - copy_from_slice
    linkageType: ''
    returnType: void
    signature: 'async fn fuzz_send_receive_spdm_certificate(fuzzdata: Arc<Vec<u8>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/fuzz-target/requester/end_session_req/src/main.rs:15,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/end_session_req/src/main.rs:15,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/fuzz-target/requester/end_session_req/src/main.rs:16,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/end_session_req/src/main.rs:16,1
    - Dst: spdmlib::crypto::aead::register
      Src: /src/spdm-rs/fuzz-target/requester/end_session_req/src/main.rs:17,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/end_session_req/src/main.rs:17,1
    - Dst: req_create_info
      Src: /src/spdm-rs/fuzz-target/requester/end_session_req/src/main.rs:19,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/requester/end_session_req/src/main.rs:21,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/end_session_req/src/main.rs:22,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/end_session_req/src/main.rs:22,1
    - Dst: fake_device_io::FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/fuzz-target/requester/end_session_req/src/main.rs:23,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/end_session_req/src/main.rs:23,1
    - Dst: Self::set_rx
      Src: /src/spdm-rs/fuzz-target/requester/end_session_req/src/main.rs:24,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/end_session_req/src/main.rs:25,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/end_session_req/src/main.rs:25,1
    - Dst: requester::RequesterContext::new
      Src: /src/spdm-rs/fuzz-target/requester/end_session_req/src/main.rs:27,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/fuzz-target/requester/end_session_req/src/main.rs:35,1
    - Dst: setup
      Src: /src/spdm-rs/fuzz-target/requester/end_session_req/src/main.rs:36,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/requester/end_session_req/src/main.rs:36,1
    - Dst: set_session_state
      Src: /src/spdm-rs/fuzz-target/requester/end_session_req/src/main.rs:37,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/fuzz-target/requester/end_session_req/src/main.rs:38,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/fuzz-target/requester/end_session_req/src/main.rs:41,1
    - Dst: Self::send_receive_spdm_end_session
      Src: /src/spdm-rs/fuzz-target/requester/end_session_req/src/main.rs:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 66
    argCount: 1
    argNames:
    - fuzzdata
    argTypes:
    - Arc<Vec<u8>>
    constantsTouched: []
    func_position:
      end: 47
      start: 14
    functionDepth: 12
    functionLinenumber: 14
    functionLinenumberEnd: 47
    functionName: fuzz_send_receive_spdm_end_session
    functionSourceFile: /src/spdm-rs/fuzz-target/requester/end_session_req/src/main.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - spdmlib::crypto::aead::register
    - SharedBuffer::new
    - clone
    - requester::RequesterContext::new
    - SpdmSession::new
    - unwrap
    - fake_device_io::FakeSpdmDeviceIo::new
    - set_crypto_param
    - Self::set_rx
    - req_create_info
    - spdmlib::secret::pqc_asym_sign::register
    - SpdmKemAlgo::empty
    - spdmlib::secret::asym_sign::register
    - Self::send_receive_spdm_end_session
    - set_session_state
    - Mutex::new
    - setup
    linkageType: ''
    returnType: void
    signature: 'async fn fuzz_send_receive_spdm_end_session(fuzzdata: Arc<Vec<u8>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spdmlib::crypto::asym_verify::register
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:18,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:18,1
    - Dst: spdmlib::crypto::pqc_asym_verify::register
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:19,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:19,1
    - Dst: req_create_info
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:26,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:27,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:30,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:30,1
    - Dst: fake_device_io::FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:33,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:33,1
    - Dst: Self::set_rx
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:34,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:36,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:36,1
    - Dst: requester::RequesterContext::new
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:38,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:61,1
    - Dst: get_rsp_cert_chain_buff
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:61,1
    - Dst: reset_runtime_info
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:63,1
    - Dst: SpdmMeasurementRecordStructure::default
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:66,1
    - Dst: Self::send_receive_spdm_measurement
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:70,1
    - Dst: req_create_info
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:91,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:92,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:94,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:94,1
    - Dst: fake_device_io::FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:96,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:96,1
    - Dst: Self::set_rx
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:97,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:98,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:98,1
    - Dst: requester::RequesterContext::new
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:100,1
    - Dst: reset_runtime_info
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:123,1
    - Dst: SpdmMeasurementRecordStructure::default
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:126,1
    - Dst: Self::send_receive_spdm_measurement
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:130,1
    - Dst: req_create_info
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:151,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:153,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:155,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:155,1
    - Dst: fake_device_io::FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:157,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:157,1
    - Dst: Self::set_rx
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:158,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:159,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:159,1
    - Dst: requester::RequesterContext::new
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:161,1
    - Dst: reset_runtime_info
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:184,1
    - Dst: SpdmMeasurementRecordStructure::default
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:187,1
    - Dst: Self::send_receive_spdm_measurement
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:191,1
    - Dst: req_create_info
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:212,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:214,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:216,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:216,1
    - Dst: fake_device_io::FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:218,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:218,1
    - Dst: Self::set_rx
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:219,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:220,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:220,1
    - Dst: requester::RequesterContext::new
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:222,1
    - Dst: reset_runtime_info
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:245,1
    - Dst: SpdmMeasurementRecordStructure::default
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:248,1
    - Dst: Self::send_receive_spdm_measurement
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:252,1
    - Dst: SpdmMeasurementAttributes::empty
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:256,1
    - Dst: SpdmMeasurementOperation::Unknown
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:257,1
    - Dst: spdmlib::crypto::aead::register
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:272,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:272,1
    - Dst: req_create_info
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:274,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:276,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:278,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:278,1
    - Dst: fake_device_io::FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:280,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:280,1
    - Dst: Self::set_rx
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:281,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:282,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:282,1
    - Dst: requester::RequesterContext::new
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:284,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:312,1
    - Dst: setup
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:313,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:313,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:314,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:317,1
    - Dst: set_session_state
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:321,1
    - Dst: SpdmSharedSecretFinalKeyStruct::default
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:325,1
    - Dst: get_key_size
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:326,1
    - Dst: set_shared_secret
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:327,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:327,1
    - Dst: spdmlib::crypto::hash::hash_ctx_init
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:331,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:334,1
    - Dst: get_rsp_cert_chain_buff
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:334,1
    - Dst: reset_runtime_info
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:336,1
    - Dst: SpdmMeasurementRecordStructure::default
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:338,1
    - Dst: Self::send_receive_spdm_measurement
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:342,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs:344,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 456
    argCount: 1
    argNames:
    - fuzzdata
    argTypes:
    - Arc<Vec<u8>>
    constantsTouched: []
    func_position:
      end: 357
      start: 17
    functionDepth: 12
    functionLinenumber: 17
    functionLinenumberEnd: 357
    functionName: fuzz_send_receive_spdm_measurement
    functionSourceFile: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - spdmlib::crypto::asym_verify::register
    - SpdmSession::new
    - unwrap
    - get_key_size
    - set_shared_secret
    - SpdmKemAlgo::empty
    - Mutex::new
    - SpdmMeasurementRecordStructure::default
    - set_session_state
    - spdmlib::crypto::aead::register
    - clone
    - reset_runtime_info
    - Self::set_rx
    - req_create_info
    - SpdmMeasurementOperation::Unknown
    - SpdmMeasurementAttributes::empty
    - Some
    - get_rsp_cert_chain_buff
    - setup
    - requester::RequesterContext::new
    - Self::send_receive_spdm_measurement
    - fake_device_io::FakeSpdmDeviceIo::new
    - set_crypto_param
    - spdmlib::crypto::hash::hash_ctx_init
    - spdmlib::crypto::pqc_asym_verify::register
    - SpdmSharedSecretFinalKeyStruct::default
    linkageType: ''
    returnType: void
    signature: 'async fn fuzz_send_receive_spdm_measurement(fuzzdata: Arc<Vec<u8>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_digest_req/src/main.rs:15,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_digest_req/src/main.rs:15,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_digest_req/src/main.rs:16,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_digest_req/src/main.rs:16,1
    - Dst: spdmlib::crypto::aead::register
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_digest_req/src/main.rs:17,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_digest_req/src/main.rs:17,1
    - Dst: req_create_info
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_digest_req/src/main.rs:24,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_digest_req/src/main.rs:25,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_digest_req/src/main.rs:25,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_digest_req/src/main.rs:26,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_digest_req/src/main.rs:27,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_digest_req/src/main.rs:27,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_digest_req/src/main.rs:27,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_digest_req/src/main.rs:27,1
    - Dst: requester::RequesterContext::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_digest_req/src/main.rs:31,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_digest_req/src/main.rs:49,1
    - Dst: get_rsp_cert_chain_buff
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_digest_req/src/main.rs:49,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_digest_req/src/main.rs:59,1
    - Dst: setup
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_digest_req/src/main.rs:60,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_digest_req/src/main.rs:60,1
    - Dst: set_session_state
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_digest_req/src/main.rs:61,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_digest_req/src/main.rs:62,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_digest_req/src/main.rs:65,1
    - Dst: set_mut_auth_requested
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_digest_req/src/main.rs:69,1
    - Dst: Writer::init
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_digest_req/src/main.rs:74,1
    - Dst: Self::encap_handle_get_digest
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_digest_req/src/main.rs:76,1
    - Dst: req_create_info
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_digest_req/src/main.rs:84,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_digest_req/src/main.rs:85,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_digest_req/src/main.rs:85,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_digest_req/src/main.rs:86,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_digest_req/src/main.rs:87,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_digest_req/src/main.rs:87,1
    - Dst: FakeSpdmDeviceIoReceve::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_digest_req/src/main.rs:87,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_digest_req/src/main.rs:87,1
    - Dst: requester::RequesterContext::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_digest_req/src/main.rs:91,1
    - Dst: Some
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_digest_req/src/main.rs:108,1
    - Dst: get_rsp_cert_chain_buff
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_digest_req/src/main.rs:108,1
    - Dst: SpdmSession::new
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_digest_req/src/main.rs:118,1
    - Dst: setup
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_digest_req/src/main.rs:119,1
    - Dst: unwrap
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_digest_req/src/main.rs:119,1
    - Dst: set_session_state
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_digest_req/src/main.rs:120,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_digest_req/src/main.rs:121,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_digest_req/src/main.rs:124,1
    - Dst: set_mut_auth_requested
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_digest_req/src/main.rs:128,1
    - Dst: Writer::init
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_digest_req/src/main.rs:133,1
    - Dst: Self::encap_handle_get_digest
      Src: /src/spdm-rs/fuzz-target/requester/encapsulated_request_digest_req/src/main.rs:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 187
    argCount: 1
    argNames:
    - fuzzdata
    argTypes:
    - Arc<Vec<u8>>
    constantsTouched: []
    func_position:
      end: 137
      start: 14
    functionDepth: 12
    functionLinenumber: 14
    functionLinenumberEnd: 137
    functionName: fuzz_encap_handle_get_digest
    functionSourceFile: /src/spdm-rs/fuzz-target/requester/encapsulated_request_digest_req/src/main.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - SpdmSession::new
    - unwrap
    - Writer::init
    - spdmlib::secret::asym_sign::register
    - SpdmKemAlgo::empty
    - set_session_state
    - Mutex::new
    - spdmlib::crypto::aead::register
    - clone
    - FakeSpdmDeviceIoReceve::new
    - req_create_info
    - spdmlib::secret::pqc_asym_sign::register
    - setup
    - Some
    - get_rsp_cert_chain_buff
    - requester::RequesterContext::new
    - set_crypto_param
    - set_mut_auth_requested
    - Self::encap_handle_get_digest
    linkageType: ''
    returnType: void
    signature: 'async fn fuzz_encap_handle_get_digest(fuzzdata: Arc<Vec<u8>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spdmlib::secret::asym_sign::register
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:12,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:12,1
    - Dst: spdmlib::secret::pqc_asym_sign::register
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:13,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:13,1
    - Dst: spdmlib::secret::measurement::register
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:14,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:14,1
    - Dst: spdmlib::secret::psk::register
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:15,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:15,1
    - Dst: spdmlib::crypto::hkdf::register
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:16,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:16,1
    - Dst: req_create_info
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:24,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:25,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:26,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:26,1
    - Dst: fake_device_io::FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:28,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:28,1
    - Dst: Self::set_rx
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:29,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:30,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:30,1
    - Dst: requester::RequesterContext::new
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:32,1
    - Dst: Self::send_receive_spdm_psk_exchange
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:47,1
    - Dst: spdmlib::crypto::hmac::register
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:55,1
    - Dst: clone
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:55,1
    - Dst: req_create_info
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:63,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:64,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:65,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:65,1
    - Dst: fake_device_io::FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:67,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:67,1
    - Dst: Self::set_rx
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:68,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:69,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:69,1
    - Dst: requester::RequesterContext::new
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:71,1
    - Dst: Self::send_receive_spdm_psk_exchange
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:86,1
    - Dst: req_create_info
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:99,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:100,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:101,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:101,1
    - Dst: fake_device_io::FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:103,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:103,1
    - Dst: Self::set_rx
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:104,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:105,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:105,1
    - Dst: requester::RequesterContext::new
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:107,1
    - Dst: Self::send_receive_spdm_psk_exchange
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:122,1
    - Dst: req_create_info
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:135,1
    - Dst: SharedBuffer::new
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:136,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:138,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:138,1
    - Dst: fake_device_io::FakeSpdmDeviceIo::new
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:140,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:140,1
    - Dst: Self::set_rx
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:141,1
    - Dst: Arc::new
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:142,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:142,1
    - Dst: requester::RequesterContext::new
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:144,1
    - Dst: Self::send_receive_spdm_psk_exchange
      Src: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 207
    argCount: 1
    argNames:
    - fuzzdata
    argTypes:
    - Arc<Vec<u8>>
    constantsTouched: []
    func_position:
      end: 164
      start: 11
    functionDepth: 12
    functionLinenumber: 11
    functionLinenumberEnd: 164
    functionName: fuzz_send_receive_spdm_psk_exchange
    functionSourceFile: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - SharedBuffer::new
    - spdmlib::secret::psk::register
    - clone
    - requester::RequesterContext::new
    - spdmlib::crypto::hmac::register
    - spdmlib::crypto::hkdf::register
    - fake_device_io::FakeSpdmDeviceIo::new
    - Self::send_receive_spdm_psk_exchange
    - Self::set_rx
    - req_create_info
    - spdmlib::secret::pqc_asym_sign::register
    - spdmlib::secret::asym_sign::register
    - spdmlib::secret::measurement::register
    - Mutex::new
    linkageType: ''
    returnType: void
    signature: 'async fn fuzz_send_receive_spdm_psk_exchange(fuzzdata: Arc<Vec<u8>>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: MctpMessageType::default
    functionSourceFile: /src/spdm-rs/mctp_transport/src/header.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: MctpMessageType
    signature: fn default() -> MctpMessageType
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/mctp_transport/src/header.rs:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 3
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: MctpMessageHeader::encode
    functionSourceFile: /src/spdm-rs/mctp_transport/src/header.rs
    functionUses: 0
    functionsReached:
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MctpMessageType::read
      Src: /src/spdm-rs/mctp_transport/src/header.rs:53,1
    - Dst: Some
      Src: /src/spdm-rs/mctp_transport/src/header.rs:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 10
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: MctpMessageHeader::read
    functionSourceFile: /src/spdm-rs/mctp_transport/src/header.rs
    functionUses: 3
    functionsReached:
    - MctpMessageType::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<MctpMessageHeader>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Arc<&[u8]>::len
      Src: /src/spdm-rs/mctp_transport/src/header.rs:69,1
    - Dst: SpdmSupportedAlgorithmsBlock::lock
      Src: /src/spdm-rs/mctp_transport/src/header.rs:70,1
    - Dst: '&mut [u8]::deref_mut'
      Src: /src/spdm-rs/mctp_transport/src/header.rs:71,1
    - Dst: Writer::init
      Src: /src/spdm-rs/mctp_transport/src/header.rs:72,1
    - Dst: encode
      Src: /src/spdm-rs/mctp_transport/src/header.rs:80,1
    - Dst: map_err
      Src: /src/spdm-rs/mctp_transport/src/header.rs:80,1
    - Dst: Writer::used
      Src: /src/spdm-rs/mctp_transport/src/header.rs:83,1
    - Dst: '&mut [u8]::len'
      Src: /src/spdm-rs/mctp_transport/src/header.rs:84,1
    - Dst: Err
      Src: /src/spdm-rs/mctp_transport/src/header.rs:85,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/mctp_transport/src/header.rs:87,1
    - Dst: Ok
      Src: /src/spdm-rs/mctp_transport/src/header.rs:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 38
    argCount: 3
    argNames:
    - spdm_buffer
    - transport_buffer
    - secured_message
    argTypes:
    - Arc<&[u8]>
    - Arc<Mutex<&mut [u8]>>
    - bool
    constantsTouched: []
    func_position:
      end: 89
      start: 63
    functionDepth: 6
    functionLinenumber: 63
    functionLinenumberEnd: 89
    functionName: MctpTransportEncap::encap
    functionSourceFile: /src/spdm-rs/mctp_transport/src/header.rs
    functionUses: 0
    functionsReached:
    - SpdmSupportedAlgorithmsBlock::lock
    - encode
    - map_err
    - Writer::used
    - Err
    - '&mut [u8]::len'
    - Arc<&[u8]>::len
    - Writer::init
    - copy_from_slice
    - Ok
    - '&mut [u8]::deref_mut'
    linkageType: ''
    returnType: SpdmResult
    signature: 'async fn encap(&mut self,spdm_buffer: Arc<&[u8]>,transport_buffer:
      Arc<Mutex<&mut [u8]>>,secured_message: bool,) -> SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::deref'
      Src: /src/spdm-rs/mctp_transport/src/header.rs:96,1
    - Dst: Reader::init
      Src: /src/spdm-rs/mctp_transport/src/header.rs:97,1
    - Dst: MctpMessageHeader::read
      Src: /src/spdm-rs/mctp_transport/src/header.rs:99,1
    - Dst: Err
      Src: /src/spdm-rs/mctp_transport/src/header.rs:107,1
    - Dst: Err
      Src: /src/spdm-rs/mctp_transport/src/header.rs:109,1
    - Dst: Result::used
      Src: /src/spdm-rs/mctp_transport/src/header.rs:111,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/mctp_transport/src/header.rs:112,1
    - Dst: SpdmSupportedAlgorithmsBlock::lock
      Src: /src/spdm-rs/mctp_transport/src/header.rs:113,1
    - Dst: '&mut [u8]::deref_mut'
      Src: /src/spdm-rs/mctp_transport/src/header.rs:114,1
    - Dst: '&mut [u8]::len'
      Src: /src/spdm-rs/mctp_transport/src/header.rs:115,1
    - Dst: Err
      Src: /src/spdm-rs/mctp_transport/src/header.rs:116,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/mctp_transport/src/header.rs:119,1
    - Dst: Ok
      Src: /src/spdm-rs/mctp_transport/src/header.rs:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 44
    argCount: 2
    argNames:
    - transport_buffer
    - spdm_buffer
    argTypes:
    - Arc<&[u8]>
    - Arc<Mutex<&mut [u8]>>
    constantsTouched: []
    func_position:
      end: 121
      start: 91
    functionDepth: 11
    functionLinenumber: 91
    functionLinenumberEnd: 121
    functionName: MctpTransportEncap::decap
    functionSourceFile: /src/spdm-rs/mctp_transport/src/header.rs
    functionUses: 0
    functionsReached:
    - Result::used
    - '&[u8]::len'
    - SpdmSupportedAlgorithmsBlock::lock
    - Err
    - '&mut [u8]::len'
    - '&[u8]::deref'
    - MctpMessageHeader::read
    - copy_from_slice
    - Reader::init
    - Ok
    - '&mut [u8]::deref_mut'
    linkageType: ''
    returnType: SpdmResult
    signature: 'async fn decap(&mut self,transport_buffer: Arc<&[u8]>,spdm_buffer:
      Arc<Mutex<&mut [u8]>>,) -> SpdmResult<(usize, bool)>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Arc<&[u8]>::len
      Src: /src/spdm-rs/mctp_transport/src/header.rs:129,1
    - Dst: SpdmSupportedAlgorithmsBlock::lock
      Src: /src/spdm-rs/mctp_transport/src/header.rs:130,1
    - Dst: '&mut [u8]::deref_mut'
      Src: /src/spdm-rs/mctp_transport/src/header.rs:131,1
    - Dst: Writer::init
      Src: /src/spdm-rs/mctp_transport/src/header.rs:132,1
    - Dst: encode
      Src: /src/spdm-rs/mctp_transport/src/header.rs:142,1
    - Dst: map_err
      Src: /src/spdm-rs/mctp_transport/src/header.rs:142,1
    - Dst: Writer::used
      Src: /src/spdm-rs/mctp_transport/src/header.rs:145,1
    - Dst: '&mut [u8]::len'
      Src: /src/spdm-rs/mctp_transport/src/header.rs:146,1
    - Dst: Err
      Src: /src/spdm-rs/mctp_transport/src/header.rs:147,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/mctp_transport/src/header.rs:149,1
    - Dst: Ok
      Src: /src/spdm-rs/mctp_transport/src/header.rs:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    argCount: 3
    argNames:
    - spdm_buffer
    - app_buffer
    - is_app_message
    argTypes:
    - Arc<&[u8]>
    - Arc<Mutex<&mut [u8]>>
    - bool
    constantsTouched: []
    func_position:
      end: 151
      start: 123
    functionDepth: 6
    functionLinenumber: 123
    functionLinenumberEnd: 151
    functionName: MctpTransportEncap::encap_app
    functionSourceFile: /src/spdm-rs/mctp_transport/src/header.rs
    functionUses: 0
    functionsReached:
    - SpdmSupportedAlgorithmsBlock::lock
    - encode
    - map_err
    - Writer::used
    - Err
    - '&mut [u8]::len'
    - Arc<&[u8]>::len
    - Writer::init
    - copy_from_slice
    - Ok
    - '&mut [u8]::deref_mut'
    linkageType: ''
    returnType: SpdmResult
    signature: 'async fn encap_app(&mut self,spdm_buffer: Arc<&[u8]>,app_buffer: Arc<Mutex<&mut
      [u8]>>,is_app_message: bool,) -> SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::init
      Src: /src/spdm-rs/mctp_transport/src/header.rs:158,1
    - Dst: MctpMessageHeader::read
      Src: /src/spdm-rs/mctp_transport/src/header.rs:160,1
    - Dst: Err
      Src: /src/spdm-rs/mctp_transport/src/header.rs:166,1
    - Dst: Err
      Src: /src/spdm-rs/mctp_transport/src/header.rs:168,1
    - Dst: Result::used
      Src: /src/spdm-rs/mctp_transport/src/header.rs:170,1
    - Dst: Arc<&[u8]>::len
      Src: /src/spdm-rs/mctp_transport/src/header.rs:171,1
    - Dst: SpdmSupportedAlgorithmsBlock::lock
      Src: /src/spdm-rs/mctp_transport/src/header.rs:172,1
    - Dst: '&mut [u8]::deref_mut'
      Src: /src/spdm-rs/mctp_transport/src/header.rs:173,1
    - Dst: '&mut [u8]::len'
      Src: /src/spdm-rs/mctp_transport/src/header.rs:174,1
    - Dst: Err
      Src: /src/spdm-rs/mctp_transport/src/header.rs:175,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/mctp_transport/src/header.rs:178,1
    - Dst: Ok
      Src: /src/spdm-rs/mctp_transport/src/header.rs:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 41
    argCount: 2
    argNames:
    - app_buffer
    - spdm_buffer
    argTypes:
    - Arc<&[u8]>
    - Arc<Mutex<&mut [u8]>>
    constantsTouched: []
    func_position:
      end: 180
      start: 153
    functionDepth: 11
    functionLinenumber: 153
    functionLinenumberEnd: 180
    functionName: MctpTransportEncap::decap_app
    functionSourceFile: /src/spdm-rs/mctp_transport/src/header.rs
    functionUses: 0
    functionsReached:
    - Result::used
    - SpdmSupportedAlgorithmsBlock::lock
    - Err
    - '&mut [u8]::len'
    - Arc<&[u8]>::len
    - MctpMessageHeader::read
    - copy_from_slice
    - Reader::init
    - Ok
    - '&mut [u8]::deref_mut'
    linkageType: ''
    returnType: SpdmResult
    signature: 'async fn decap_app(&mut self,app_buffer: Arc<&[u8]>,spdm_buffer: Arc<Mutex<&mut
      [u8]>>,) -> SpdmResult<(usize, bool)>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: MctpTransportEncap::get_sequence_number_count
    functionSourceFile: /src/spdm-rs/mctp_transport/src/header.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: fn get_sequence_number_count(&mut self) -> u8
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: MctpTransportEncap::get_max_random_count
    functionSourceFile: /src/spdm-rs/mctp_transport/src/header.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u16
    signature: fn get_max_random_count(&mut self) -> u16
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/mctp_transport/src/header.rs:199,1
    - Dst: Reader::init
      Src: /src/spdm-rs/mctp_transport/src/header.rs:204,1
    - Dst: MctpMessageHeader::read
      Src: /src/spdm-rs/mctp_transport/src/header.rs:206,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/mctp_transport/src/header.rs:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 197
    functionDepth: 11
    functionLinenumber: 197
    functionLinenumberEnd: 212
    functionName: tests::test_case0_mctpmessageheader
    functionSourceFile: /src/spdm-rs/mctp_transport/src/header.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Reader::init
    - MctpMessageHeader::read
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn test_case0_mctpmessageheader()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: executor::block_on
      Src: /src/spdm-rs/mctp_transport/src/header.rs:220,1
    - Dst: encap
      Src: /src/spdm-rs/mctp_transport/src/header.rs:220,1
    - Dst: T::is_ok
      Src: /src/spdm-rs/mctp_transport/src/header.rs:220,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/mctp_transport/src/header.rs:234,1
    - Dst: encap
      Src: /src/spdm-rs/mctp_transport/src/header.rs:234,1
    - Dst: T::is_ok
      Src: /src/spdm-rs/mctp_transport/src/header.rs:234,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/mctp_transport/src/header.rs:248,1
    - Dst: encap
      Src: /src/spdm-rs/mctp_transport/src/header.rs:248,1
    - Dst: T::is_ok
      Src: /src/spdm-rs/mctp_transport/src/header.rs:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 214
    functionDepth: 7
    functionLinenumber: 214
    functionLinenumberEnd: 256
    functionName: tests::test_case0_encap
    functionSourceFile: /src/spdm-rs/mctp_transport/src/header.rs
    functionUses: 0
    functionsReached:
    - encap
    - T::is_ok
    - executor::block_on
    linkageType: ''
    returnType: void
    signature: fn test_case0_encap()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: executor::block_on
      Src: /src/spdm-rs/mctp_transport/src/header.rs:266,1
    - Dst: decap
      Src: /src/spdm-rs/mctp_transport/src/header.rs:266,1
    - Dst: T::is_err
      Src: /src/spdm-rs/mctp_transport/src/header.rs:266,1
    - Dst: Writer::init
      Src: /src/spdm-rs/mctp_transport/src/header.rs:270,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/mctp_transport/src/header.rs:277,1
    - Dst: decap
      Src: /src/spdm-rs/mctp_transport/src/header.rs:277,1
    - Dst: T::is_ok
      Src: /src/spdm-rs/mctp_transport/src/header.rs:277,1
    - Dst: Writer::init
      Src: /src/spdm-rs/mctp_transport/src/header.rs:282,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/mctp_transport/src/header.rs:289,1
    - Dst: decap
      Src: /src/spdm-rs/mctp_transport/src/header.rs:289,1
    - Dst: T::is_ok
      Src: /src/spdm-rs/mctp_transport/src/header.rs:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 292
      start: 258
    functionDepth: 7
    functionLinenumber: 258
    functionLinenumberEnd: 292
    functionName: tests::test_case0_decap
    functionSourceFile: /src/spdm-rs/mctp_transport/src/header.rs
    functionUses: 0
    functionsReached:
    - T::is_ok
    - executor::block_on
    - decap
    - Writer::init
    - T::is_err
    linkageType: ''
    returnType: void
    signature: fn test_case0_decap()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: executor::block_on
      Src: /src/spdm-rs/mctp_transport/src/header.rs:299,1
    - Dst: encap_app
      Src: /src/spdm-rs/mctp_transport/src/header.rs:299,1
    - Dst: T::is_ok
      Src: /src/spdm-rs/mctp_transport/src/header.rs:299,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/mctp_transport/src/header.rs:309,1
    - Dst: encap_app
      Src: /src/spdm-rs/mctp_transport/src/header.rs:309,1
    - Dst: T::is_err
      Src: /src/spdm-rs/mctp_transport/src/header.rs:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 316
      start: 294
    functionDepth: 7
    functionLinenumber: 294
    functionLinenumberEnd: 316
    functionName: tests::test_case0_encap_app
    functionSourceFile: /src/spdm-rs/mctp_transport/src/header.rs
    functionUses: 0
    functionsReached:
    - T::is_err
    - T::is_ok
    - encap_app
    - executor::block_on
    linkageType: ''
    returnType: void
    signature: fn test_case0_encap_app()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: executor::block_on
      Src: /src/spdm-rs/mctp_transport/src/header.rs:326,1
    - Dst: decap_app
      Src: /src/spdm-rs/mctp_transport/src/header.rs:326,1
    - Dst: T::is_err
      Src: /src/spdm-rs/mctp_transport/src/header.rs:326,1
    - Dst: Writer::init
      Src: /src/spdm-rs/mctp_transport/src/header.rs:330,1
    - Dst: executor::block_on
      Src: /src/spdm-rs/mctp_transport/src/header.rs:337,1
    - Dst: decap_app
      Src: /src/spdm-rs/mctp_transport/src/header.rs:337,1
    - Dst: T::is_ok
      Src: /src/spdm-rs/mctp_transport/src/header.rs:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 340
      start: 318
    functionDepth: 7
    functionLinenumber: 318
    functionLinenumberEnd: 340
    functionName: tests::test_case0_decap_app
    functionSourceFile: /src/spdm-rs/mctp_transport/src/header.rs
    functionUses: 0
    functionsReached:
    - T::is_ok
    - executor::block_on
    - decap_app
    - Writer::init
    - T::is_err
    linkageType: ''
    returnType: void
    signature: fn test_case0_decap_app()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 345
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 345
    functionName: tests::test_case0_get_sequence_number_count
    functionSourceFile: /src/spdm-rs/mctp_transport/src/header.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_case0_get_sequence_number_count()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 350
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 350
    functionName: tests::test_case0_get_max_random_count
    functionSourceFile: /src/spdm-rs/mctp_transport/src/header.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_case0_get_max_random_count()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_lock
      Src: /src/spdm-rs/executor/src/executor.rs:38,1
    - Dst: poll_tasks
      Src: /src/spdm-rs/executor/src/executor.rs:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames: []
    argTypes:
    - '&Arc<Self>'
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 7
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: Task::wake_by_ref
    functionSourceFile: /src/spdm-rs/executor/src/executor.rs
    functionUses: 0
    functionsReached:
    - poll_tasks
    - try_lock
    linkageType: ''
    returnType: void
    signature: 'fn wake_by_ref(_: &Arc<Self>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/spdm-rs/executor/src/executor.rs:47,1
    - Dst: '{

        alloc::

        },

        spin::Mutex,

        woke::waker_ref'
      Src: /src/spdm-rs/executor/src/executor.rs:49,1
    - Dst: Context::from_waker
      Src: /src/spdm-rs/executor/src/executor.rs:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 6
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: Arc::is_pending
    functionSourceFile: /src/spdm-rs/executor/src/executor.rs
    functionUses: 0
    functionsReached:
    - '{

      alloc::

      },

      spin::Mutex,

      woke::waker_ref'
    - lock
    - Context::from_waker
    linkageType: ''
    returnType: bool
    signature: fn is_pending(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Arc::new
      Src: /src/spdm-rs/executor/src/executor.rs:62,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/executor/src/executor.rs:63,1
    - Dst: lock
      Src: /src/spdm-rs/executor/src/executor.rs:66,1
    - Dst: '{

        alloc::

        },

        spin::Mutex,

        woke::waker_ref'
      Src: /src/spdm-rs/executor/src/executor.rs:67,1
    - Dst: Context::from_waker
      Src: /src/spdm-rs/executor/src/executor.rs:68,1
    - Dst: Pin<Box<dyn Future<Output = T> + 'static + Send>>::as_mut
      Src: /src/spdm-rs/executor/src/executor.rs:69,1
    - Dst: '&mut [u8]::poll'
      Src: /src/spdm-rs/executor/src/executor.rs:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - future
    argTypes:
    - Pin<Box<dyn Future<Output = T> + 'static + Send>>
    constantsTouched: []
    func_position:
      end: 70
      start: 58
    functionDepth: 6
    functionLinenumber: 58
    functionLinenumberEnd: 70
    functionName: Executor::run
    functionSourceFile: /src/spdm-rs/executor/src/executor.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - Mutex::new
    - '{

      alloc::

      },

      spin::Mutex,

      woke::waker_ref'
    - '&mut [u8]::poll'
    - Pin<Box<dyn Future<Output = T> + 'static + Send>>::as_mut
    - lock
    - Context::from_waker
    linkageType: ''
    returnType: Poll
    signature: 'pub fn run<T>(&mut self, future: Pin<Box<dyn Future<Output = T> +
      ''static + Send>>) -> Poll<T>whereT: Send + ''static,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Arc::new
      Src: /src/spdm-rs/executor/src/executor.rs:77,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/executor/src/executor.rs:78,1
    - Dst: lock
      Src: /src/spdm-rs/executor/src/executor.rs:81,1
    - Dst: '{

        alloc::

        },

        spin::Mutex,

        woke::waker_ref'
      Src: /src/spdm-rs/executor/src/executor.rs:82,1
    - Dst: Context::from_waker
      Src: /src/spdm-rs/executor/src/executor.rs:83,1
    - Dst: Pin<Box<dyn Future<Output = T> + 'static + Send>>::as_mut
      Src: /src/spdm-rs/executor/src/executor.rs:85,1
    - Dst: '&mut [u8]::poll'
      Src: /src/spdm-rs/executor/src/executor.rs:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - future
    argTypes:
    - Pin<Box<dyn Future<Output = T> + 'static + Send>>
    constantsTouched: []
    func_position:
      end: 90
      start: 73
    functionDepth: 6
    functionLinenumber: 73
    functionLinenumberEnd: 90
    functionName: Executor::block_on
    functionSourceFile: /src/spdm-rs/executor/src/executor.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - Mutex::new
    - '{

      alloc::

      },

      spin::Mutex,

      woke::waker_ref'
    - '&mut [u8]::poll'
    - Pin<Box<dyn Future<Output = T> + 'static + Send>>::as_mut
    - lock
    - Context::from_waker
    linkageType: ''
    returnType: T
    signature: 'pub fn block_on<T>(&mut self, future: Pin<Box<dyn Future<Output =
      T> + ''static + Send>>) -> TwhereT: Send + ''static,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Arc::new
      Src: /src/spdm-rs/executor/src/executor.rs:98,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/executor/src/executor.rs:99,1
    - Dst: is_none
      Src: /src/spdm-rs/executor/src/executor.rs:101,1
    - Dst: Some
      Src: /src/spdm-rs/executor/src/executor.rs:102,1
    - Dst: TasksList::new
      Src: /src/spdm-rs/executor/src/executor.rs:102,1
    - Dst: as_mut
      Src: /src/spdm-rs/executor/src/executor.rs:104,1
    - Dst: expect
      Src: /src/spdm-rs/executor/src/executor.rs:104,1
    - Dst: bool::push_back
      Src: /src/spdm-rs/executor/src/executor.rs:105,1
    - Dst: Box::new
      Src: /src/spdm-rs/executor/src/executor.rs:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - future
    argTypes:
    - Pin<Box<dyn Future<Output = T> + 'static + Send>>
    constantsTouched: []
    func_position:
      end: 106
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 106
    functionName: Executor::add_task
    functionSourceFile: /src/spdm-rs/executor/src/executor.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - as_mut
    - bool::push_back
    - Box::new
    - TasksList::new
    - is_none
    - expect
    - Mutex::new
    - Some
    linkageType: ''
    returnType: void
    signature: 'pub fn add_task<T>(&mut self, future: Pin<Box<dyn Future<Output =
      T> + ''static + Send>>)whereT: Send + ''static,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_none
      Src: /src/spdm-rs/executor/src/executor.rs:111,1
    - Dst: Some
      Src: /src/spdm-rs/executor/src/executor.rs:112,1
    - Dst: TasksList::new
      Src: /src/spdm-rs/executor/src/executor.rs:112,1
    - Dst: as_mut
      Src: /src/spdm-rs/executor/src/executor.rs:114,1
    - Dst: expect
      Src: /src/spdm-rs/executor/src/executor.rs:114,1
    - Dst: bool::len
      Src: /src/spdm-rs/executor/src/executor.rs:115,1
    - Dst: bool::pop_front
      Src: /src/spdm-rs/executor/src/executor.rs:116,1
    - Dst: unwrap
      Src: /src/spdm-rs/executor/src/executor.rs:116,1
    - Dst: is_pending
      Src: /src/spdm-rs/executor/src/executor.rs:117,1
    - Dst: bool::push_back
      Src: /src/spdm-rs/executor/src/executor.rs:118,1
    - Dst: bool::front
      Src: /src/spdm-rs/executor/src/executor.rs:122,1
    - Dst: is_some
      Src: /src/spdm-rs/executor/src/executor.rs:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 110
    functionDepth: 5
    functionLinenumber: 110
    functionLinenumberEnd: 123
    functionName: Executor::poll_tasks
    functionSourceFile: /src/spdm-rs/executor/src/executor.rs
    functionUses: 0
    functionsReached:
    - bool::front
    - as_mut
    - unwrap
    - bool::push_back
    - is_some
    - bool::pop_front
    - TasksList::new
    - is_pending
    - is_none
    - bool::len
    - expect
    - Some
    linkageType: ''
    returnType: bool
    signature: pub fn poll_tasks(&mut self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: W32::len
      Src: /src/spdm-rs/executor/src/executor.rs:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: Executor::active_tasks_count
    functionSourceFile: /src/spdm-rs/executor/src/executor.rs
    functionUses: 0
    functionsReached:
    - W32::len
    linkageType: ''
    returnType: usize
    signature: pub fn active_tasks_count(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lines
      Src: /src/spdm-rs/external/ring/src/testutil.rs:321,1
    - Dst: String::from
      Src: /src/spdm-rs/external/ring/src/testutil.rs:323,1
    - Dst: parse_test_case
      Src: /src/spdm-rs/external/ring/src/testutil.rs:326,1
    - Dst: f
      Src: /src/spdm-rs/external/ring/src/testutil.rs:327,1
    - Dst: iter
      Src: /src/spdm-rs/external/ring/src/testutil.rs:329,1
    - Dst: any
      Src: /src/spdm-rs/external/ring/src/testutil.rs:329,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/testutil.rs:334,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/testutil.rs:337,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/testutil.rs:340,1
    - Dst: is_err
      Src: /src/spdm-rs/external/ring/src/testutil.rs:343,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 45
    argCount: 2
    argNames:
    - test_file
    - f
    argTypes:
    - File
    - F
    constantsTouched: []
    func_position:
      end: 361
      start: 317
    functionDepth: 11
    functionLinenumber: 317
    functionLinenumberEnd: 361
    functionName: run
    functionSourceFile: /src/spdm-rs/external/ring/src/testutil.rs
    functionUses: 86
    functionsReached:
    - lines
    - parse_test_case
    - iter
    - Err
    - is_err
    - any
    - String::from
    - f
    - Ok
    linkageType: ''
    returnType: void
    signature: 'pub fn run<F>(test_file: File, mut f: F)whereF: FnMut(&str, &mut TestCase)
      -> Result<(), error::Unspecified>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/spdm-rs/executor/src/lib.rs:36,1
    - Dst: add_task
      Src: /src/spdm-rs/executor/src/lib.rs:36,1
    - Dst: Box::pin
      Src: /src/spdm-rs/executor/src/lib.rs:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - future
    argTypes:
    - impl Future<Output = T> + 'static + Send
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 6
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: add_task
    functionSourceFile: /src/spdm-rs/executor/src/lib.rs
    functionUses: 4
    functionsReached:
    - add_task
    - lock
    - Box::pin
    linkageType: ''
    returnType: void
    signature: 'pub fn add_task<T>(future: impl Future<Output = T> + ''static + Send)whereT:
      Send + ''static,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/spdm-rs/executor/src/lib.rs:41,1
    - Dst: poll_tasks
      Src: /src/spdm-rs/executor/src/lib.rs:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 6
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: poll_tasks
    functionSourceFile: /src/spdm-rs/executor/src/lib.rs
    functionUses: 5
    functionsReached:
    - poll_tasks
    - lock
    linkageType: ''
    returnType: bool
    signature: pub fn poll_tasks() -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/spdm-rs/executor/src/lib.rs:45,1
    - Dst: active_tasks_count
      Src: /src/spdm-rs/executor/src/lib.rs:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 6
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: active_tasks_count
    functionSourceFile: /src/spdm-rs/executor/src/lib.rs
    functionUses: 1
    functionsReached:
    - lock
    - active_tasks_count
    linkageType: ''
    returnType: usize
    signature: pub fn active_tasks_count() -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_update_in_progress_flag
      Src: /src/spdm-rs/sys_time/src/rtc.rs:53,1
    - Dst: read_date_time
      Src: /src/spdm-rs/sys_time/src/rtc.rs:54,1
    - Dst: get_update_in_progress_flag
      Src: /src/spdm-rs/sys_time/src/rtc.rs:57,1
    - Dst: read_date_time
      Src: /src/spdm-rs/sys_time/src/rtc.rs:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 46
    functionDepth: 4
    functionLinenumber: 46
    functionLinenumberEnd: 67
    functionName: read_rtc
    functionSourceFile: /src/spdm-rs/sys_time/src/rtc.rs
    functionUses: 1
    functionsReached:
    - read_date_time
    - get_update_in_progress_flag
    linkageType: ''
    returnType: DateTime
    signature: pub fn read_rtc() -> DateTime
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - bcd
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: bcd_to_binary
    functionSourceFile: /src/spdm-rs/sys_time/src/rtc.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: 'const fn bcd_to_binary(bcd: u8) -> u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_cmos_register
      Src: /src/spdm-rs/sys_time/src/rtc.rs:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: is_24_hour_format
    functionSourceFile: /src/spdm-rs/sys_time/src/rtc.rs
    functionUses: 1
    functionsReached:
    - read_cmos_register
    linkageType: ''
    returnType: bool
    signature: fn is_24_hour_format() -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_cmos_register
      Src: /src/spdm-rs/sys_time/src/rtc.rs:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: is_binary_mode
    functionSourceFile: /src/spdm-rs/sys_time/src/rtc.rs
    functionUses: 2
    functionsReached:
    - read_cmos_register
    linkageType: ''
    returnType: bool
    signature: fn is_binary_mode() -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::write_to_port
      Src: /src/spdm-rs/sys_time/src/rtc.rs:86,1
    - Dst: u8::read_from_port
      Src: /src/spdm-rs/sys_time/src/rtc.rs:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - reg
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: read_cmos_register
    functionSourceFile: /src/spdm-rs/sys_time/src/rtc.rs
    functionUses: 5
    functionsReached:
    - u8::write_to_port
    - u8::read_from_port
    linkageType: ''
    returnType: u8
    signature: 'fn read_cmos_register(reg: u8) -> u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_cmos_register
      Src: /src/spdm-rs/sys_time/src/rtc.rs:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: get_update_in_progress_flag
    functionSourceFile: /src/spdm-rs/sys_time/src/rtc.rs
    functionUses: 1
    functionsReached:
    - read_cmos_register
    linkageType: ''
    returnType: u8
    signature: fn get_update_in_progress_flag() -> u8
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_cmos_register
      Src: /src/spdm-rs/sys_time/src/rtc.rs:96,1
    - Dst: is_binary_mode
      Src: /src/spdm-rs/sys_time/src/rtc.rs:98,1
    - Dst: bcd_to_binary
      Src: /src/spdm-rs/sys_time/src/rtc.rs:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - register
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 103
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 103
    functionName: read_datetime_register
    functionSourceFile: /src/spdm-rs/sys_time/src/rtc.rs
    functionUses: 1
    functionsReached:
    - bcd_to_binary
    - is_binary_mode
    - read_cmos_register
    linkageType: ''
    returnType: u8
    signature: 'fn read_datetime_register(register: u8) -> u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_cmos_register
      Src: /src/spdm-rs/sys_time/src/rtc.rs:106,1
    - Dst: is_binary_mode
      Src: /src/spdm-rs/sys_time/src/rtc.rs:107,1
    - Dst: is_24_hour_format
      Src: /src/spdm-rs/sys_time/src/rtc.rs:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 119
    functionName: read_hour_register
    functionSourceFile: /src/spdm-rs/sys_time/src/rtc.rs
    functionUses: 1
    functionsReached:
    - is_24_hour_format
    - is_binary_mode
    - read_cmos_register
    linkageType: ''
    returnType: u8
    signature: fn read_hour_register() -> u8
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_datetime_register
      Src: /src/spdm-rs/sys_time/src/rtc.rs:122,1
    - Dst: read_datetime_register
      Src: /src/spdm-rs/sys_time/src/rtc.rs:123,1
    - Dst: read_datetime_register
      Src: /src/spdm-rs/sys_time/src/rtc.rs:124,1
    - Dst: read_datetime_register
      Src: /src/spdm-rs/sys_time/src/rtc.rs:125,1
    - Dst: read_datetime_register
      Src: /src/spdm-rs/sys_time/src/rtc.rs:126,1
    - Dst: read_hour_register
      Src: /src/spdm-rs/sys_time/src/rtc.rs:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 137
    functionName: read_date_time
    functionSourceFile: /src/spdm-rs/sys_time/src/rtc.rs
    functionUses: 1
    functionsReached:
    - read_hour_register
    - read_datetime_register
    linkageType: ''
    returnType: DateTime
    signature: fn read_date_time() -> DateTime
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rtc::read_rtc
      Src: /src/spdm-rs/sys_time/src/lib.rs:16,1
    - Dst: PrimitiveDateTime::new
      Src: /src/spdm-rs/sys_time/src/lib.rs:18,1
    - Dst: Date::from_calendar_date
      Src: /src/spdm-rs/sys_time/src/lib.rs:19,1
    - Dst: Month::try_from
      Src: /src/spdm-rs/sys_time/src/lib.rs:21,1
    - Dst: Result::ok
      Src: /src/spdm-rs/sys_time/src/lib.rs:21,1
    - Dst: ok
      Src: /src/spdm-rs/sys_time/src/lib.rs:19,1
    - Dst: Time::from_hms
      Src: /src/spdm-rs/sys_time/src/lib.rs:25,1
    - Dst: ok
      Src: /src/spdm-rs/sys_time/src/lib.rs:25,1
    - Dst: Some
      Src: /src/spdm-rs/sys_time/src/lib.rs:27,1
    - Dst: DateTime::assume_utc
      Src: /src/spdm-rs/sys_time/src/lib.rs:27,1
    - Dst: unix_timestamp
      Src: /src/spdm-rs/sys_time/src/lib.rs:27,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 15
    functionDepth: 9
    functionLinenumber: 15
    functionLinenumberEnd: 28
    functionName: get_sys_time
    functionSourceFile: /src/spdm-rs/sys_time/src/lib.rs
    functionUses: 0
    functionsReached:
    - ok
    - rtc::read_rtc
    - Result::ok
    - Month::try_from
    - PrimitiveDateTime::new
    - DateTime::assume_utc
    - unix_timestamp
    - Date::from_calendar_date
    - Time::from_hms
    - Some
    linkageType: ''
    returnType: Option
    signature: pub fn get_sys_time() -> Option<i64>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PciDoeVendorId::Unknown
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: PciDoeVendorId::default
    functionSourceFile: /src/spdm-rs/pcidoe_transport/src/header.rs
    functionUses: 0
    functionsReached:
    - PciDoeVendorId::Unknown
    linkageType: ''
    returnType: PciDoeVendorId
    signature: fn default() -> PciDoeVendorId
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PciDoeDataObjectType::Unknown
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: PciDoeDataObjectType::default
    functionSourceFile: /src/spdm-rs/pcidoe_transport/src/header.rs
    functionUses: 0
    functionsReached:
    - PciDoeDataObjectType::Unknown
    linkageType: ''
    returnType: PciDoeDataObjectType
    signature: fn default() -> PciDoeDataObjectType
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:57,1
    - Dst: encode
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:58,1
    - Dst: encode
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:59,1
    - Dst: encode
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:71,1
    - Dst: Ok
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:72,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 73
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 73
    functionName: PciDoeMessageHeader::encode
    functionSourceFile: /src/spdm-rs/pcidoe_transport/src/header.rs
    functionUses: 0
    functionsReached:
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PciDoeVendorId::read
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:76,1
    - Dst: PciDoeDataObjectType::read
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:77,1
    - Dst: u8::read
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:78,1
    - Dst: u32::read
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:79,1
    - Dst: checked_sub
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:88,1
    - Dst: Some
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:89,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 95
      start: 75
    functionDepth: 10
    functionLinenumber: 75
    functionLinenumberEnd: 95
    functionName: PciDoeMessageHeader::read
    functionSourceFile: /src/spdm-rs/pcidoe_transport/src/header.rs
    functionUses: 6
    functionsReached:
    - PciDoeDataObjectType::read
    - u32::read
    - u8::read
    - checked_sub
    - PciDoeVendorId::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<PciDoeMessageHeader>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Arc<&[u8]>::len
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:109,1
    - Dst: usize::div_ceil
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:110,1
    - Dst: SpdmSupportedAlgorithmsBlock::lock
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:111,1
    - Dst: '&mut [u8]::deref_mut'
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:112,1
    - Dst: Writer::init
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:113,1
    - Dst: encode
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:124,1
    - Dst: map_err
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:124,1
    - Dst: Writer::used
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:127,1
    - Dst: '&mut [u8]::len'
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:128,1
    - Dst: Err
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:129,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:131,1
    - Dst: Ok
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 42
    argCount: 3
    argNames:
    - spdm_buffer
    - transport_buffer
    - secured_message
    argTypes:
    - Arc<&[u8]>
    - Arc<Mutex<&mut [u8]>>
    - bool
    constantsTouched: []
    func_position:
      end: 133
      start: 103
    functionDepth: 6
    functionLinenumber: 103
    functionLinenumberEnd: 133
    functionName: PciDoeTransportEncap::encap
    functionSourceFile: /src/spdm-rs/pcidoe_transport/src/header.rs
    functionUses: 0
    functionsReached:
    - usize::div_ceil
    - SpdmSupportedAlgorithmsBlock::lock
    - encode
    - map_err
    - Writer::used
    - Err
    - '&mut [u8]::len'
    - Arc<&[u8]>::len
    - Writer::init
    - copy_from_slice
    - Ok
    - '&mut [u8]::deref_mut'
    linkageType: ''
    returnType: SpdmResult
    signature: 'async fn encap(&mut self,spdm_buffer: Arc<&[u8]>,transport_buffer:
      Arc<Mutex<&mut [u8]>>,secured_message: bool,) -> SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::init
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:140,1
    - Dst: PciDoeMessageHeader::read
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:142,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:142,1
    - Dst: Err
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:145,1
    - Dst: Err
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:150,1
    - Dst: Result::used
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:152,1
    - Dst: Arc<&[u8]>::len
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:154,1
    - Dst: Err
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:155,1
    - Dst: SpdmSupportedAlgorithmsBlock::lock
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:157,1
    - Dst: '&mut [u8]::deref_mut'
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:158,1
    - Dst: '&mut [u8]::len'
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:159,1
    - Dst: Err
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:160,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:163,1
    - Dst: Ok
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:164,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 53
    argCount: 2
    argNames:
    - transport_buffer
    - spdm_buffer
    argTypes:
    - Arc<&[u8]>
    - Arc<Mutex<&mut [u8]>>
    constantsTouched: []
    func_position:
      end: 165
      start: 135
    functionDepth: 11
    functionLinenumber: 135
    functionLinenumberEnd: 165
    functionName: PciDoeTransportEncap::decap
    functionSourceFile: /src/spdm-rs/pcidoe_transport/src/header.rs
    functionUses: 0
    functionsReached:
    - Result::used
    - PciDoeMessageHeader::read
    - SpdmSupportedAlgorithmsBlock::lock
    - Err
    - Option::ok_or
    - '&mut [u8]::len'
    - Arc<&[u8]>::len
    - copy_from_slice
    - Reader::init
    - Ok
    - '&mut [u8]::deref_mut'
    linkageType: ''
    returnType: SpdmResult
    signature: 'async fn decap(&mut self,transport_buffer: Arc<&[u8]>,spdm_buffer:
      Arc<Mutex<&mut [u8]>>,) -> SpdmResult<(usize, bool)>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmSupportedAlgorithmsBlock::lock
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:173,1
    - Dst: '&mut [u8]::deref_mut'
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:174,1
    - Dst: Arc<&[u8]>::len
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:175,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:175,1
    - Dst: Ok
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:176,1
    - Dst: Arc<&[u8]>::len
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 3
    argNames:
    - spdm_buffer
    - app_buffer
    - _is_app_message
    argTypes:
    - Arc<&[u8]>
    - Arc<Mutex<&mut [u8]>>
    - bool
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 6
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: PciDoeTransportEncap::encap_app
    functionSourceFile: /src/spdm-rs/pcidoe_transport/src/header.rs
    functionUses: 0
    functionsReached:
    - SpdmSupportedAlgorithmsBlock::lock
    - Arc<&[u8]>::len
    - copy_from_slice
    - Ok
    - '&mut [u8]::deref_mut'
    linkageType: ''
    returnType: SpdmResult
    signature: 'async fn encap_app(&mut self,spdm_buffer: Arc<&[u8]>,app_buffer: Arc<Mutex<&mut
      [u8]>>,_is_app_message: bool,) -> SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmSupportedAlgorithmsBlock::lock
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:184,1
    - Dst: '&mut [u8]::deref_mut'
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:185,1
    - Dst: Arc<&[u8]>::len
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:186,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:186,1
    - Dst: Ok
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:187,1
    - Dst: Arc<&[u8]>::len
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - app_buffer
    - spdm_buffer
    argTypes:
    - Arc<&[u8]>
    - Arc<Mutex<&mut [u8]>>
    constantsTouched: []
    func_position:
      end: 188
      start: 179
    functionDepth: 6
    functionLinenumber: 179
    functionLinenumberEnd: 188
    functionName: PciDoeTransportEncap::decap_app
    functionSourceFile: /src/spdm-rs/pcidoe_transport/src/header.rs
    functionUses: 0
    functionsReached:
    - SpdmSupportedAlgorithmsBlock::lock
    - Arc<&[u8]>::len
    - copy_from_slice
    - Ok
    - '&mut [u8]::deref_mut'
    linkageType: ''
    returnType: SpdmResult
    signature: 'async fn decap_app(&mut self,app_buffer: Arc<&[u8]>,spdm_buffer: Arc<Mutex<&mut
      [u8]>>,) -> SpdmResult<(usize, bool)>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: PciDoeTransportEncap::get_sequence_number_count
    functionSourceFile: /src/spdm-rs/pcidoe_transport/src/header.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: fn get_sequence_number_count(&mut self) -> u8
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: PciDoeTransportEncap::get_max_random_count
    functionSourceFile: /src/spdm-rs/pcidoe_transport/src/header.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u16
    signature: fn get_max_random_count(&mut self) -> u16
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:205,1
    - Dst: Reader::init
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:213,1
    - Dst: PciDoeMessageHeader::read
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:215,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 203
    functionDepth: 11
    functionLinenumber: 203
    functionLinenumberEnd: 226
    functionName: tests_header::test_case0_pcidoemessageheader
    functionSourceFile: /src/spdm-rs/pcidoe_transport/src/header.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Reader::init
    - PciDoeMessageHeader::read
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn test_case0_pcidoemessageheader()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:230,1
    - Dst: Reader::init
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:238,1
    - Dst: PciDoeMessageHeader::read
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:239,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 241
      start: 228
    functionDepth: 11
    functionLinenumber: 228
    functionLinenumberEnd: 241
    functionName: tests_header::test_case1_pcidoemessageheader
    functionSourceFile: /src/spdm-rs/pcidoe_transport/src/header.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Reader::init
    - PciDoeMessageHeader::read
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn test_case1_pcidoemessageheader()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:245,1
    - Dst: Reader::init
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:253,1
    - Dst: PciDoeMessageHeader::read
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:254,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 257
      start: 243
    functionDepth: 11
    functionLinenumber: 243
    functionLinenumberEnd: 257
    functionName: tests_header::test_case2_pcidoemessageheader
    functionSourceFile: /src/spdm-rs/pcidoe_transport/src/header.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Reader::init
    - PciDoeMessageHeader::read
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn test_case2_pcidoemessageheader()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:261,1
    - Dst: Reader::init
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:272,1
    - Dst: PciDoeMessageHeader::read
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 259
    functionDepth: 11
    functionLinenumber: 259
    functionLinenumberEnd: 277
    functionName: tests_header::test_case3_pcidoemessageheader
    functionSourceFile: /src/spdm-rs/pcidoe_transport/src/header.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Reader::init
    - PciDoeMessageHeader::read
    linkageType: ''
    returnType: void
    signature: fn test_case3_pcidoemessageheader()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 290
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 290
    functionName: tests_header::test_case4_pcidoemessageheader
    functionSourceFile: /src/spdm-rs/pcidoe_transport/src/header.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    linkageType: ''
    returnType: void
    signature: fn test_case4_pcidoemessageheader()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/pcidoe_transport/src/header.rs:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: tests_header::test_case5_pcidoemessageheader
    functionSourceFile: /src/spdm-rs/pcidoe_transport/src/header.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    linkageType: ''
    returnType: void
    signature: fn test_case5_pcidoemessageheader()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 72
    functionName: SpdmConfig::validate_content
    functionSourceFile: /src/spdm-rs/spdmlib/build.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn validate_content(&self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 199
    functionName: TEMPLATE
    functionSourceFile: /src/spdm-rs/spdmlib/build.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:25,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:26,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/error.rs:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 29
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 29
    functionName: StatusSeverity::try_from
    functionSourceFile: /src/spdm-rs/spdmlib/src/error.rs
    functionUses: 1
    functionsReached:
    - Err
    - Ok
    linkageType: ''
    returnType: core::result::Result
    signature: 'fn try_from(value: u8) -> core::result::Result<Self, Self::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:66,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:67,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:68,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:69,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:70,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:71,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:72,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:73,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:74,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:75,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:76,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:77,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:78,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:79,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:80,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:81,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:82,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:83,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:84,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/error.rs:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - value
    argTypes:
    - u16
    constantsTouched: []
    func_position:
      end: 87
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 87
    functionName: StatusCodeCore::try_from
    functionSourceFile: /src/spdm-rs/spdmlib/src/error.rs
    functionUses: 1
    functionsReached:
    - Err
    - Ok
    linkageType: ''
    returnType: core::result::Result
    signature: 'fn try_from(value: u16) -> core::result::Result<Self, Self::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:108,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:109,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:110,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:111,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:112,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/error.rs:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - value
    argTypes:
    - u16
    constantsTouched: []
    func_position:
      end: 115
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 115
    functionName: StatusCodeCrypto::try_from
    functionSourceFile: /src/spdm-rs/spdmlib/src/error.rs
    functionUses: 1
    functionsReached:
    - Err
    - Ok
    linkageType: ''
    returnType: core::result::Result
    signature: 'fn try_from(value: u16) -> core::result::Result<Self, Self::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:132,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/error.rs:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - u16
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: StatusCodeCertParse::try_from
    functionSourceFile: /src/spdm-rs/spdmlib/src/error.rs
    functionUses: 1
    functionsReached:
    - Err
    - Ok
    linkageType: ''
    returnType: core::result::Result
    signature: 'fn try_from(value: u16) -> core::result::Result<Self, Self::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:159,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:160,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:161,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:162,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:163,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:164,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/error.rs:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - value
    argTypes:
    - u16
    constantsTouched: []
    func_position:
      end: 167
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 167
    functionName: StatusCodeTransport::try_from
    functionSourceFile: /src/spdm-rs/spdmlib/src/error.rs
    functionUses: 1
    functionsReached:
    - Err
    - Ok
    linkageType: ''
    returnType: core::result::Result
    signature: 'fn try_from(value: u16) -> core::result::Result<Self, Self::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:185,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:186,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/error.rs:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - u16
    constantsTouched: []
    func_position:
      end: 189
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 189
    functionName: StatusCodeMeasCollect::try_from
    functionSourceFile: /src/spdm-rs/spdmlib/src/error.rs
    functionUses: 1
    functionsReached:
    - Err
    - Ok
    linkageType: ''
    returnType: core::result::Result
    signature: 'fn try_from(value: u16) -> core::result::Result<Self, Self::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:206,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/error.rs:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - u16
    constantsTouched: []
    func_position:
      end: 209
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 209
    functionName: StatusCodeRNG::try_from
    functionSourceFile: /src/spdm-rs/spdmlib/src/error.rs
    functionUses: 1
    functionsReached:
    - Err
    - Ok
    linkageType: ''
    returnType: core::result::Result
    signature: 'fn try_from(value: u16) -> core::result::Result<Self, Self::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - u16
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: StatusCodeVdmError::try_from
    functionSourceFile: /src/spdm-rs/spdmlib/src/error.rs
    functionUses: 1
    functionsReached:
    - Ok
    linkageType: ''
    returnType: core::result::Result
    signature: 'fn try_from(value: u16) -> core::result::Result<Self, Self::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::CORE
      Src: /src/spdm-rs/spdmlib/src/error.rs:245,1
    - Dst: StatusCodeCore::default
      Src: /src/spdm-rs/spdmlib/src/error.rs:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 246
    functionName: StatusCode::default
    functionSourceFile: /src/spdm-rs/spdmlib/src/error.rs
    functionUses: 0
    functionsReached:
    - Self::CORE
    - StatusCodeCore::default
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::get
      Src: /src/spdm-rs/spdmlib/src/error.rs:253,1
    - Dst: u8::get
      Src: /src/spdm-rs/spdmlib/src/error.rs:254,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:256,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:257,1
    - Dst: StatusCode::CORE
      Src: /src/spdm-rs/spdmlib/src/error.rs:257,1
    - Dst: StatusCodeCore::try_from
      Src: /src/spdm-rs/spdmlib/src/error.rs:257,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:258,1
    - Dst: StatusCode::CRYPTO
      Src: /src/spdm-rs/spdmlib/src/error.rs:258,1
    - Dst: StatusCodeCrypto::try_from
      Src: /src/spdm-rs/spdmlib/src/error.rs:258,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:259,1
    - Dst: StatusCode::CERT_PARSE
      Src: /src/spdm-rs/spdmlib/src/error.rs:259,1
    - Dst: StatusCodeCertParse::try_from
      Src: /src/spdm-rs/spdmlib/src/error.rs:259,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:260,1
    - Dst: StatusCode::TRANSPORT
      Src: /src/spdm-rs/spdmlib/src/error.rs:260,1
    - Dst: StatusCodeTransport::try_from
      Src: /src/spdm-rs/spdmlib/src/error.rs:260,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:261,1
    - Dst: StatusCode::MEAS_COLLECT
      Src: /src/spdm-rs/spdmlib/src/error.rs:261,1
    - Dst: StatusCodeMeasCollect::try_from
      Src: /src/spdm-rs/spdmlib/src/error.rs:261,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:264,1
    - Dst: StatusCode::RNG
      Src: /src/spdm-rs/spdmlib/src/error.rs:264,1
    - Dst: StatusCodeRNG::try_from
      Src: /src/spdm-rs/spdmlib/src/error.rs:264,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:265,1
    - Dst: StatusCode::VDM
      Src: /src/spdm-rs/spdmlib/src/error.rs:265,1
    - Dst: StatusCodeVdmError::try_from
      Src: /src/spdm-rs/spdmlib/src/error.rs:265,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/error.rs:266,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 45
    argCount: 1
    argNames:
    - value
    argTypes:
    - u24
    constantsTouched: []
    func_position:
      end: 268
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 268
    functionName: StatusCode::try_from
    functionSourceFile: /src/spdm-rs/spdmlib/src/error.rs
    functionUses: 1
    functionsReached:
    - StatusCodeCertParse::try_from
    - StatusCode::CORE
    - StatusCode::RNG
    - StatusCodeCore::try_from
    - StatusCodeVdmError::try_from
    - StatusCodeMeasCollect::try_from
    - StatusCode::MEAS_COLLECT
    - StatusCode::TRANSPORT
    - Err
    - StatusCodeTransport::try_from
    - StatusCode::VDM
    - StatusCode::CERT_PARSE
    - StatusCode::CRYPTO
    - StatusCodeRNG::try_from
    - u8::get
    - Ok
    - StatusCodeCrypto::try_from
    linkageType: ''
    returnType: core::result::Result
    signature: 'fn try_from(value: u24) -> core::result::Result<Self, Self::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:276,1
    - Dst: u24::new
      Src: /src/spdm-rs/spdmlib/src/error.rs:276,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:277,1
    - Dst: u24::new
      Src: /src/spdm-rs/spdmlib/src/error.rs:277,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:278,1
    - Dst: u24::new
      Src: /src/spdm-rs/spdmlib/src/error.rs:278,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:279,1
    - Dst: u24::new
      Src: /src/spdm-rs/spdmlib/src/error.rs:279,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:280,1
    - Dst: u24::new
      Src: /src/spdm-rs/spdmlib/src/error.rs:280,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:281,1
    - Dst: u24::new
      Src: /src/spdm-rs/spdmlib/src/error.rs:281,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:282,1
    - Dst: u24::new
      Src: /src/spdm-rs/spdmlib/src/error.rs:282,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:283,1
    - Dst: u24::new
      Src: /src/spdm-rs/spdmlib/src/error.rs:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 285
      start: 274
    functionDepth: 3
    functionLinenumber: 274
    functionLinenumberEnd: 285
    functionName: StatusCode::try_into
    functionSourceFile: /src/spdm-rs/spdmlib/src/error.rs
    functionUses: 0
    functionsReached:
    - Ok
    - u24::new
    linkageType: ''
    returnType: Result
    signature: fn try_into(self) -> Result<u24, Self::Error>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Default::default
      Src: /src/spdm-rs/spdmlib/src/error.rs:302,1
    - Dst: Default::default
      Src: /src/spdm-rs/spdmlib/src/error.rs:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 305
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 305
    functionName: SpdmErrorMessageData::default
    functionSourceFile: /src/spdm-rs/spdmlib/src/error.rs
    functionUses: 0
    functionsReached:
    - Default::default
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - other
    argTypes:
    - '&Self'
    constantsTouched: []
    func_position:
      end: 320
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 320
    functionName: SpdmStatus::eq
    functionSourceFile: /src/spdm-rs/spdmlib/src/error.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'fn eq(&self, other: &Self) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: <StatusCode as TryInto<u24>>::try_into
      Src: /src/spdm-rs/spdmlib/src/error.rs:327,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/error.rs:327,1
    - Dst: get
      Src: /src/spdm-rs/spdmlib/src/error.rs:327,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/error.rs:330,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 332
      start: 324
    functionDepth: 4
    functionLinenumber: 324
    functionLinenumberEnd: 332
    functionName: SpdmStatus::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/error.rs
    functionUses: 1
    functionsReached:
    - <StatusCode as TryInto<u24>>::try_into
    - Result::map_err
    - get
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/error.rs:335,1
    - Dst: StatusSeverity::try_from
      Src: /src/spdm-rs/spdmlib/src/error.rs:337,1
    - Dst: core::result::Result::ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:337,1
    - Dst: u24::new
      Src: /src/spdm-rs/spdmlib/src/error.rs:341,1
    - Dst: StatusCode::try_from
      Src: /src/spdm-rs/spdmlib/src/error.rs:342,1
    - Dst: core::result::Result::ok
      Src: /src/spdm-rs/spdmlib/src/error.rs:342,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/error.rs:344,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 349
      start: 334
    functionDepth: 9
    functionLinenumber: 334
    functionLinenumberEnd: 349
    functionName: SpdmStatus::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/error.rs
    functionUses: 0
    functionsReached:
    - StatusCode::try_from
    - core::result::Result::ok
    - Some
    - u32::read
    - StatusSeverity::try_from
    - u24::new
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmStatus::encode
      Src: /src/spdm-rs/spdmlib/src/error.rs:356,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/error.rs:356,1
    - Dst: u32::from_le_bytes
      Src: /src/spdm-rs/spdmlib/src/error.rs:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 358
      start: 354
    functionDepth: 5
    functionLinenumber: 354
    functionLinenumberEnd: 358
    functionName: SpdmStatus::get_u32
    functionSourceFile: /src/spdm-rs/spdmlib/src/error.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - u32::from_le_bytes
    - SpdmStatus::encode
    linkageType: ''
    returnType: u32
    signature: pub fn get_u32(&self) -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::read_bytes
      Src: /src/spdm-rs/spdmlib/src/error.rs:362,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/spdmlib/src/error.rs:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - status
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 363
      start: 361
    functionDepth: 11
    functionLinenumber: 361
    functionLinenumberEnd: 363
    functionName: SpdmStatus::from_u32
    functionSourceFile: /src/spdm-rs/spdmlib/src/error.rs
    functionUses: 0
    functionsReached:
    - Self::read_bytes
    - to_le_bytes
    linkageType: ''
    returnType: Option
    signature: 'pub fn from_u32(status: u32) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 368
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 368
    functionName: SpdmStatus::spdm_status_is_success
    functionSourceFile: /src/spdm-rs/spdmlib/src/error.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: pub fn spdm_status_is_success(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 373
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 373
    functionName: SpdmStatus::spdm_status_is_error
    functionSourceFile: /src/spdm-rs/spdmlib/src/error.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: pub fn spdm_status_is_error(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/spdm-rs/spdmlib/src/error.rs:377,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib/src/error.rs:379,1
    - Dst: Default::default
      Src: /src/spdm-rs/spdmlib/src/error.rs:380,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/error.rs:382,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/error.rs:383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - error_data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 388
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 388
    functionName: SpdmStatus::spdm_status_set_error_data
    functionSourceFile: /src/spdm-rs/spdmlib/src/error.rs
    functionUses: 0
    functionsReached:
    - len
    - Some
    - Default::default
    - copy_from_slice
    linkageType: ''
    returnType: void
    signature: 'pub fn spdm_status_set_error_data(&mut self, error_data: &[u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 400
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 400
    functionName: SpdmStatus::fmt
    functionSourceFile: /src/spdm-rs/spdmlib/src/error.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter<''_>) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 412
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 412
    functionName: spdm_return_status
    functionSourceFile: /src/spdm-rs/spdmlib/src/error.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StatusCode::VDM
      Src: /src/spdm-rs/spdmlib/src/error.rs:4,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 642
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 642
    functionName: SPDM_STATUS_VDM_DEFINED_ERROR
    functionSourceFile: /src/spdm-rs/spdmlib/src/error.rs
    functionUses: 0
    functionsReached:
    - StatusCode::VDM
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: SpdmDheKeyExchange::export_private_key
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/crypto_callbacks.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Option
    signature: fn export_private_key(&self) -> Option<alloc::vec::Vec<u8>>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 193
    functionName: SpdmKemEncapKeyExchange::export_decap_key
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/crypto_callbacks.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Option
    signature: fn export_decap_key(&self) -> Option<alloc::vec::Vec<u8>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BytesMut::with_capacity
      Src: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - capacity
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: BytesMutStrubbed::with_capacity
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs
    functionUses: 0
    functionsReached:
    - BytesMut::with_capacity
    linkageType: ''
    returnType: BytesMutStrubbed
    signature: 'pub fn with_capacity(capacity: usize) -> BytesMutStrubbed'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BytesMut::new
      Src: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: BytesMutStrubbed::new
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs
    functionUses: 1
    functionsReached:
    - BytesMut::new
    linkageType: ''
    returnType: BytesMutStrubbed
    signature: pub fn new() -> BytesMutStrubbed
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: BytesMutStrubbed::len
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs
    functionUses: 0
    functionsReached:
    - len
    linkageType: ''
    returnType: usize
    signature: pub fn len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_empty
      Src: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: BytesMutStrubbed::is_empty
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs
    functionUses: 0
    functionsReached:
    - is_empty
    linkageType: ''
    returnType: bool
    signature: pub fn is_empty(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: capacity
      Src: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: BytesMutStrubbed::capacity
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs
    functionUses: 0
    functionsReached:
    - capacity
    linkageType: ''
    returnType: usize
    signature: pub fn capacity(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extend_from_slice
      Src: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - extend
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: BytesMutStrubbed::extend_from_slice
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs
    functionUses: 2
    functionsReached:
    - extend_from_slice
    linkageType: ''
    returnType: void
    signature: 'pub fn extend_from_slice(&mut self, extend: &[u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - additional
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: BytesMutStrubbed::reserve
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs
    functionUses: 0
    functionsReached:
    - reserve
    linkageType: ''
    returnType: void
    signature: 'pub fn reserve(&mut self, additional: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - new_len
    - value
    argTypes:
    - usize
    - u8
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: BytesMutStrubbed::resize
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs
    functionUses: 0
    functionsReached:
    - resize
    linkageType: ''
    returnType: void
    signature: 'pub fn resize(&mut self, new_len: usize, value: u8)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 11
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: BytesMutStrubbed::clear
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: pub fn clear(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: truncate
      Src: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - len
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: BytesMutStrubbed::truncate
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs
    functionUses: 0
    functionsReached:
    - truncate
    linkageType: ''
    returnType: void
    signature: 'pub fn truncate(&mut self, len: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BytesMut::zeroed
      Src: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - len
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: BytesMutStrubbed::zeroed
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs
    functionUses: 0
    functionsReached:
    - BytesMut::zeroed
    linkageType: ''
    returnType: BytesMutStrubbed
    signature: 'pub fn zeroed(len: usize) -> BytesMutStrubbed'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: put_u8
      Src: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: BytesMutStrubbed::put_u8
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs
    functionUses: 0
    functionsReached:
    - put_u8
    linkageType: ''
    returnType: void
    signature: 'pub fn put_u8(&mut self, n: u8)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zeroize
      Src: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 3
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: BytesMutStrubbed::drop
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs
    functionUses: 0
    functionsReached:
    - zeroize
    linkageType: ''
    returnType: void
    signature: fn drop(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: remaining
      Src: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: BytesMutStrubbed::remaining
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs
    functionUses: 0
    functionsReached:
    - remaining
    linkageType: ''
    returnType: usize
    signature: fn remaining(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk
      Src: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 8
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: BytesMutStrubbed::chunk
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs
    functionUses: 0
    functionsReached:
    - chunk
    linkageType: ''
    returnType: '&[u8]'
    signature: fn chunk(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: advance
      Src: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cnt
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 9
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: BytesMutStrubbed::advance
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs
    functionUses: 0
    functionsReached:
    - advance
    linkageType: ''
    returnType: void
    signature: 'fn advance(&mut self, cnt: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_to_bytes
      Src: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - len
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: BytesMutStrubbed::copy_to_bytes
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs
    functionUses: 0
    functionsReached:
    - copy_to_bytes
    linkageType: ''
    returnType: Bytes
    signature: 'fn copy_to_bytes(&mut self, len: usize) -> Bytes'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: BytesMutStrubbed::as_ref
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs
    functionUses: 1
    functionsReached:
    - as_ref
    linkageType: ''
    returnType: '&[u8]'
    signature: fn as_ref(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: deref
      Src: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: BytesMutStrubbed::deref
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs
    functionUses: 0
    functionsReached:
    - deref
    linkageType: ''
    returnType: '&[u8]'
    signature: fn deref(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_mut
      Src: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: BytesMutStrubbed::as_mut
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs
    functionUses: 0
    functionsReached:
    - as_mut
    linkageType: ''
    returnType: '&mut [u8]'
    signature: fn as_mut(&mut self) -> &mut [u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: deref_mut
      Src: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: BytesMutStrubbed::deref_mut
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs
    functionUses: 0
    functionsReached:
    - deref_mut
    linkageType: ''
    returnType: '&mut [u8]'
    signature: fn deref_mut(&mut self) -> &mut [u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BytesMut::from
      Src: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&''a str'
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: BytesMutStrubbed::from
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs
    functionUses: 0
    functionsReached:
    - BytesMut::from
    linkageType: ''
    returnType: BytesMutStrubbed
    signature: 'fn from(src: &''a str) -> BytesMutStrubbed'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eq
      Src: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - other
    argTypes:
    - '&BytesMutStrubbed'
    constantsTouched: []
    func_position:
      end: 157
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 157
    functionName: BytesMutStrubbed::eq
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs
    functionUses: 0
    functionsReached:
    - eq
    linkageType: ''
    returnType: bool
    signature: 'fn eq(&self, other: &BytesMutStrubbed) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs:162,1
    - Dst: BytesMutStrubbed::cmp
      Src: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - '&BytesMutStrubbed'
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: BytesMutStrubbed::partial_cmp
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs
    functionUses: 0
    functionsReached:
    - BytesMutStrubbed::cmp
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn partial_cmp(&self, other: &BytesMutStrubbed) -> Option<cmp::Ordering>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmp
      Src: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - other
    argTypes:
    - '&BytesMutStrubbed'
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: BytesMutStrubbed::cmp
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs
    functionUses: 1
    functionsReached:
    - cmp
    linkageType: ''
    returnType: cmp::Ordering
    signature: 'fn cmp(&self, other: &BytesMutStrubbed) -> cmp::Ordering'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::hash
      Src: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - '&mut H'
    constantsTouched: []
    func_position:
      end: 180
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 180
    functionName: BytesMutStrubbed::hash
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs
    functionUses: 0
    functionsReached:
    - core::hash
    linkageType: ''
    returnType: void
    signature: 'fn hash<H>(&self, state: &mut H)whereH: hash::Hasher,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: borrow
      Src: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 186
    functionName: BytesMutStrubbed::borrow
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs
    functionUses: 0
    functionsReached:
    - borrow
    linkageType: ''
    returnType: '&[u8]'
    signature: fn borrow(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: borrow_mut
      Src: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: BytesMutStrubbed::borrow_mut
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs
    functionUses: 0
    functionsReached:
    - borrow_mut
    linkageType: ''
    returnType: '&mut [u8]'
    signature: fn borrow_mut(&mut self) -> &mut [u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: BytesMutStrubbed::clone
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs
    functionUses: 3
    functionsReached:
    - clone
    linkageType: ''
    returnType: BytesMutStrubbed
    signature: fn clone(&self) -> BytesMutStrubbed
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IntoIter::new
      Src: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: BytesMutStrubbed::into_iter
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs
    functionUses: 0
    functionsReached:
    - IntoIter::new
    linkageType: ''
    returnType: Self::IntoIter
    signature: fn into_iter(self) -> Self::IntoIter
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&''a BytesMutStrubbed::as_ref'
      Src: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs:217,1
    - Dst: '&[u8]::iter'
      Src: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 218
    functionName: '&''a BytesMutStrubbed::into_iter'
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::iter'
    - '&''a BytesMutStrubbed::as_ref'
    linkageType: ''
    returnType: Self::IntoIter
    signature: fn into_iter(self) -> Self::IntoIter
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extend
      Src: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - iter
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 245
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 245
    functionName: BytesMutStrubbed::extend
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs
    functionUses: 0
    functionsReached:
    - extend
    linkageType: ''
    returnType: void
    signature: 'fn extend<T>(&mut self, iter: T)whereT: IntoIterator<Item = Bytes>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BytesMut::from_iter
      Src: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - into_iter
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: BytesMutStrubbed::from_iter
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs
    functionUses: 0
    functionsReached:
    - BytesMut::from_iter
    linkageType: ''
    returnType: Self
    signature: 'fn from_iter<T: IntoIterator<Item = &''a u8>>(into_iter: T) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spdm_x509::Certificate::from_der
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:45,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:45,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:49,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - cert_der
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 53
      start: 44
    functionDepth: 5
    functionLinenumber: 44
    functionLinenumberEnd: 53
    functionName: is_root_certificate
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/mod.rs
    functionUses: 2
    functionsReached:
    - spdm_x509::Certificate::from_der
    - Err
    - Ok
    - Result::map_err
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn is_root_certificate(cert_der: &[u8]) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spdm_x509::Certificate::from_der
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:69,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:69,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:72,1
    - Dst: find
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:78,1
    - Dst: BasicConstraints::from_extension
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:79,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:81,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:84,1
    - Dst: find
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:89,1
    - Dst: KeyUsage::from_extension
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:90,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:90,1
    - Dst: Result::has
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:91,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:92,1
    - Dst: spdm_x509::x509::spdm_validator::validate_hardware_identity
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:110,1
    - Dst: Result::is_err
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:110,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:115,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:118,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 59
    argCount: 2
    argNames:
    - cert_der
    - is_alias_cert
    argTypes:
    - '&[u8]'
    - bool
    constantsTouched: []
    func_position:
      end: 119
      start: 66
    functionDepth: 5
    functionLinenumber: 66
    functionLinenumberEnd: 119
    functionName: check_leaf_certificate
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/mod.rs
    functionUses: 1
    functionsReached:
    - Result::has
    - spdm_x509::x509::spdm_validator::validate_hardware_identity
    - Result::is_err
    - Err
    - Result::map_err
    - spdm_x509::Certificate::from_der
    - as_ref
    - BasicConstraints::from_extension
    - KeyUsage::from_extension
    - Ok
    - find
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn check_leaf_certificate(cert_der: &[u8], is_alias_cert: bool)
      -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_init_once
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:154,1
    - Dst: is_ok
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - context
    argTypes:
    - SpdmHash
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: hash::register
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/mod.rs
    functionUses: 3
    functionsReached:
    - try_init_once
    - is_ok
    linkageType: ''
    returnType: bool
    signature: 'pub fn register(context: SpdmHash) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:158,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:159,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - base_hash_algo
    - data
    argTypes:
    - SpdmBaseHashAlgo
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 162
      start: 157
    functionDepth: 9
    functionLinenumber: 157
    functionLinenumberEnd: 162
    functionName: hash::hash_all
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/mod.rs
    functionUses: 29
    functionsReached:
    - ok
    - try_get_or_init
    - clone
    linkageType: ''
    returnType: Option
    signature: 'pub fn hash_all(base_hash_algo: SpdmBaseHashAlgo, data: &[u8]) ->
      Option<SpdmDigestStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_ctx_dup
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:175,1
    - Dst: Option::expect
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 7
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: hash::SpdmHashCtx::clone
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/mod.rs
    functionUses: 0
    functionsReached:
    - hash_ctx_dup
    - Option::expect
    linkageType: ''
    returnType: Self
    signature: fn clone(&self) -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_ctx_finalize
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:182,1
    - Dst: self::hash::SpdmHashCtx
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 12
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: hash::SpdmHashCtx::drop
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/mod.rs
    functionUses: 0
    functionsReached:
    - self::hash::SpdmHashCtx
    - hash_ctx_finalize
    linkageType: ''
    returnType: void
    signature: fn drop(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_ctx_serialize
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:189,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:189,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:190,1
    - Dst: usize::encode
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:191,1
    - Dst: '&mut codec::Writer::extend_from_slice'
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:192,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:192,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:195,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - writer
    argTypes:
    - '&mut codec::Writer'
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 9
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: hash::SpdmHashCtx::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/mod.rs
    functionUses: 0
    functionsReached:
    - Option::ok_or
    - hash_ctx_serialize
    - '&mut codec::Writer::extend_from_slice'
    - len
    - Ok
    - usize::encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, writer: &mut codec::Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:199,1
    - Dst: Result::take
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:200,1
    - Dst: hash_ctx_deserialize
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - reader
    argTypes:
    - '&mut codec::Reader'
    constantsTouched: []
    func_position:
      end: 202
      start: 198
    functionDepth: 9
    functionLinenumber: 198
    functionLinenumberEnd: 202
    functionName: hash::SpdmHashCtx::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/mod.rs
    functionUses: 0
    functionsReached:
    - u16::read
    - Result::take
    - hash_ctx_deserialize
    linkageType: ''
    returnType: Option
    signature: 'fn read(reader: &mut codec::Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:206,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:207,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:206,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:210,1
    - Dst: self::hash::SpdmHashCtx
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - base_hash_algo
    argTypes:
    - SpdmBaseHashAlgo
    constantsTouched: []
    func_position:
      end: 211
      start: 205
    functionDepth: 9
    functionLinenumber: 205
    functionLinenumberEnd: 211
    functionName: hash::hash_ctx_init
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/mod.rs
    functionUses: 17
    functionsReached:
    - ok
    - clone
    - try_get_or_init
    - self::hash::SpdmHashCtx
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn hash_ctx_init(base_hash_algo: SpdmBaseHashAlgo) -> Option<SpdmHashCtx>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:216,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:217,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - '&SpdmHashCtx'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 220
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 220
    functionName: hash::hash_ctx_update
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/mod.rs
    functionUses: 7
    functionsReached:
    - map_err
    - try_get_or_init
    - clone
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn hash_ctx_update(ctx: &SpdmHashCtx, data: &[u8]) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:225,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:226,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SpdmHashCtx
    constantsTouched: []
    func_position:
      end: 229
      start: 222
    functionDepth: 9
    functionLinenumber: 222
    functionLinenumberEnd: 229
    functionName: hash::hash_ctx_finalize
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/mod.rs
    functionUses: 4
    functionsReached:
    - ok
    - try_get_or_init
    - clone
    linkageType: ''
    returnType: Option
    signature: 'pub fn hash_ctx_finalize(mut ctx: SpdmHashCtx) -> Option<SpdmDigestStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:232,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:233,1
    - Dst: expect
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:232,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:236,1
    - Dst: self::hash::SpdmHashCtx
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - '&SpdmHashCtx'
    constantsTouched: []
    func_position:
      end: 237
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 237
    functionName: hash::hash_ctx_dup
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/mod.rs
    functionUses: 0
    functionsReached:
    - clone
    - try_get_or_init
    - self::hash::SpdmHashCtx
    - expect
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn hash_ctx_dup(ctx: &SpdmHashCtx) -> Option<SpdmHashCtx>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:240,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:241,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - '&SpdmHashCtx'
    constantsTouched: []
    func_position:
      end: 244
      start: 239
    functionDepth: 9
    functionLinenumber: 239
    functionLinenumberEnd: 244
    functionName: hash::hash_ctx_serialize
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/mod.rs
    functionUses: 0
    functionsReached:
    - ok
    - try_get_or_init
    - clone
    linkageType: ''
    returnType: Option
    signature: 'pub fn hash_ctx_serialize(ctx: &SpdmHashCtx) -> Option<alloc::vec::Vec<u8>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:247,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:248,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:247,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:251,1
    - Dst: self::hash::SpdmHashCtx
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 252
      start: 246
    functionDepth: 9
    functionLinenumber: 246
    functionLinenumberEnd: 252
    functionName: hash::hash_ctx_deserialize
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/mod.rs
    functionUses: 0
    functionsReached:
    - ok
    - clone
    - try_get_or_init
    - self::hash::SpdmHashCtx
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn hash_ctx_deserialize(bytes: &[u8]) -> Option<SpdmHashCtx>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_init_once
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:282,1
    - Dst: is_ok
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - context
    argTypes:
    - SpdmHmac
    constantsTouched: []
    func_position:
      end: 283
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionName: hmac::register
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/mod.rs
    functionUses: 18
    functionsReached:
    - try_init_once
    - is_ok
    linkageType: ''
    returnType: bool
    signature: 'pub fn register(context: SpdmHmac) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:290,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:291,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - base_hash_algo
    - key
    - data
    argTypes:
    - SpdmBaseHashAlgo
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 9
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: hmac::hmac
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/mod.rs
    functionUses: 3
    functionsReached:
    - ok
    - try_get_or_init
    - clone
    linkageType: ''
    returnType: Option
    signature: 'pub fn hmac(base_hash_algo: SpdmBaseHashAlgo,key: &[u8],data: &[u8],)
      -> Option<SpdmDigestStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:302,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:303,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - base_hash_algo
    - key
    - data
    - hmac
    argTypes:
    - SpdmBaseHashAlgo
    - '&[u8]'
    - '&[u8]'
    - '&SpdmDigestStruct'
    constantsTouched: []
    func_position:
      end: 306
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 306
    functionName: hmac::hmac_verify
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/mod.rs
    functionUses: 2
    functionsReached:
    - map_err
    - try_get_or_init
    - clone
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn hmac_verify(base_hash_algo: SpdmBaseHashAlgo,key: &[u8],data:
      &[u8],hmac: &SpdmDigestStruct,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:322,1
    - Dst: is_ok
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - context
    argTypes:
    - SpdmAsymVerify
    constantsTouched: []
    func_position:
      end: 323
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 323
    functionName: asym_verify::register
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/mod.rs
    functionUses: 9
    functionsReached:
    - is_ok
    - try_get_or_init
    linkageType: ''
    returnType: bool
    signature: 'pub fn register(context: SpdmAsymVerify) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:332,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:333,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - base_hash_algo
    - base_asym_algo
    - der
    - data
    - signature
    argTypes:
    - SpdmBaseHashAlgo
    - SpdmBaseAsymAlgo
    - SpdmDer
    - '&[u8]'
    - '&SpdmSignatureStruct'
    constantsTouched: []
    func_position:
      end: 336
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 336
    functionName: asym_verify::verify
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/mod.rs
    functionUses: 2
    functionsReached:
    - map_err
    - try_get_or_init
    - clone
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn verify(base_hash_algo: SpdmBaseHashAlgo,base_asym_algo: SpdmBaseAsymAlgo,der:
      SpdmDer,data: &[u8],signature: &SpdmSignatureStruct,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:352,1
    - Dst: is_ok
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - context
    argTypes:
    - SpdmPqcAsymVerify
    constantsTouched: []
    func_position:
      end: 353
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 353
    functionName: pqc_asym_verify::register
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/mod.rs
    functionUses: 7
    functionsReached:
    - is_ok
    - try_get_or_init
    linkageType: ''
    returnType: bool
    signature: 'pub fn register(context: SpdmPqcAsymVerify) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:362,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:363,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - base_hash_algo
    - pqc_asym_algo
    - public_cert_der
    - data
    - signature
    argTypes:
    - SpdmBaseHashAlgo
    - SpdmPqcAsymAlgo
    - '&[u8]'
    - '&[u8]'
    - '&SpdmSignatureStruct'
    constantsTouched: []
    func_position:
      end: 372
      start: 355
    functionDepth: 2
    functionLinenumber: 355
    functionLinenumberEnd: 372
    functionName: pqc_asym_verify::verify
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/mod.rs
    functionUses: 1
    functionsReached:
    - map_err
    - try_get_or_init
    - clone
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn verify(base_hash_algo: SpdmBaseHashAlgo,pqc_asym_algo: SpdmPqcAsymAlgo,public_cert_der:
      &[u8],data: &[u8],signature: &SpdmSignatureStruct,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_init_once
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:390,1
    - Dst: is_ok
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - context
    argTypes:
    - SpdmDhe
    constantsTouched: []
    func_position:
      end: 391
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 391
    functionName: dhe::register
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/mod.rs
    functionUses: 3
    functionsReached:
    - try_init_once
    - is_ok
    linkageType: ''
    returnType: bool
    signature: 'pub fn register(context: SpdmDhe) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:396,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:397,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - dhe_algo
    argTypes:
    - SpdmDheAlgo
    constantsTouched: []
    func_position:
      end: 400
      start: 393
    functionDepth: 9
    functionLinenumber: 393
    functionLinenumberEnd: 400
    functionName: dhe::generate_key_pair
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/mod.rs
    functionUses: 3
    functionsReached:
    - ok
    - try_get_or_init
    - clone
    linkageType: ''
    returnType: Option
    signature: 'pub fn generate_key_pair(dhe_algo: SpdmDheAlgo,) -> Option<(SpdmDheExchangeStruct,
      Box<dyn SpdmDheKeyExchange + Send>)>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:407,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:407,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:407,1
    - Dst: import_cb
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:409,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - dhe_algo
    - private_key_bytes
    argTypes:
    - SpdmDheAlgo
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 410
      start: 403
    functionDepth: 9
    functionLinenumber: 403
    functionLinenumberEnd: 410
    functionName: dhe::import_private_key
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/mod.rs
    functionUses: 1
    functionsReached:
    - import_cb
    - ok
    - try_get_or_init
    - clone
    linkageType: ''
    returnType: Option
    signature: 'pub fn import_private_key(dhe_algo: SpdmDheAlgo,private_key_bytes:
      &[u8],) -> Option<Box<dyn SpdmDheKeyExchange + Send>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_init_once
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:428,1
    - Dst: is_ok
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - context
    argTypes:
    - SpdmKemDecap
    constantsTouched: []
    func_position:
      end: 429
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 429
    functionName: kem_decap::register
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/mod.rs
    functionUses: 2
    functionsReached:
    - try_init_once
    - is_ok
    linkageType: ''
    returnType: bool
    signature: 'pub fn register(context: SpdmKemDecap) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:437,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:438,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - kem_algo
    argTypes:
    - SpdmKemAlgo
    constantsTouched: []
    func_position:
      end: 441
      start: 431
    functionDepth: 9
    functionLinenumber: 431
    functionLinenumberEnd: 441
    functionName: kem_decap::generate_key_pair
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/mod.rs
    functionUses: 1
    functionsReached:
    - ok
    - try_get_or_init
    - clone
    linkageType: ''
    returnType: Option
    signature: 'pub fn generate_key_pair(kem_algo: SpdmKemAlgo,) -> Option<(SpdmKemEncapKeyStruct,Box<dyn
      SpdmKemEncapKeyExchange + Send>,)>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:449,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:450,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:449,1
    - Dst: import_cb
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:453,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - kem_algo
    - decap_key_bytes
    argTypes:
    - SpdmKemAlgo
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 454
      start: 445
    functionDepth: 9
    functionLinenumber: 445
    functionLinenumberEnd: 454
    functionName: kem_decap::import_decap_key
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/mod.rs
    functionUses: 0
    functionsReached:
    - import_cb
    - ok
    - try_get_or_init
    - clone
    linkageType: ''
    returnType: Option
    signature: 'pub fn import_decap_key(kem_algo: SpdmKemAlgo,decap_key_bytes: &[u8],)
      -> Option<Box<dyn SpdmKemEncapKeyExchange + Send>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_init_once
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:472,1
    - Dst: is_ok
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - context
    argTypes:
    - SpdmKemEncap
    constantsTouched: []
    func_position:
      end: 473
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 473
    functionName: kem_encap::register
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/mod.rs
    functionUses: 2
    functionsReached:
    - try_init_once
    - is_ok
    linkageType: ''
    returnType: bool
    signature: 'pub fn register(context: SpdmKemEncap) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:479,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:480,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - kem_algo
    - kem_encap_key
    argTypes:
    - SpdmKemAlgo
    - '&SpdmKemEncapKeyStruct'
    constantsTouched: []
    func_position:
      end: 483
      start: 475
    functionDepth: 9
    functionLinenumber: 475
    functionLinenumberEnd: 483
    functionName: kem_encap::new_key
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/mod.rs
    functionUses: 1
    functionsReached:
    - ok
    - try_get_or_init
    - clone
    linkageType: ''
    returnType: Option
    signature: 'pub fn new_key(kem_algo: SpdmKemAlgo,kem_encap_key: &SpdmKemEncapKeyStruct,)
      -> Option<Box<dyn SpdmKemCipherTextExchange + Send>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_init_once
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:499,1
    - Dst: is_ok
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - context
    argTypes:
    - SpdmCertOperation
    constantsTouched: []
    func_position:
      end: 500
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 500
    functionName: cert_operation::register
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/mod.rs
    functionUses: 6
    functionsReached:
    - try_init_once
    - is_ok
    linkageType: ''
    returnType: bool
    signature: 'pub fn register(context: SpdmCertOperation) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:503,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:504,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - cert_chain
    - index
    argTypes:
    - '&[u8]'
    - isize
    constantsTouched: []
    func_position:
      end: 507
      start: 502
    functionDepth: 2
    functionLinenumber: 502
    functionLinenumberEnd: 507
    functionName: cert_operation::get_cert_from_cert_chain
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/mod.rs
    functionUses: 5
    functionsReached:
    - map_err
    - try_get_or_init
    - clone
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn get_cert_from_cert_chain(cert_chain: &[u8], index: isize) ->
      SpdmResult<(usize, usize)>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bits
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:514,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:515,1
    - Dst: bits
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:515,1
    - Dst: bits
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:519,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:520,1
    - Dst: bits
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:520,1
    - Dst: try_get_or_init
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:524,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:525,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:524,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 3
    argNames:
    - cert_chain
    - base_asym_algo
    - base_hash_algo
    argTypes:
    - '&[u8]'
    - SpdmBaseAsymAlgo
    - SpdmBaseHashAlgo
    constantsTouched: []
    func_position:
      end: 528
      start: 509
    functionDepth: 3
    functionLinenumber: 509
    functionLinenumberEnd: 528
    functionName: cert_operation::verify_cert_chain
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/mod.rs
    functionUses: 2
    functionsReached:
    - clone
    - map_err
    - try_get_or_init
    - bits
    - Some
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn verify_cert_chain(cert_chain: &[u8],base_asym_algo: SpdmBaseAsymAlgo,base_hash_algo:
      SpdmBaseHashAlgo,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_init_once
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:546,1
    - Dst: is_ok
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - context
    argTypes:
    - SpdmHkdf
    constantsTouched: []
    func_position:
      end: 547
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 547
    functionName: hkdf::register
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/mod.rs
    functionUses: 8
    functionsReached:
    - try_init_once
    - is_ok
    linkageType: ''
    returnType: bool
    signature: 'pub fn register(context: SpdmHkdf) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:554,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:555,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:554,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - hash_algo
    - salt
    - ikm
    argTypes:
    - SpdmBaseHashAlgo
    - '&[u8]'
    - '&SpdmHkdfInputKeyingMaterial'
    constantsTouched: []
    func_position:
      end: 558
      start: 549
    functionDepth: 9
    functionLinenumber: 549
    functionLinenumberEnd: 558
    functionName: hkdf::hkdf_extract
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/mod.rs
    functionUses: 4
    functionsReached:
    - ok
    - try_get_or_init
    - clone
    linkageType: ''
    returnType: Option
    signature: 'pub fn hkdf_extract(hash_algo: SpdmBaseHashAlgo,salt: &[u8],ikm: &SpdmHkdfInputKeyingMaterial,)
      -> Option<SpdmHkdfPseudoRandomKey>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:566,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:567,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - hash_algo
    - prk
    - info
    - out_size
    argTypes:
    - SpdmBaseHashAlgo
    - '&SpdmHkdfPseudoRandomKey'
    - '&[u8]'
    - u16
    constantsTouched: []
    func_position:
      end: 570
      start: 560
    functionDepth: 9
    functionLinenumber: 560
    functionLinenumberEnd: 570
    functionName: hkdf::hkdf_expand
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/mod.rs
    functionUses: 11
    functionsReached:
    - ok
    - try_get_or_init
    - clone
    linkageType: ''
    returnType: Option
    signature: 'pub fn hkdf_expand(hash_algo: SpdmBaseHashAlgo,prk: &SpdmHkdfPseudoRandomKey,info:
      &[u8],out_size: u16,) -> Option<SpdmHkdfOutputKeyingMaterial>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_init_once
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:586,1
    - Dst: is_ok
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - context
    argTypes:
    - SpdmAead
    constantsTouched: []
    func_position:
      end: 587
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 587
    functionName: aead::register
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/mod.rs
    functionUses: 15
    functionsReached:
    - try_init_once
    - is_ok
    linkageType: ''
    returnType: bool
    signature: 'pub fn register(context: SpdmAead) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:598,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:599,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:598,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 7
    argNames:
    - aead_algo
    - key
    - iv
    - aad
    - plain_text
    - tag
    - cipher_text
    argTypes:
    - SpdmAeadAlgo
    - '&SpdmAeadKeyStruct'
    - '&SpdmAeadIvStruct'
    - '&[u8]'
    - '&[u8]'
    - '&mut [u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 602
      start: 589
    functionDepth: 2
    functionLinenumber: 589
    functionLinenumberEnd: 602
    functionName: aead::encrypt
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/mod.rs
    functionUses: 6
    functionsReached:
    - map_err
    - try_get_or_init
    - clone
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn encrypt(aead_algo: SpdmAeadAlgo,key: &SpdmAeadKeyStruct,iv:
      &SpdmAeadIvStruct,aad: &[u8],plain_text: &[u8],tag: &mut [u8],cipher_text: &mut
      [u8],) -> SpdmResult<(usize, usize)>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:613,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:614,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:613,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 7
    argNames:
    - aead_algo
    - key
    - iv
    - aad
    - cipher_text
    - tag
    - plain_text
    argTypes:
    - SpdmAeadAlgo
    - '&SpdmAeadKeyStruct'
    - '&SpdmAeadIvStruct'
    - '&[u8]'
    - '&[u8]'
    - '&[u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 617
      start: 604
    functionDepth: 2
    functionLinenumber: 604
    functionLinenumberEnd: 617
    functionName: aead::decrypt
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/mod.rs
    functionUses: 6
    functionsReached:
    - map_err
    - try_get_or_init
    - clone
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn decrypt(aead_algo: SpdmAeadAlgo,key: &SpdmAeadKeyStruct,iv:
      &SpdmAeadIvStruct,aad: &[u8],cipher_text: &[u8],tag: &[u8],plain_text: &mut
      [u8],) -> SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_init_once
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:632,1
    - Dst: is_ok
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - context
    argTypes:
    - SpdmCryptoRandom
    constantsTouched: []
    func_position:
      end: 633
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 633
    functionName: rand::register
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/mod.rs
    functionUses: 8
    functionsReached:
    - try_init_once
    - is_ok
    linkageType: ''
    returnType: bool
    signature: 'pub fn register(context: SpdmCryptoRandom) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:636,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:637,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:636,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 640
      start: 635
    functionDepth: 2
    functionLinenumber: 635
    functionLinenumberEnd: 640
    functionName: rand::get_random
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/mod.rs
    functionUses: 10
    functionsReached:
    - map_err
    - try_get_or_init
    - clone
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn get_random(data: &mut [u8]) -> SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmPqcAsymAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:657,1
    - Dst: self::pqc_asym_verify::verify
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:659,1
    - Dst: self::pqc_asym_verify::verify
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:666,1
    - Dst: self::asym_verify::verify
      Src: /src/spdm-rs/spdmlib/src/crypto/mod.rs:675,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - base_hash_algo
    - base_asym_algo
    - pqc_asym_algo
    - der
    - data
    - signature
    argTypes:
    - SpdmBaseHashAlgo
    - SpdmBaseAsymAlgo
    - SpdmPqcAsymAlgo
    - SpdmDer
    - '&[u8]'
    - '&SpdmSignatureStruct'
    constantsTouched: []
    func_position:
      end: 677
      start: 649
    functionDepth: 3
    functionLinenumber: 649
    functionLinenumberEnd: 677
    functionName: spdm_asym_verify
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/mod.rs
    functionUses: 6
    functionsReached:
    - self::asym_verify::verify
    - self::pqc_asym_verify::verify
    - SpdmPqcAsymAlgo::empty
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn spdm_asym_verify(base_hash_algo: SpdmBaseHashAlgo,base_asym_algo:
      SpdmBaseAsymAlgo,pqc_asym_algo: SpdmPqcAsymAlgo,der: SpdmDer,data: &[u8],signature:
      &SpdmSignatureStruct,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash::hash_ctx_init
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:26,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:26,1
    - Dst: from_hex
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:27,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:27,1
    - Dst: from_hex
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:28,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:28,1
    - Dst: hash::hash_ctx_update
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:29,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:29,1
    - Dst: hash::hash_ctx_finalize
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:30,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:30,1
    - Dst: hash::hash_ctx_init
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:36,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:36,1
    - Dst: from_hex
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:37,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:37,1
    - Dst: from_hex
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:38,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:38,1
    - Dst: hash::hash_ctx_update
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:39,1
    - Dst: as_slice
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:39,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:39,1
    - Dst: Result::clone
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:40,1
    - Dst: hash::hash_ctx_update
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:41,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:41,1
    - Dst: hash::hash_ctx_update
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:42,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:42,1
    - Dst: hash::hash_ctx_finalize
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:43,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:43,1
    - Dst: hash::hash_ctx_finalize
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:44,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 22
    functionDepth: 10
    functionLinenumber: 22
    functionLinenumberEnd: 47
    functionName: test_case_hash
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs
    functionUses: 0
    functionsReached:
    - SpdmResult::unwrap
    - hash::hash_ctx_init
    - Option::unwrap
    - hash::hash_ctx_finalize
    - Result::unwrap
    - hash::hash_ctx_update
    - Result::clone
    - from_hex
    - as_slice
    linkageType: ''
    returnType: void
    signature: fn test_case_hash()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_hex_to_aead_key
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:67,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:67,1
    - Dst: from_hex_to_aead_iv
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:69,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:69,1
    - Dst: from_hex
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:70,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:70,1
    - Dst: from_hex
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:71,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:71,1
    - Dst: from_hex
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:72,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:72,1
    - Dst: from_hex
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:73,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:73,1
    - Dst: super::aead::encrypt
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:78,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:78,1
    - Dst: super::aead::decrypt
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:83,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 50
    functionDepth: 5
    functionLinenumber: 50
    functionLinenumberEnd: 86
    functionName: test_case_gcm256
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs
    functionUses: 0
    functionsReached:
    - from_hex_to_aead_key
    - super::aead::encrypt
    - Result::unwrap
    - from_hex
    - super::aead::decrypt
    - from_hex_to_aead_iv
    linkageType: ''
    returnType: void
    signature: fn test_case_gcm256()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_hex_to_aead_key
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:106,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:106,1
    - Dst: from_hex_to_aead_iv
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:107,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:107,1
    - Dst: from_hex
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:108,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:108,1
    - Dst: from_hex
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:109,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:109,1
    - Dst: from_hex
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:110,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:110,1
    - Dst: from_hex
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:111,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:111,1
    - Dst: super::aead::encrypt
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:116,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:116,1
    - Dst: super::aead::decrypt
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:121,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 89
    functionDepth: 5
    functionLinenumber: 89
    functionLinenumberEnd: 124
    functionName: test_case_gcm128
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs
    functionUses: 0
    functionsReached:
    - from_hex_to_aead_key
    - super::aead::encrypt
    - Result::unwrap
    - from_hex
    - super::aead::decrypt
    - from_hex_to_aead_iv
    linkageType: ''
    returnType: void
    signature: fn test_case_gcm128()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_hex_to_aead_key
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:138,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:138,1
    - Dst: from_hex_to_aead_iv
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:140,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:140,1
    - Dst: from_hex
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:142,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:142,1
    - Dst: from_hex
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:144,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:144,1
    - Dst: from_hex
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:145,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:145,1
    - Dst: super::aead::encrypt
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:150,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:150,1
    - Dst: super::aead::decrypt
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:155,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 128
    functionDepth: 5
    functionLinenumber: 128
    functionLinenumberEnd: 158
    functionName: test_case_chacha20_poly1305
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs
    functionUses: 0
    functionsReached:
    - from_hex_to_aead_key
    - super::aead::encrypt
    - Result::unwrap
    - from_hex
    - super::aead::decrypt
    - from_hex_to_aead_iv
    linkageType: ''
    returnType: void
    signature: fn test_case_chacha20_poly1305()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&str::len'
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:177,1
    - Dst: usize::is_multiple_of
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:177,1
    - Dst: '&str::len'
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:177,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:178,1
    - Dst: String::from
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:178,1
    - Dst: '&str::len'
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:184,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:185,1
    - Dst: '&str::as_bytes'
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:187,1
    - Dst: chunks
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:187,1
    - Dst: enumerate
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:187,1
    - Dst: from_hex_digit
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:188,1
    - Dst: from_hex_digit
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:189,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:192,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 45
    argCount: 1
    argNames:
    - hex_str
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 193
      start: 176
    functionDepth: 4
    functionLinenumber: 176
    functionLinenumberEnd: 193
    functionName: from_hex_to_aead_key
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs
    functionUses: 4
    functionsReached:
    - '&str::len'
    - enumerate
    - from_hex_digit
    - '&str::as_bytes'
    - Err
    - usize::is_multiple_of
    - Box::new
    - chunks
    - String::from
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn from_hex_to_aead_key(hex_str: &str) -> Result<SpdmAeadKeyStruct,
      String>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&str::len'
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:196,1
    - Dst: usize::is_multiple_of
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:196,1
    - Dst: '&str::len'
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:196,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:197,1
    - Dst: String::from
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:197,1
    - Dst: '&str::len'
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:203,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:204,1
    - Dst: '&str::as_bytes'
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:206,1
    - Dst: chunks
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:206,1
    - Dst: enumerate
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:206,1
    - Dst: from_hex_digit
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:207,1
    - Dst: from_hex_digit
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:208,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs:211,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 45
    argCount: 1
    argNames:
    - hex_str
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 212
      start: 195
    functionDepth: 4
    functionLinenumber: 195
    functionLinenumberEnd: 212
    functionName: from_hex_to_aead_iv
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs
    functionUses: 4
    functionsReached:
    - '&str::len'
    - enumerate
    - from_hex_digit
    - '&str::as_bytes'
    - Err
    - usize::is_multiple_of
    - Box::new
    - chunks
    - String::from
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn from_hex_to_aead_iv(hex_str: &str) -> Result<SpdmAeadIvStruct,
      String>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log::set_max_level
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/mod.rs:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: LogLevelGuard::drop
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/fips/mod.rs
    functionUses: 0
    functionsReached:
    - log::set_max_level
    linkageType: ''
    returnType: void
    signature: fn drop(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LogLevelGuard
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/mod.rs:65,1
    - Dst: log::max_level
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/mod.rs:65,1
    - Dst: log::set_max_level
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/mod.rs:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - test
    argTypes:
    - impl FnOnce() -> SpdmResult<T>
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: run_silenced
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/fips/mod.rs
    functionUses: 0
    functionsReached:
    - log::max_level
    - LogLevelGuard
    - log::set_max_level
    linkageType: ''
    returnType: SpdmResult
    signature: 'fn run_silenced<T>(test: impl FnOnce() -> SpdmResult<T>) -> SpdmResult<T>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/mod.rs:73,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/mod.rs:79,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/mod.rs:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - config
    argTypes:
    - '&SpdmConfigInfo'
    constantsTouched: []
    func_position:
      end: 93
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 93
    functionName: configured_hash_algorithms
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/fips/mod.rs
    functionUses: 0
    functionsReached:
    - contains
    linkageType: ''
    returnType: SpdmBaseHashAlgo
    signature: 'fn configured_hash_algorithms(config: &SpdmConfigInfo) -> SpdmBaseHashAlgo'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_base
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/mod.rs:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - config
    argTypes:
    - '&SpdmConfigInfo'
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 4
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: configured_asym_algorithms
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/fips/mod.rs
    functionUses: 1
    functionsReached:
    - to_base
    linkageType: ''
    returnType: SpdmBaseAsymAlgo
    signature: 'fn configured_asym_algorithms(config: &SpdmConfigInfo) -> SpdmBaseAsymAlgo'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/mod.rs:101,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/mod.rs:102,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/mod.rs:103,1
    - Dst: configured_asym_algorithms
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/mod.rs:103,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/mod.rs:104,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/mod.rs:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - config
    argTypes:
    - '&SpdmConfigInfo'
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 5
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: SupportedAlgorithms::supports
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/fips/mod.rs
    functionUses: 0
    functionsReached:
    - configured_asym_algorithms
    - contains
    linkageType: ''
    returnType: bool
    signature: 'fn supports(&self, config: &SpdmConfigInfo) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: supports
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/mod.rs:110,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/mod.rs:111,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/mod.rs:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - config
    argTypes:
    - '&SpdmConfigInfo'
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 6
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: ensure_self_test_coverage
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/fips/mod.rs
    functionUses: 0
    functionsReached:
    - supports
    - Err
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: 'fn ensure_self_test_coverage(config: &SpdmConfigInfo) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rsa_sig_ver::get_cavs_vectors
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:221,1
    - Dst: '[CavsVector::iter'
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:222,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:229,1
    - Dst: SpdmBaseHashAlgo::contains
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:235,1
    - Dst: SpdmBaseAsymAlgo::contains
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:235,1
    - Dst: rsa_spki
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:237,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:239,1
    - Dst: Default::default
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:240,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:242,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:242,1
    - Dst: asym_verify::verify
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:243,1
    - Dst: SpdmDer::SpdmDerPubKeyRfc7250
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:246,1
    - Dst: SpdmResult::is_ok
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:243,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:255,1
    - Dst: SpdmBaseAsymAlgo::contains
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:264,1
    - Dst: SpdmBaseHashAlgo::contains
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:265,1
    - Dst: ecdsa_p256_sha256_sig_ver::get_cavs_vectors
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:268,1
    - Dst: '[CavsVector::iter'
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:269,1
    - Dst: ecdsa_verify
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:270,1
    - Dst: to_vec
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:273,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:283,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:287,1
    - Dst: SpdmBaseAsymAlgo::contains
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:293,1
    - Dst: SpdmBaseHashAlgo::contains
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:294,1
    - Dst: ecdsa_p256_sha384_sig_ver::get_cavs_vectors
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:297,1
    - Dst: '[CavsVector::iter'
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:298,1
    - Dst: ecdsa_verify
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:299,1
    - Dst: to_vec
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:302,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:312,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:316,1
    - Dst: SpdmBaseAsymAlgo::contains
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:322,1
    - Dst: SpdmBaseHashAlgo::contains
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:323,1
    - Dst: ecdsa_p384_sha256_sig_ver::get_cavs_vectors
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:326,1
    - Dst: '[CavsVector::iter'
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:327,1
    - Dst: ecdsa_verify
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:328,1
    - Dst: to_vec
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:331,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:341,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:345,1
    - Dst: SpdmBaseAsymAlgo::contains
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:351,1
    - Dst: SpdmBaseHashAlgo::contains
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:352,1
    - Dst: ecdsa_p384_sha384_sig_ver::get_cavs_vectors
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:355,1
    - Dst: '[CavsVector::iter'
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:356,1
    - Dst: ecdsa_verify
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:357,1
    - Dst: to_vec
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:360,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:370,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:374,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:379,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 201
    argCount: 2
    argNames:
    - configured_hash
    - configured_asym
    argTypes:
    - SpdmBaseHashAlgo
    - SpdmBaseAsymAlgo
    constantsTouched: []
    func_position:
      end: 380
      start: 213
    functionDepth: 6
    functionLinenumber: 213
    functionLinenumberEnd: 380
    functionName: run_self_tests
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs
    functionUses: 0
    functionsReached:
    - to_vec
    - SpdmBaseAsymAlgo::contains
    - ecdsa_verify
    - Ok
    - Default::default
    - rsa_spki
    - asym_verify::verify
    - Err
    - '[CavsVector::iter'
    - ecdsa_p384_sha256_sig_ver::get_cavs_vectors
    - len
    - ecdsa_p256_sha384_sig_ver::get_cavs_vectors
    - rsa_sig_ver::get_cavs_vectors
    - SpdmDer::SpdmDerPubKeyRfc7250
    - SpdmBaseHashAlgo::contains
    - SpdmResult::is_ok
    - ecdsa_p256_sha256_sig_ver::get_cavs_vectors
    - copy_from_slice
    - ecdsa_p384_sha384_sig_ver::get_cavs_vectors
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn run_self_tests(configured_hash: SpdmBaseHashAlgo,configured_asym:
      SpdmBaseAsymAlgo,) -> SpdmResult<bool>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: tests::test_empty_config_runs_no_self_tests
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/fips/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_empty_config_runs_no_self_tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Default::default
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/mod.rs:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 176
    functionName: tests::test_configured_algorithms_include_all_consumer_uses
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/fips/mod.rs
    functionUses: 0
    functionsReached:
    - Default::default
    linkageType: ''
    returnType: void
    signature: fn test_configured_algorithms_include_all_consumer_uses()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmReqAsymAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/mod.rs:187,1
    - Dst: Default::default
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/mod.rs:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 194
    functionName: tests::test_example_supported_profile_has_self_test_coverage
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/fips/mod.rs
    functionUses: 0
    functionsReached:
    - Default::default
    - SpdmReqAsymAlgo::empty
    linkageType: ''
    returnType: void
    signature: fn test_example_supported_profile_has_self_test_coverage()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Default::default
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/mod.rs:205,1
    - Dst: Default::default
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/mod.rs:209,1
    - Dst: Default::default
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/mod.rs:213,1
    - Dst: Default::default
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/mod.rs:217,1
    - Dst: Default::default
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/mod.rs:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 231
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 231
    functionName: tests::test_configured_algorithms_require_self_test_coverage
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/fips/mod.rs
    functionUses: 0
    functionsReached:
    - Default::default
    linkageType: ''
    returnType: void
    signature: fn test_configured_algorithms_require_self_test_coverage()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcm_encrypt_ext_iv256::get_cavs_vectors
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/aead_st/mod.rs:25,1
    - Dst: '[CavsVector::iter'
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/aead_st/mod.rs:27,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/aead_st/mod.rs:29,1
    - Dst: get_key_size
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/aead_st/mod.rs:29,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/aead_st/mod.rs:30,1
    - Dst: get_iv_size
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/aead_st/mod.rs:30,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/aead_st/mod.rs:31,1
    - Dst: get_tag_size
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/aead_st/mod.rs:31,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/aead_st/mod.rs:33,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/aead_st/mod.rs:37,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/aead_st/mod.rs:38,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/aead_st/mod.rs:40,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/aead_st/mod.rs:45,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/aead_st/mod.rs:46,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/aead_st/mod.rs:48,1
    - Dst: super::aead::encrypt
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/aead_st/mod.rs:60,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/aead_st/mod.rs:60,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/aead_st/mod.rs:63,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/aead_st/mod.rs:66,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/aead_st/mod.rs:70,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 106
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 23
    functionDepth: 5
    functionLinenumber: 23
    functionLinenumberEnd: 71
    functionName: aes_256_gcm_encrypt_self_test
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/fips/aead_st/mod.rs
    functionUses: 0
    functionsReached:
    - get_tag_size
    - Err
    - Box::new
    - super::aead::encrypt
    - gcm_encrypt_ext_iv256::get_cavs_vectors
    - '[CavsVector::iter'
    - Result::unwrap
    - len
    - get_key_size
    - Ok
    - get_iv_size
    linkageType: ''
    returnType: SpdmResult
    signature: fn aes_256_gcm_encrypt_self_test() -> SpdmResult
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcm_decrypt256::get_cavs_vectors
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/aead_st/mod.rs:75,1
    - Dst: '[CavsVector::iter'
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/aead_st/mod.rs:77,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/aead_st/mod.rs:79,1
    - Dst: get_key_size
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/aead_st/mod.rs:79,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/aead_st/mod.rs:80,1
    - Dst: get_iv_size
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/aead_st/mod.rs:80,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/aead_st/mod.rs:81,1
    - Dst: get_tag_size
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/aead_st/mod.rs:81,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/aead_st/mod.rs:83,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/aead_st/mod.rs:87,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/aead_st/mod.rs:88,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/aead_st/mod.rs:90,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/aead_st/mod.rs:95,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/aead_st/mod.rs:96,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/aead_st/mod.rs:98,1
    - Dst: super::aead::decrypt
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/aead_st/mod.rs:108,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/aead_st/mod.rs:108,1
    - Dst: SpdmResult::len
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/aead_st/mod.rs:110,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/aead_st/mod.rs:111,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/aead_st/mod.rs:114,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/aead_st/mod.rs:118,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 99
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 73
    functionDepth: 5
    functionLinenumber: 73
    functionLinenumberEnd: 119
    functionName: aes_256_gcm_decrypt_self_test
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/fips/aead_st/mod.rs
    functionUses: 0
    functionsReached:
    - gcm_decrypt256::get_cavs_vectors
    - get_tag_size
    - Err
    - Box::new
    - SpdmResult::len
    - '[CavsVector::iter'
    - Result::unwrap
    - len
    - super::aead::decrypt
    - get_key_size
    - Ok
    - get_iv_size
    linkageType: ''
    returnType: SpdmResult
    signature: fn aes_256_gcm_decrypt_self_test() -> SpdmResult
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dhe::import_private_key
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/dhe_st/mod.rs:22,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/dhe_st/mod.rs:26,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/dhe_st/mod.rs:26,1
    - Dst: Default::default
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/dhe_st/mod.rs:27,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/dhe_st/mod.rs:29,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/dhe_st/mod.rs:29,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/dhe_st/mod.rs:30,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/dhe_st/mod.rs:30,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/dhe_st/mod.rs:30,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/dhe_st/mod.rs:30,1
    - Dst: compute_final_key
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/dhe_st/mod.rs:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    argCount: 5
    argNames:
    - algo
    - private_key
    - peer_x
    - peer_y
    - expected_secret
    argTypes:
    - SpdmDheAlgo
    - '&[u8]'
    - '&[u8]'
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 36
      start: 15
    functionDepth: 10
    functionLinenumber: 15
    functionLinenumberEnd: 36
    functionName: verify_vector
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/fips/dhe_st/mod.rs
    functionUses: 0
    functionsReached:
    - compute_final_key
    - '&[u8]::len'
    - dhe::import_private_key
    - copy_from_slice
    - Default::default
    linkageType: ''
    returnType: bool
    signature: 'fn verify_vector(algo: SpdmDheAlgo,private_key: &[u8],peer_x: &[u8],peer_y:
      &[u8],expected_secret: &[u8],) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 811
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6954
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 6954
    functionName: get_cavs_vectors
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/fips/cavs_vectors/rsa_sig_ver.rs
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: '[CavsVector'
    signature: pub fn get_cavs_vectors() -> [CavsVector<'static>; 90]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:24,1
    - Dst: Option::to_be_bytes
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:28,1
    - Dst: Bytes::iter
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:29,1
    - Dst: Self::IntoIter::position
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:29,1
    - Dst: unwrap_or
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:29,1
    - Dst: Bytes::len
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:32,1
    - Dst: push
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:33,1
    - Dst: Bytes::len
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:33,1
    - Dst: extend_from_slice
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 2
    argNames:
    - output
    - length
    argTypes:
    - '&mut Vec<u8>'
    - usize
    constantsTouched: []
    func_position:
      end: 35
      start: 22
    functionDepth: 3
    functionLinenumber: 22
    functionLinenumberEnd: 35
    functionName: append_der_length
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs
    functionUses: 3
    functionsReached:
    - Bytes::len
    - Bytes::iter
    - extend_from_slice
    - Self::IntoIter::position
    - push
    - unwrap_or
    - Option::to_be_bytes
    linkageType: ''
    returnType: void
    signature: 'fn append_der_length(output: &mut Vec<u8>, length: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::iter
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:38,1
    - Dst: Self::IntoIter::position
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:38,1
    - Dst: unwrap_or
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:38,1
    - Dst: u8::len
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:41,1
    - Dst: Vec::with_capacity
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:44,1
    - Dst: u8::len
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:44,1
    - Dst: Elem::push
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:45,1
    - Dst: append_der_length
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:46,1
    - Dst: u8::len
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:46,1
    - Dst: usize::from
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:46,1
    - Dst: Elem::push
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:48,1
    - Dst: Elem::extend_from_slice
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 40
    argCount: 1
    argNames:
    - value
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 52
      start: 37
    functionDepth: 4
    functionLinenumber: 37
    functionLinenumberEnd: 52
    functionName: der_integer
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs
    functionUses: 1
    functionsReached:
    - Elem::push
    - u8::len
    - u8::iter
    - append_der_length
    - Vec::with_capacity
    - Elem::extend_from_slice
    - Self::IntoIter::position
    - unwrap_or
    - usize::from
    linkageType: ''
    returnType: Vec
    signature: 'fn der_integer(value: &[u8]) -> Vec<u8>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::with_capacity
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:55,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:55,1
    - Dst: Elem::push
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:56,1
    - Dst: append_der_length
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:57,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:57,1
    - Dst: Elem::extend_from_slice
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - contents
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 4
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: der_sequence
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs
    functionUses: 1
    functionsReached:
    - Elem::push
    - '&[u8]::len'
    - Vec::with_capacity
    - Elem::extend_from_slice
    - append_der_length
    linkageType: ''
    returnType: Vec
    signature: 'fn der_sequence(contents: &[u8]) -> Vec<u8>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: der_integer
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:63,1
    - Dst: Result::extend_from_slice
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:64,1
    - Dst: der_integer
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:64,1
    - Dst: der_sequence
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:65,1
    - Dst: Vec::with_capacity
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:67,1
    - Dst: Result::len
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:67,1
    - Dst: BytesMutStrubbed::push
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:68,1
    - Dst: append_der_length
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:69,1
    - Dst: Result::len
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:69,1
    - Dst: BytesMutStrubbed::push
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:70,1
    - Dst: BytesMutStrubbed::extend_from_slice
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:71,1
    - Dst: Vec::extend_from_slice
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:76,1
    - Dst: der_sequence
      Src: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 2
    argNames:
    - modulus
    - exponent
    argTypes:
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 78
      start: 62
    functionDepth: 5
    functionLinenumber: 62
    functionLinenumberEnd: 78
    functionName: rsa_spki
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs
    functionUses: 1
    functionsReached:
    - der_sequence
    - Vec::extend_from_slice
    - BytesMutStrubbed::extend_from_slice
    - append_der_length
    - Result::len
    - Vec::with_capacity
    - BytesMutStrubbed::push
    - der_integer
    - Result::extend_from_slice
    linkageType: ''
    returnType: Vec
    signature: 'fn rsa_spki(modulus: &[u8], exponent: &[u8]) -> Vec<u8>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 401
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 401
    functionName: Error::fmt
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter<''_>) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 429
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 429
    functionName: ParseError::fmt
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter<''_>) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 462
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 462
    functionName: SignatureError::fmt
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter<''_>) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 481
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 481
    functionName: TimeError::fmt
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter<''_>) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 498
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 498
    functionName: AlgorithmError::fmt
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter<''_>) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 529
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 529
    functionName: ExtensionError::fmt
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter<''_>) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 556
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 556
    functionName: ChainError::fmt
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter<''_>) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 574
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 574
    functionName: EncodingError::fmt
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter<''_>) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 601
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 601
    functionName: ConstraintError::fmt
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter<''_>) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 619
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 619
    functionName: KeyError::fmt
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter<''_>) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 637
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 637
    functionName: NameError::fmt
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter<''_>) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Error::EncodingError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs:679,1
    - Dst: EncodingError::InvalidPem
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs:679,1
    - Dst: to_string
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - err
    argTypes:
    - pem_rfc7468::Error
    constantsTouched: []
    func_position:
      end: 680
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 680
    functionName: Error::from
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs
    functionUses: 3
    functionsReached:
    - to_string
    - EncodingError::InvalidPem
    - Error::EncodingError
    linkageType: ''
    returnType: Self
    signature: 'fn from(err: pem_rfc7468::Error) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Error::ParseError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs:690,1
    - Dst: ParseError::InvalidDer
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs:690,1
    - Dst: SpdmResult::into
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs:690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - msg
    argTypes:
    - S
    constantsTouched: []
    func_position:
      end: 691
      start: 689
    functionDepth: 4
    functionLinenumber: 689
    functionLinenumberEnd: 691
    functionName: Error::invalid_der
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs
    functionUses: 1
    functionsReached:
    - ParseError::InvalidDer
    - SpdmResult::into
    - Error::ParseError
    linkageType: ''
    returnType: Self
    signature: 'pub fn invalid_der<S: Into<String>>(msg: S) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Error::SignatureError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs:695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 696
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 696
    functionName: Error::signature_failed
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs
    functionUses: 2
    functionsReached:
    - Error::SignatureError
    linkageType: ''
    returnType: Self
    signature: pub fn signature_failed() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Error::AlgorithmError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs:700,1
    - Dst: AlgorithmError::Unsupported
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs:700,1
    - Dst: Option::into
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs:700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - algo
    argTypes:
    - S
    constantsTouched: []
    func_position:
      end: 701
      start: 699
    functionDepth: 4
    functionLinenumber: 699
    functionLinenumberEnd: 701
    functionName: Error::unsupported_algorithm
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs
    functionUses: 10
    functionsReached:
    - AlgorithmError::Unsupported
    - Option::into
    - Error::AlgorithmError
    linkageType: ''
    returnType: Self
    signature: 'pub fn unsupported_algorithm<S: Into<String>>(algo: S) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Error::ParseError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs:705,1
    - Dst: ParseError::MissingField
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs:705,1
    - Dst: Self::into
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs:705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - field
    argTypes:
    - S
    constantsTouched: []
    func_position:
      end: 706
      start: 704
    functionDepth: 4
    functionLinenumber: 704
    functionLinenumberEnd: 706
    functionName: Error::missing_field
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs
    functionUses: 0
    functionsReached:
    - Error::ParseError
    - ParseError::MissingField
    - Self::into
    linkageType: ''
    returnType: Self
    signature: 'pub fn missing_field<S: Into<String>>(field: S) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Error::ExtensionError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs:710,1
    - Dst: ExtensionError::UnrecognizedCriticalExtension
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs:710,1
    - Dst: Result::into
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs:710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - oid
    argTypes:
    - S
    constantsTouched: []
    func_position:
      end: 711
      start: 709
    functionDepth: 4
    functionLinenumber: 709
    functionLinenumberEnd: 711
    functionName: Error::critical_extension
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs
    functionUses: 0
    functionsReached:
    - Result::into
    - ExtensionError::UnrecognizedCriticalExtension
    - Error::ExtensionError
    linkageType: ''
    returnType: Self
    signature: 'pub fn critical_extension<S: Into<String>>(oid: S) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Error::ChainError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs:715,1
    - Dst: ChainError::IssuerNotFound
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs:715,1
    - Dst: '&str::into'
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - S
    constantsTouched: []
    func_position:
      end: 716
      start: 714
    functionDepth: 4
    functionLinenumber: 714
    functionLinenumberEnd: 716
    functionName: Error::issuer_not_found
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs
    functionUses: 0
    functionsReached:
    - ChainError::IssuerNotFound
    - '&str::into'
    - Error::ChainError
    linkageType: ''
    returnType: Self
    signature: 'pub fn issuer_not_found<S: Into<String>>(name: S) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Error::KeyError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs:720,1
    - Dst: into
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs:721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - algorithm
    - bits
    argTypes:
    - S
    - usize
    constantsTouched: []
    func_position:
      end: 724
      start: 719
    functionDepth: 4
    functionLinenumber: 719
    functionLinenumberEnd: 724
    functionName: Error::weak_key
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs
    functionUses: 1
    functionsReached:
    - into
    - Error::KeyError
    linkageType: ''
    returnType: Self
    signature: 'pub fn weak_key<S: Into<String>>(algorithm: S, bits: usize) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Error::ValidationError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs:728,1
    - Dst: SpdmResult::into
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs:728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - S
    constantsTouched: []
    func_position:
      end: 729
      start: 727
    functionDepth: 4
    functionLinenumber: 727
    functionLinenumberEnd: 729
    functionName: Error::validation
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs
    functionUses: 0
    functionsReached:
    - Error::ValidationError
    - SpdmResult::into
    linkageType: ''
    returnType: Self
    signature: 'pub fn validation<S: Into<String>>(msg: S) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Error::InternalError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs:733,1
    - Dst: SpdmResult::into
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - S
    constantsTouched: []
    func_position:
      end: 734
      start: 732
    functionDepth: 4
    functionLinenumber: 732
    functionLinenumberEnd: 734
    functionName: Error::internal
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs
    functionUses: 0
    functionsReached:
    - SpdmResult::into
    - Error::InternalError
    linkageType: ''
    returnType: Self
    signature: 'pub fn internal<S: Into<String>>(msg: S) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Error::signature_failed
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 752
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 752
    functionName: tests::test_error_display
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs
    functionUses: 0
    functionsReached:
    - Error::signature_failed
    linkageType: ''
    returnType: void
    signature: fn test_error_display()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: der::Error::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs:756,1
    - Dst: Self::into
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs:757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 759
      start: 755
    functionDepth: 4
    functionLinenumber: 755
    functionLinenumberEnd: 759
    functionName: tests::test_error_conversions
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs
    functionUses: 0
    functionsReached:
    - der::Error::new
    - Self::into
    linkageType: ''
    returnType: void
    signature: fn test_error_conversions()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Error::invalid_der
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs:763,1
    - Dst: Error::unsupported_algorithm
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs:766,1
    - Dst: Error::weak_key
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs:772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 777
      start: 762
    functionDepth: 5
    functionLinenumber: 762
    functionLinenumberEnd: 777
    functionName: tests::test_helper_constructors
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs
    functionUses: 0
    functionsReached:
    - Error::unsupported_algorithm
    - Error::invalid_der
    - Error::weak_key
    linkageType: ''
    returnType: void
    signature: fn test_helper_constructors()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Error::signature_failed
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs:781,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 784
      start: 780
    functionDepth: 2
    functionLinenumber: 780
    functionLinenumberEnd: 784
    functionName: tests::test_clone
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs
    functionUses: 0
    functionsReached:
    - Error::signature_failed
    - clone
    linkageType: ''
    returnType: void
    signature: fn test_clone()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: Version::value
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: pub fn value(&self) -> u8
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:89,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:90,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:91,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:92,1
    - Dst: Error::Asn1
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:92,1
    - Dst: der::Error::from
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - value
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: Version::from_value
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs
    functionUses: 1
    functionsReached:
    - Error::Asn1
    - Err
    - Ok
    - der::Error::from
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_value(value: u8) -> Result<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: Version::fmt
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter<''_>) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: default_false
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: fn default_false() -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:146,1
    - Dst: der::asn1::OctetString::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:149,1
    - Dst: Self::map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - extn_id
    - critical
    - extn_value
    argTypes:
    - const_oid::ObjectIdentifier
    - bool
    - Vec<u8>
    constantsTouched: []
    func_position:
      end: 151
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 151
    functionName: Extension::new
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs
    functionUses: 1
    functionsReached:
    - Self::map_err
    - Ok
    - der::asn1::OctetString::new
    linkageType: ''
    returnType: Result
    signature: 'pub fn new(extn_id: const_oid::ObjectIdentifier,critical: bool,extn_value:
      Vec<u8>,) -> Result<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_bytes
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: Extension::value
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs
    functionUses: 0
    functionsReached:
    - as_bytes
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn value(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: Extensions::new
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs
    functionUses: 1
    functionsReached:
    - Vec::new
    linkageType: ''
    returnType: Self
    signature: pub fn new() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - extensions
    argTypes:
    - Vec<Extension>
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: Extensions::from_vec
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub fn from_vec(extensions: Vec<Extension>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - extension
    argTypes:
    - Extension
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: Extensions::push
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs
    functionUses: 0
    functionsReached:
    - push
    linkageType: ''
    returnType: void
    signature: 'pub fn push(&mut self, extension: Extension)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 193
    functionName: Extensions::iter
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs
    functionUses: 0
    functionsReached:
    - iter
    linkageType: ''
    returnType: core::slice::Iter
    signature: pub fn iter(&self) -> core::slice::Iter<'_, Extension>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:197,1
    - Dst: find
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - oid
    argTypes:
    - '&const_oid::ObjectIdentifier'
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: Extensions::find
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs
    functionUses: 0
    functionsReached:
    - iter
    - find
    linkageType: ''
    returnType: Option
    signature: 'pub fn find(&self, oid: &const_oid::ObjectIdentifier) -> Option<&Extension>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_empty
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 203
    functionName: Extensions::is_empty
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs
    functionUses: 0
    functionsReached:
    - is_empty
    linkageType: ''
    returnType: bool
    signature: pub fn is_empty(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: Extensions::len
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs
    functionUses: 0
    functionsReached:
    - len
    linkageType: ''
    returnType: usize
    signature: pub fn len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:214,1
    - Dst: Result::read_nested
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:215,1
    - Dst: is_finished
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:216,1
    - Dst: Self::push
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:217,1
    - Dst: Extension::decode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:217,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:219,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:222,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - reader
    - header
    argTypes:
    - '&mut R'
    - Header
    constantsTouched: []
    func_position:
      end: 223
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 223
    functionName: Extensions::decode_value
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs
    functionUses: 0
    functionsReached:
    - Self::push
    - is_finished
    - Vec::new
    - Result::read_nested
    - Ok
    - Extension::decode
    linkageType: ''
    returnType: der::Result
    signature: 'fn decode_value<R: Reader<''a>>(reader: &mut R, header: Header) ->
      der::Result<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::encoded_len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:230,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 233
      start: 227
    functionDepth: 6
    functionLinenumber: 227
    functionLinenumberEnd: 233
    functionName: Extensions::value_len
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs
    functionUses: 0
    functionsReached:
    - bool::encoded_len
    - Ok
    linkageType: ''
    returnType: der::Result
    signature: fn value_len(&self) -> der::Result<Length>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::encode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:237,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - writer
    argTypes:
    - '&mut impl Writer'
    constantsTouched: []
    func_position:
      end: 240
      start: 235
    functionDepth: 3
    functionLinenumber: 235
    functionLinenumberEnd: 240
    functionName: Extensions::encode_value
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs
    functionUses: 0
    functionsReached:
    - bool::encode
    - Ok
    linkageType: ''
    returnType: der::Result
    signature: 'fn encode_value(&self, writer: &mut impl Writer) -> der::Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - serial_number
    - signature
    - issuer
    - validity
    - subject
    - subject_public_key_info
    argTypes:
    - Vec<u8>
    - AlgorithmIdentifier<der::Any>
    - Name
    - Validity
    - Name
    - SpkiInfo<der::Any, BitString>
    constantsTouched: []
    func_position:
      end: 323
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 323
    functionName: TBSCertificate::new
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(serial_number: Vec<u8>,signature: AlgorithmIdentifier<der::Any>,issuer:
      Name,validity: Validity,subject: Name,subject_public_key_info: SpkiInfo<der::Any,
      BitString>,) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: TBSCertificate::serial_number
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn serial_number(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UintRef::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 333
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 333
    functionName: TBSCertificate::serial_number_ref
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs
    functionUses: 2
    functionsReached:
    - UintRef::new
    linkageType: ''
    returnType: der::Result
    signature: fn serial_number_ref(&self) -> der::Result<UintRef<'_>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - extensions
    argTypes:
    - Extensions
    constantsTouched: []
    func_position:
      end: 339
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 339
    functionName: TBSCertificate::with_extensions
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs
    functionUses: 0
    functionsReached:
    - Some
    linkageType: ''
    returnType: Self
    signature: 'pub fn with_extensions(mut self, extensions: Extensions) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Encode::to_der
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:344,1
    - Dst: SpdmResult::map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 345
      start: 342
    functionDepth: 9
    functionLinenumber: 342
    functionLinenumberEnd: 345
    functionName: TBSCertificate::to_der
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs
    functionUses: 0
    functionsReached:
    - SpdmResult::map_err
    - Encode::to_der
    linkageType: ''
    returnType: Result
    signature: pub fn to_der(&self) -> Result<Vec<u8>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::read_nested
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:351,1
    - Dst: context_specific::<UintRef<'a>>
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:352,1
    - Dst: and_then
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:352,1
    - Dst: SimpleLogger::as_bytes
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:355,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:356,1
    - Dst: Version::from_value
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:357,1
    - Dst: Result::ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:357,1
    - Dst: unwrap_or
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:352,1
    - Dst: UintRef::decode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:364,1
    - Dst: '&[u8]::as_bytes'
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:365,1
    - Dst: to_vec
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:365,1
    - Dst: AlgorithmIdentifier::decode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:366,1
    - Dst: Name::decode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:367,1
    - Dst: Validity::decode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:368,1
    - Dst: Name::decode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:369,1
    - Dst: SpkiInfo::<der::Any, BitString>::decode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:370,1
    - Dst: context_specific::<BitString>
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:373,1
    - Dst: context_specific::<BitString>
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:375,1
    - Dst: context_specific::<Extensions>
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:377,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:379,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 2
    argNames:
    - reader
    - header
    argTypes:
    - '&mut R'
    - Header
    constantsTouched: []
    func_position:
      end: 392
      start: 350
    functionDepth: 9
    functionLinenumber: 350
    functionLinenumberEnd: 392
    functionName: TBSCertificate::decode_value
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs
    functionUses: 0
    functionsReached:
    - Name::decode
    - context_specific::<BitString>
    - SimpleLogger::as_bytes
    - Result::ok
    - Validity::decode
    - to_vec
    - Version::from_value
    - SpkiInfo::<der::Any, BitString>::decode
    - context_specific::<Extensions>
    - len
    - UintRef::decode
    - context_specific::<UintRef<'a>>
    - '&[u8]::as_bytes'
    - unwrap_or
    - AlgorithmIdentifier::decode
    - and_then
    - Result::read_nested
    - Ok
    linkageType: ''
    returnType: der::Result
    signature: 'fn decode_value<R: Reader<''a>>(reader: &mut R, header: Header) ->
      der::Result<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:400,1
    - Dst: UintRef::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:401,1
    - Dst: encoded_len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:403,1
    - Dst: TBSCertificate::serial_number_ref
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:411,1
    - Dst: encoded_len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:411,1
    - Dst: encoded_len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:412,1
    - Dst: encoded_len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:413,1
    - Dst: encoded_len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:414,1
    - Dst: encoded_len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:415,1
    - Dst: encoded_len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:416,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:423,1
    - Dst: encoded_len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:420,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:433,1
    - Dst: encoded_len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:430,1
    - Dst: Length::from
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:439,1
    - Dst: Self::encoded_len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:440,1
    - Dst: encoded_len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:441,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:446,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 130
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 447
      start: 396
    functionDepth: 6
    functionLinenumber: 396
    functionLinenumberEnd: 447
    functionName: TBSCertificate::value_len
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs
    functionUses: 0
    functionsReached:
    - TBSCertificate::serial_number_ref
    - clone
    - value
    - UintRef::new
    - encoded_len
    - Self::encoded_len
    - Ok
    - Length::from
    linkageType: ''
    returnType: der::Result
    signature: fn value_len(&self) -> der::Result<Length>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:451,1
    - Dst: UintRef::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:452,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:453,1
    - Dst: TBSCertificate::serial_number_ref
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:461,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:461,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:462,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:463,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:464,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:465,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:466,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:472,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:469,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:481,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:478,1
    - Dst: '&mut impl Writer::write_byte'
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:487,1
    - Dst: Self::to_der
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:488,1
    - Dst: Length::try_from
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:489,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:489,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:489,1
    - Dst: '&mut impl Writer::write'
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:490,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:493,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 93
    argCount: 1
    argNames:
    - writer
    argTypes:
    - '&mut impl Writer'
    constantsTouched: []
    func_position:
      end: 494
      start: 449
    functionDepth: 9
    functionLinenumber: 449
    functionLinenumberEnd: 494
    functionName: TBSCertificate::encode_value
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs
    functionUses: 0
    functionsReached:
    - TBSCertificate::serial_number_ref
    - '&mut impl Writer::write_byte'
    - clone
    - Ok
    - value
    - UintRef::new
    - Length::try_from
    - len
    - '&mut impl Writer::write'
    - Self::to_der
    - encode
    linkageType: ''
    returnType: der::Result
    signature: 'fn encode_value(&self, writer: &mut impl Writer) -> der::Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - tbs_certificate
    - signature_algorithm
    - signature_value
    argTypes:
    - TBSCertificate
    - AlgorithmIdentifier<der::Any>
    - BitString
    constantsTouched: []
    func_position:
      end: 538
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 538
    functionName: Certificate::new
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(tbs_certificate: TBSCertificate,signature_algorithm: AlgorithmIdentifier<der::Any>,signature_value:
      BitString,) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::decode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:542,1
    - Dst: der::SliceReader::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:542,1
    - Dst: Self::map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:542,1
    - Dst: der::Result::map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 543
      start: 541
    functionDepth: 4
    functionLinenumber: 541
    functionLinenumberEnd: 543
    functionName: Certificate::from_der
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs
    functionUses: 13
    functionsReached:
    - der::Result::map_err
    - Self::map_err
    - der::SliceReader::new
    - Self::decode
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_der(bytes: &[u8]) -> Result<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Decoder::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:549,1
    - Dst: Result::as_bytes
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:549,1
    - Dst: Self::map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:549,1
    - Dst: Error::EncodingError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:550,1
    - Dst: crate::error::EncodingError::InvalidPem
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:550,1
    - Dst: to_string
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:550,1
    - Dst: type_label
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:553,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:555,1
    - Dst: Error::EncodingError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:555,1
    - Dst: crate::error::EncodingError::InvalidPem
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:556,1
    - Dst: '&str::to_string'
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:556,1
    - Dst: remaining_len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:560,1
    - Dst: decode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:562,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:562,1
    - Dst: Error::EncodingError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:563,1
    - Dst: crate::error::EncodingError::InvalidPem
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:563,1
    - Dst: to_string
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:563,1
    - Dst: Self::decode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:566,1
    - Dst: der::SliceReader::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:566,1
    - Dst: Self::map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:566,1
    - Dst: der::Result::map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:566,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 46
    argCount: 1
    argNames:
    - pem
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 568
      start: 546
    functionDepth: 6
    functionLinenumber: 546
    functionLinenumberEnd: 568
    functionName: Certificate::from_pem
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs
    functionUses: 0
    functionsReached:
    - type_label
    - decode
    - crate::error::EncodingError::InvalidPem
    - Decoder::new
    - '&str::to_string'
    - map_err
    - Result::as_bytes
    - Err
    - der::SliceReader::new
    - der::Result::map_err
    - to_string
    - Error::EncodingError
    - Self::map_err
    - Self::decode
    - remaining_len
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_pem(pem: &str) -> Result<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Encode::to_der
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:573,1
    - Dst: SpdmResult::map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 574
      start: 571
    functionDepth: 9
    functionLinenumber: 571
    functionLinenumberEnd: 574
    functionName: Certificate::to_der
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs
    functionUses: 2
    functionsReached:
    - SpdmResult::map_err
    - Encode::to_der
    linkageType: ''
    returnType: Result
    signature: pub fn to_der(&self) -> Result<Vec<u8>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Certificate::to_der
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:580,1
    - Dst: pem_rfc7468::encode_string
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:581,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:581,1
    - Dst: Error::EncodingError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:582,1
    - Dst: crate::error::EncodingError::InvalidPem
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:582,1
    - Dst: to_string
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:582,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 584
      start: 577
    functionDepth: 10
    functionLinenumber: 577
    functionLinenumberEnd: 584
    functionName: Certificate::to_pem
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs
    functionUses: 0
    functionsReached:
    - Certificate::to_der
    - crate::error::EncodingError::InvalidPem
    - map_err
    - pem_rfc7468::encode_string
    - to_string
    - Error::EncodingError
    linkageType: ''
    returnType: Result
    signature: pub fn to_pem(&self) -> Result<alloc::string::String>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_der
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 589
      start: 587
    functionDepth: 9
    functionLinenumber: 587
    functionLinenumberEnd: 589
    functionName: Certificate::tbs_certificate_der
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs
    functionUses: 0
    functionsReached:
    - to_der
    linkageType: ''
    returnType: Result
    signature: pub fn tbs_certificate_der(&self) -> Result<Vec<u8>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: raw_bytes
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 594
      start: 592
    functionDepth: 3
    functionLinenumber: 592
    functionLinenumberEnd: 594
    functionName: Certificate::signature_bytes
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs
    functionUses: 0
    functionsReached:
    - raw_bytes
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn signature_bytes(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 599
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 599
    functionName: Certificate::subject
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&Name'
    signature: pub fn subject(&self) -> &Name
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 604
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 604
    functionName: Certificate::issuer
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&Name'
    signature: pub fn issuer(&self) -> &Name
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serial_number
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 609
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 609
    functionName: Certificate::serial_number
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs
    functionUses: 0
    functionsReached:
    - serial_number
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn serial_number(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 614
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 614
    functionName: Certificate::validity
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&Validity'
    signature: pub fn validity(&self) -> &Validity
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 619
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 619
    functionName: Certificate::version
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Version
    signature: pub fn version(&self) -> Version
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 624
      start: 622
    functionDepth: 2
    functionLinenumber: 622
    functionLinenumberEnd: 624
    functionName: Certificate::extensions
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs
    functionUses: 1
    functionsReached:
    - as_ref
    linkageType: ''
    returnType: Option
    signature: pub fn extensions(&self) -> Option<&Extensions>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 639
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 639
    functionName: C::e::r::t::i::f::i::c::a::t::e::::::::i::s::_::c::a::default_false
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: fn default_false() -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: const_oid::ObjectIdentifier::new_unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:641,1
    - Dst: Certificate::extensions
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:643,1
    - Dst: Self::iter
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:648,1
    - Dst: BasicConstraintsView::from_der
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:650,1
    - Dst: bool::value
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:650,1
    - Dst: Result::map
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:650,1
    - Dst: FipsServiceStatus::unwrap_or
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:650,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 657
      start: 628
    functionDepth: 8
    functionLinenumber: 628
    functionLinenumberEnd: 657
    functionName: Certificate::is_ca
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs
    functionUses: 0
    functionsReached:
    - BasicConstraintsView::from_der
    - const_oid::ObjectIdentifier::new_unwrap
    - Certificate::extensions
    - Self::iter
    - bool::value
    - FipsServiceStatus::unwrap_or
    - Result::map
    linkageType: ''
    returnType: bool
    signature: pub fn is_ca(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 662
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 662
    functionName: Certificate::subject_public_key_info
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&SpkiInfo'
    signature: pub fn subject_public_key_info(&self) -> &SpkiInfo<der::Any, BitString>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 667
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 667
    functionName: Certificate::signature_algorithm
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&AlgorithmIdentifier'
    signature: pub fn signature_algorithm(&self) -> &AlgorithmIdentifier<der::Any>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::read_nested
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:673,1
    - Dst: TBSCertificate::decode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:674,1
    - Dst: AlgorithmIdentifier::decode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:675,1
    - Dst: BitString::decode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:676,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:678,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - reader
    - header
    argTypes:
    - '&mut R'
    - Header
    constantsTouched: []
    func_position:
      end: 684
      start: 672
    functionDepth: 4
    functionLinenumber: 672
    functionLinenumberEnd: 684
    functionName: Certificate::decode_value
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs
    functionUses: 0
    functionsReached:
    - BitString::decode
    - TBSCertificate::decode
    - AlgorithmIdentifier::decode
    - Result::read_nested
    - Ok
    linkageType: ''
    returnType: der::Result
    signature: 'fn decode_value<R: Reader<''a>>(reader: &mut R, header: Header) ->
      der::Result<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encoded_len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:689,1
    - Dst: encoded_len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:690,1
    - Dst: encoded_len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:691,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 692
      start: 688
    functionDepth: 6
    functionLinenumber: 688
    functionLinenumberEnd: 692
    functionName: Certificate::value_len
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs
    functionUses: 0
    functionsReached:
    - encoded_len
    linkageType: ''
    returnType: der::Result
    signature: fn value_len(&self) -> der::Result<Length>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:695,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:696,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:697,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:698,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - writer
    argTypes:
    - '&mut impl Writer'
    constantsTouched: []
    func_position:
      end: 699
      start: 694
    functionDepth: 3
    functionLinenumber: 694
    functionLinenumberEnd: 699
    functionName: Certificate::encode_value
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs
    functionUses: 0
    functionsReached:
    - Ok
    - encode
    linkageType: ''
    returnType: der::Result
    signature: 'fn encode_value(&self, writer: &mut impl Writer) -> der::Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:731,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 732
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 732
    functionName: Certificate::fmt
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs
    functionUses: 0
    functionsReached:
    - Ok
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter<''_>) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 755
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 755
    functionName: tests::test_version
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_version()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 762
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 762
    functionName: tests::test_version_display
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_version_display()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Extensions::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 769
      start: 765
    functionDepth: 2
    functionLinenumber: 765
    functionLinenumberEnd: 769
    functionName: tests::test_extensions_new
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs
    functionUses: 0
    functionsReached:
    - Extensions::new
    linkageType: ''
    returnType: void
    signature: fn test_extensions_new()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ObjectIdentifier::new_unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:775,1
    - Dst: Extension::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:778,1
    - Dst: u8::clone
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:778,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs:778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 782
      start: 772
    functionDepth: 5
    functionLinenumber: 772
    functionLinenumberEnd: 782
    functionName: tests::test_extension_create
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs
    functionUses: 0
    functionsReached:
    - u8::clone
    - Extension::new
    - ObjectIdentifier::new_unwrap
    - Result::unwrap
    linkageType: ''
    returnType: void
    signature: fn test_extension_create()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:97,1
    - Dst: SpdmResult::clone
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:97,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:98,1
    - Dst: SpdmResult::to_string
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:98,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:99,1
    - Dst: SpdmResult::as_str
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:99,1
    - Dst: Result::to_string
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:99,1
    - Dst: String::from_utf8
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:100,1
    - Dst: Bytes::clone
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:100,1
    - Dst: or_else
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:100,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:101,1
    - Dst: String::from_utf8_lossy
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:101,1
    - Dst: to_string
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:101,1
    - Dst: Bytes::len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:103,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:104,1
    - Dst: into
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:104,1
    - Dst: Bytes::chunks
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:109,1
    - Dst: (AsChunks::map
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:109,1
    - Dst: u16::from_be_bytes
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:111,1
    - Dst: FipsServiceStatus::collect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:109,1
    - Dst: String::from_utf16
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:113,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:113,1
    - Dst: into
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:114,1
    - Dst: Bytes::len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:121,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:122,1
    - Dst: into
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:122,1
    - Dst: String::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:127,1
    - Dst: Bytes::chunks
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:128,1
    - Dst: u32::from_be_bytes
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:129,1
    - Dst: char::from_u32
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:130,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:130,1
    - Dst: push
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:133,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:135,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 86
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 95
    functionDepth: 12
    functionLinenumber: 95
    functionLinenumberEnd: 138
    functionName: DirectoryString::as_str
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 1
    functionsReached:
    - String::from_utf16
    - SpdmResult::as_str
    - map_err
    - String::from_utf8_lossy
    - Result::to_string
    - push
    - Bytes::len
    - String::from_utf8
    - char::from_u32
    - Bytes::chunks
    - or_else
    - to_string
    - Ok
    - SpdmResult::clone
    - Bytes::clone
    - String::new
    - Err
    - u16::from_be_bytes
    - SpdmResult::to_string
    - into
    - Option::ok_or
    - u32::from_be_bytes
    - FipsServiceStatus::collect
    - (AsChunks::map
    linkageType: ''
    returnType: Result
    signature: pub fn as_str(&self) -> Result<String, Error>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Utf8StringRef::decode_value
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:145,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:146,1
    - Dst: DirectoryString::Utf8String
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:146,1
    - Dst: SpdmResult::as_str
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:146,1
    - Dst: Result::to_string
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:146,1
    - Dst: PrintableString::decode_value
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:149,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:150,1
    - Dst: DirectoryString::PrintableString
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:150,1
    - Dst: Ia5String::decode_value
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:153,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:154,1
    - Dst: DirectoryString::Ia5String
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:154,1
    - Dst: Result::read_vec
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:157,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:158,1
    - Dst: DirectoryString::TeletexString
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:158,1
    - Dst: Result::read_vec
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:161,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:162,1
    - Dst: DirectoryString::BmpString
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:162,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:164,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:165,1
    - Dst: into
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:164,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 2
    argNames:
    - reader
    - header
    argTypes:
    - '&mut R'
    - Header
    constantsTouched: []
    func_position:
      end: 170
      start: 142
    functionDepth: 13
    functionLinenumber: 142
    functionLinenumberEnd: 170
    functionName: DirectoryString::decode_value
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached:
    - DirectoryString::TeletexString
    - DirectoryString::Utf8String
    - PrintableString::decode_value
    - SpdmResult::as_str
    - into
    - DirectoryString::BmpString
    - Err
    - Utf8StringRef::decode_value
    - Result::to_string
    - Result::read_vec
    - DirectoryString::PrintableString
    - Ia5String::decode_value
    - DirectoryString::Ia5String
    - Ok
    - Some
    linkageType: ''
    returnType: der::Result
    signature: 'fn decode_value<R: Reader<''a>>(reader: &mut R, header: Header) ->
      der::Result<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmResult::len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:176,1
    - Dst: usize::try_into
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:176,1
    - Dst: SpdmResult::value_len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:177,1
    - Dst: SpdmResult::value_len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:178,1
    - Dst: Bytes::len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:179,1
    - Dst: usize::try_into
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:179,1
    - Dst: Bytes::len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:180,1
    - Dst: usize::try_into
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:180,1
    - Dst: Bytes::len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:181,1
    - Dst: usize::try_into
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 174
    functionDepth: 4
    functionLinenumber: 174
    functionLinenumberEnd: 183
    functionName: DirectoryString::value_len
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 2
    functionsReached:
    - SpdmResult::value_len
    - usize::try_into
    - Bytes::len
    - SpdmResult::len
    linkageType: ''
    returnType: der::Result
    signature: fn value_len(&self) -> der::Result<Length>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut impl Writer::write'
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:187,1
    - Dst: SpdmResult::as_bytes
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:187,1
    - Dst: SpdmResult::encode_value
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:188,1
    - Dst: SpdmResult::encode_value
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:189,1
    - Dst: '&mut impl Writer::write'
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:190,1
    - Dst: '&mut impl Writer::write'
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:191,1
    - Dst: '&mut impl Writer::write'
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - writer
    argTypes:
    - '&mut impl Writer'
    constantsTouched: []
    func_position:
      end: 194
      start: 185
    functionDepth: 4
    functionLinenumber: 185
    functionLinenumberEnd: 194
    functionName: DirectoryString::encode_value
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 1
    functionsReached:
    - '&mut impl Writer::write'
    - SpdmResult::encode_value
    - SpdmResult::as_bytes
    linkageType: ''
    returnType: der::Result
    signature: 'fn encode_value(&self, writer: &mut impl Writer) -> der::Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 211
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 211
    functionName: DirectoryString::encoding_tag_byte
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: fn encoding_tag_byte(&self) -> u8
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DirectoryString::value_len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:218,1
    - Dst: der::Result::encoded_len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:219,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 217
    functionDepth: 5
    functionLinenumber: 217
    functionLinenumberEnd: 220
    functionName: DirectoryString::encoded_len
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached:
    - der::Result::encoded_len
    - DirectoryString::value_len
    linkageType: ''
    returnType: der::Result
    signature: fn encoded_len(&self) -> der::Result<Length>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut impl Writer::write_byte'
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:223,1
    - Dst: DirectoryString::encoding_tag_byte
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:223,1
    - Dst: DirectoryString::value_len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:224,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:224,1
    - Dst: DirectoryString::encode_value
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - writer
    argTypes:
    - '&mut impl Writer'
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 5
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: DirectoryString::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached:
    - DirectoryString::encode_value
    - '&mut impl Writer::write_byte'
    - DirectoryString::encoding_tag_byte
    - DirectoryString::value_len
    - encode
    linkageType: ''
    returnType: der::Result
    signature: 'fn encode(&self, writer: &mut impl Writer) -> der::Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DirectoryString::as_str
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 235
      start: 230
    functionDepth: 13
    functionLinenumber: 230
    functionLinenumberEnd: 235
    functionName: DirectoryString::fmt
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached:
    - DirectoryString::as_str
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter<''_>) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::read_nested
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:259,1
    - Dst: ObjectIdentifier::decode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:260,1
    - Dst: Result::remaining_len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:263,1
    - Dst: Result::read_vec
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:264,1
    - Dst: is_empty
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:266,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:267,1
    - Dst: into
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:267,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:270,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - reader
    - header
    argTypes:
    - '&mut R'
    - Header
    constantsTouched: []
    func_position:
      end: 272
      start: 258
    functionDepth: 11
    functionLinenumber: 258
    functionLinenumberEnd: 272
    functionName: AttributeTypeAndValue::decode_value
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached:
    - is_empty
    - ObjectIdentifier::decode
    - into
    - Err
    - Result::read_vec
    - Result::remaining_len
    - Result::read_nested
    - Ok
    linkageType: ''
    returnType: der::Result
    signature: 'fn decode_value<R: Reader<''a>>(reader: &mut R, header: Header) ->
      der::Result<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encoded_len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:277,1
    - Dst: Length::try_from
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:278,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 280
      start: 276
    functionDepth: 6
    functionLinenumber: 276
    functionLinenumberEnd: 280
    functionName: AttributeTypeAndValue::value_len
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached:
    - encoded_len
    - Length::try_from
    - len
    linkageType: ''
    returnType: der::Result
    signature: fn value_len(&self) -> der::Result<Length>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:283,1
    - Dst: '&mut impl Writer::write'
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - writer
    argTypes:
    - '&mut impl Writer'
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 3
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: AttributeTypeAndValue::encode_value
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached:
    - '&mut impl Writer::write'
    - encode
    linkageType: ''
    returnType: der::Result
    signature: 'fn encode_value(&self, writer: &mut impl Writer) -> der::Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::to_der
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:294,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - oid
    - value
    argTypes:
    - ObjectIdentifier
    - DirectoryString
    constantsTouched: []
    func_position:
      end: 296
      start: 292
    functionDepth: 9
    functionLinenumber: 292
    functionLinenumberEnd: 296
    functionName: AttributeTypeAndValue::new
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached:
    - Ok
    - u8::to_der
    linkageType: ''
    returnType: Result
    signature: 'pub fn new(oid: ObjectIdentifier, value: DirectoryString) -> Result<Self,
      Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:300,1
    - Dst: DirectoryString::Utf8String
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:300,1
    - Dst: u8::to_string
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - oid
    - value
    argTypes:
    - ObjectIdentifier
    - '&str'
    constantsTouched: []
    func_position:
      end: 301
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 301
    functionName: AttributeTypeAndValue::new_utf8
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 4
    functionsReached:
    - DirectoryString::Utf8String
    - u8::to_string
    - Self::new
    linkageType: ''
    returnType: Result
    signature: 'pub fn new_utf8(oid: ObjectIdentifier, value: &str) -> Result<Self,
      Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PrintableString::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:305,1
    - Dst: Self::map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:305,1
    - Dst: Self::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:308,1
    - Dst: DirectoryString::PrintableString
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - oid
    - value
    argTypes:
    - ObjectIdentifier
    - '&str'
    constantsTouched: []
    func_position:
      end: 309
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 309
    functionName: AttributeTypeAndValue::new_printable
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 1
    functionsReached:
    - PrintableString::new
    - Self::map_err
    - DirectoryString::PrintableString
    - Self::new
    linkageType: ''
    returnType: Result
    signature: 'pub fn new_printable(oid: ObjectIdentifier, value: &str) -> Result<Self,
      Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: first
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:313,1
    - Dst: copied
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:313,1
    - Dst: unwrap_or
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 314
      start: 312
    functionDepth: 3
    functionLinenumber: 312
    functionLinenumberEnd: 314
    functionName: AttributeTypeAndValue::value_tag_byte
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 1
    functionsReached:
    - unwrap_or
    - copied
    - first
    linkageType: ''
    returnType: u8
    signature: pub fn value_tag_byte(&self) -> u8
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:318,1
    - Dst: get
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:324,1
    - Dst: unwrap_or
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:324,1
    - Dst: get
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:327,1
    - Dst: unwrap_or
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:327,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 329
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 329
    functionName: AttributeTypeAndValue::value_content
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 1
    functionsReached:
    - unwrap_or
    - len
    - get
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn value_content(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AttributeTypeAndValue::value_tag_byte
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:336,1
    - Dst: AttributeTypeAndValue::value_content
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:337,1
    - Dst: is_empty
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:339,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:340,1
    - Dst: into
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:340,1
    - Dst: String::from_utf8
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:348,1
    - Dst: to_vec
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:348,1
    - Dst: map
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:348,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:348,1
    - Dst: into
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:351,1
    - Dst: PrintableString::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:358,1
    - Dst: core::str::from_utf8
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:358,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:358,1
    - Dst: Self::map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:358,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:366,1
    - Dst: DirectoryString::PrintableString
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:366,1
    - Dst: Ia5String::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:370,1
    - Dst: core::str::from_utf8
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:370,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:370,1
    - Dst: Self::map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:370,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:378,1
    - Dst: DirectoryString::Ia5String
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:378,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:381,1
    - Dst: DirectoryString::TeletexString
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:381,1
    - Dst: to_vec
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:381,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:383,1
    - Dst: DirectoryString::BmpString
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:383,1
    - Dst: to_vec
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:383,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:385,1
    - Dst: DirectoryString::UniversalString
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:385,1
    - Dst: to_vec
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:385,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:386,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:387,1
    - Dst: Tag::try_from
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:388,1
    - Dst: Result::unwrap_or
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:388,1
    - Dst: into
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:386,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 77
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 392
      start: 335
    functionDepth: 6
    functionLinenumber: 335
    functionLinenumberEnd: 392
    functionName: AttributeTypeAndValue::directory_string
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 1
    functionsReached:
    - DirectoryString::TeletexString
    - is_empty
    - map_err
    - to_vec
    - map
    - PrintableString::new
    - DirectoryString::PrintableString
    - String::from_utf8
    - Tag::try_from
    - Result::unwrap_or
    - AttributeTypeAndValue::value_tag_byte
    - Ia5String::new
    - Ok
    - Some
    - Err
    - DirectoryString::Ia5String
    - into
    - AttributeTypeAndValue::value_content
    - DirectoryString::UniversalString
    - Self::map_err
    - DirectoryString::BmpString
    - core::str::from_utf8
    linkageType: ''
    returnType: Result
    signature: pub fn directory_string(&self) -> Result<DirectoryString, Error>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AttributeTypeAndValue::directory_string
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:396,1
    - Dst: as_str
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 397
      start: 395
    functionDepth: 12
    functionLinenumber: 395
    functionLinenumberEnd: 397
    functionName: AttributeTypeAndValue::value_as_str
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 1
    functionsReached:
    - AttributeTypeAndValue::directory_string
    - as_str
    linkageType: ''
    returnType: Result
    signature: pub fn value_as_str(&self) -> Result<String, Error>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 417
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 417
    functionName: AttributeTypeAndValue::attr_name
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: '&str'
    signature: pub fn attr_name(&self) -> &str
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AttributeTypeAndValue::attr_name
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:422,1
    - Dst: AttributeTypeAndValue::value_as_str
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:423,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 433
      start: 421
    functionDepth: 13
    functionLinenumber: 421
    functionLinenumberEnd: 433
    functionName: AttributeTypeAndValue::fmt
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached:
    - AttributeTypeAndValue::attr_name
    - AttributeTypeAndValue::value_as_str
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter<''_>) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmp
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:438,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:439,1
    - Dst: cmp
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:439,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - other
    argTypes:
    - '&Self'
    constantsTouched: []
    func_position:
      end: 442
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 442
    functionName: AttributeTypeAndValue::value_cmp
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached:
    - Ok
    - cmp
    linkageType: ''
    returnType: der::Result
    signature: 'fn value_cmp(&self, other: &Self) -> der::Result<core::cmp::Ordering>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SetOfVec::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:459,1
    - Dst: Result::insert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:460,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:460,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:463,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - attr
    argTypes:
    - AttributeTypeAndValue
    constantsTouched: []
    func_position:
      end: 464
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 464
    functionName: RelativeDistinguishedName::new
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 3
    functionsReached:
    - Result::insert
    - map_err
    - SetOfVec::new
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn new(attr: AttributeTypeAndValue) -> Result<Self, Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SetOfVec::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:468,1
    - Dst: Result::insert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:470,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:470,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:474,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - attrs
    argTypes:
    - Vec<AttributeTypeAndValue>
    constantsTouched: []
    func_position:
      end: 475
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 475
    functionName: RelativeDistinguishedName::from_attributes
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached:
    - Result::insert
    - map_err
    - SetOfVec::new
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_attributes(attrs: Vec<AttributeTypeAndValue>) -> Result<Self,
      Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:479,1
    - Dst: next
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 480
      start: 478
    functionDepth: 2
    functionLinenumber: 478
    functionLinenumberEnd: 480
    functionName: RelativeDistinguishedName::first
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached:
    - iter
    - next
    linkageType: ''
    returnType: Option
    signature: pub fn first(&self) -> Option<&AttributeTypeAndValue>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 485
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 485
    functionName: RelativeDistinguishedName::is_multi_valued
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached:
    - len
    linkageType: ''
    returnType: bool
    signature: pub fn is_multi_valued(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SetOfVec::decode_value
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:490,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - reader
    - header
    argTypes:
    - '&mut R'
    - Header
    constantsTouched: []
    func_position:
      end: 492
      start: 489
    functionDepth: 3
    functionLinenumber: 489
    functionLinenumberEnd: 492
    functionName: RelativeDistinguishedName::decode_value
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached:
    - SetOfVec::decode_value
    - Ok
    linkageType: ''
    returnType: der::Result
    signature: 'fn decode_value<R: Reader<''a>>(reader: &mut R, header: Header) ->
      der::Result<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value_len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 498
      start: 496
    functionDepth: 7
    functionLinenumber: 496
    functionLinenumberEnd: 498
    functionName: RelativeDistinguishedName::value_len
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached:
    - value_len
    linkageType: ''
    returnType: der::Result
    signature: fn value_len(&self) -> der::Result<Length>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode_value
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - writer
    argTypes:
    - '&mut impl Writer'
    constantsTouched: []
    func_position:
      end: 502
      start: 500
    functionDepth: 4
    functionLinenumber: 500
    functionLinenumberEnd: 502
    functionName: RelativeDistinguishedName::encode_value
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached:
    - encode_value
    linkageType: ''
    returnType: der::Result
    signature: 'fn encode_value(&self, writer: &mut impl Writer) -> der::Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:511,1
    - Dst: map
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:511,1
    - Dst: Vec::to_string
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:511,1
    - Dst: collect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 513
      start: 510
    functionDepth: 8
    functionLinenumber: 510
    functionLinenumberEnd: 513
    functionName: RelativeDistinguishedName::fmt
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached:
    - iter
    - Vec::to_string
    - map
    - collect
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter<''_>) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::read_nested
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:529,1
    - Dst: Vec::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:530,1
    - Dst: Result::is_finished
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:531,1
    - Dst: Self::push
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:532,1
    - Dst: RelativeDistinguishedName::decode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:532,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:534,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - reader
    - header
    argTypes:
    - '&mut R'
    - Header
    constantsTouched: []
    func_position:
      end: 536
      start: 528
    functionDepth: 3
    functionLinenumber: 528
    functionLinenumberEnd: 536
    functionName: RDNSequence::decode_value
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached:
    - RelativeDistinguishedName::decode
    - Self::push
    - Result::is_finished
    - Vec::new
    - Result::read_nested
    - Ok
    linkageType: ''
    returnType: der::Result
    signature: 'fn decode_value<R: Reader<''a>>(reader: &mut R, header: Header) ->
      der::Result<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encoded_len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:543,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:545,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 546
      start: 540
    functionDepth: 6
    functionLinenumber: 540
    functionLinenumberEnd: 546
    functionName: RDNSequence::value_len
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached:
    - encoded_len
    - Ok
    linkageType: ''
    returnType: der::Result
    signature: fn value_len(&self) -> der::Result<Length>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:550,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:552,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - writer
    argTypes:
    - '&mut impl Writer'
    constantsTouched: []
    func_position:
      end: 553
      start: 548
    functionDepth: 3
    functionLinenumber: 548
    functionLinenumberEnd: 553
    functionName: RDNSequence::encode_value
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached:
    - Ok
    - encode
    linkageType: ''
    returnType: der::Result
    signature: 'fn encode_value(&self, writer: &mut impl Writer) -> der::Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 564
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 564
    functionName: RDNSequence::new
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 2
    functionsReached:
    - Vec::new
    linkageType: ''
    returnType: Self
    signature: pub fn new() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - rdns
    argTypes:
    - Vec<RelativeDistinguishedName>
    constantsTouched: []
    func_position:
      end: 569
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 569
    functionName: RDNSequence::from_rdns
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub fn from_rdns(rdns: Vec<RelativeDistinguishedName>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rdn
    argTypes:
    - RelativeDistinguishedName
    constantsTouched: []
    func_position:
      end: 574
      start: 572
    functionDepth: 2
    functionLinenumber: 572
    functionLinenumberEnd: 574
    functionName: RDNSequence::push
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached:
    - push
    linkageType: ''
    returnType: void
    signature: 'pub fn push(&mut self, rdn: RelativeDistinguishedName)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 579
      start: 577
    functionDepth: 2
    functionLinenumber: 577
    functionLinenumberEnd: 579
    functionName: RDNSequence::iter
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached:
    - iter
    linkageType: ''
    returnType: core::slice::Iter
    signature: pub fn iter(&self) -> core::slice::Iter<'_, RelativeDistinguishedName>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:584,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:586,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - oid
    argTypes:
    - ObjectIdentifier
    constantsTouched: []
    func_position:
      end: 591
      start: 582
    functionDepth: 2
    functionLinenumber: 582
    functionLinenumberEnd: 591
    functionName: RDNSequence::find_attr
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 3
    functionsReached:
    - iter
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn find_attr(&self, oid: ObjectIdentifier) -> Option<&AttributeTypeAndValue>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RDNSequence::find_attr
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:595,1
    - Dst: Option::and_then
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:595,1
    - Dst: Vec::value_as_str
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:595,1
    - Dst: Result::ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 596
      start: 594
    functionDepth: 13
    functionLinenumber: 594
    functionLinenumberEnd: 596
    functionName: RDNSequence::common_name
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached:
    - Result::ok
    - Vec::value_as_str
    - RDNSequence::find_attr
    - Option::and_then
    linkageType: ''
    returnType: Option
    signature: pub fn common_name(&self) -> Option<String>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RDNSequence::find_attr
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:600,1
    - Dst: Option::and_then
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:600,1
    - Dst: Vec::value_as_str
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:601,1
    - Dst: Result::ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 602
      start: 599
    functionDepth: 13
    functionLinenumber: 599
    functionLinenumberEnd: 602
    functionName: RDNSequence::organization
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached:
    - Result::ok
    - Vec::value_as_str
    - RDNSequence::find_attr
    - Option::and_then
    linkageType: ''
    returnType: Option
    signature: pub fn organization(&self) -> Option<String>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RDNSequence::find_attr
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:606,1
    - Dst: Option::and_then
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:606,1
    - Dst: Vec::value_as_str
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:607,1
    - Dst: Result::ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 608
      start: 605
    functionDepth: 13
    functionLinenumber: 605
    functionLinenumberEnd: 608
    functionName: RDNSequence::country
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached:
    - Result::ok
    - Vec::value_as_str
    - RDNSequence::find_attr
    - Option::and_then
    linkageType: ''
    returnType: Option
    signature: pub fn country(&self) -> Option<String>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 614
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 614
    functionName: RDNSequence::default
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached:
    - Self::new
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_empty
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:619,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:622,1
    - Dst: rev
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:622,1
    - Dst: map
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:622,1
    - Dst: to_string
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:622,1
    - Dst: collect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:622,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 624
      start: 618
    functionDepth: 8
    functionLinenumber: 618
    functionLinenumberEnd: 624
    functionName: RDNSequence::fmt
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached:
    - is_empty
    - iter
    - map
    - rev
    - to_string
    - collect
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter<''_>) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 670
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 670
    functionName: GeneralName::tag_number
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: TagNumber
    signature: fn tag_number(&self) -> TagNumber
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bytes::len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:675,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:676,1
    - Dst: Bytes::chunks
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:684,1
    - Dst: (AsChunks::map
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:684,1
    - Dst: FipsServiceStatus::collect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:684,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:688,1
    - Dst: join
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:688,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 695
      start: 673
    functionDepth: 8
    functionLinenumber: 673
    functionLinenumberEnd: 695
    functionName: GeneralName::ip_address_string
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 1
    functionsReached:
    - Bytes::len
    - Bytes::chunks
    - FipsServiceStatus::collect
    - (AsChunks::map
    - join
    - Some
    linkageType: ''
    returnType: Option
    signature: pub fn ip_address_string(&self) -> Option<String>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Tag::is_context_specific
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:702,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:703,1
    - Dst: into
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:703,1
    - Dst: Tag::number
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:710,1
    - Dst: Result::read_vec
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:712,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:713,1
    - Dst: GeneralName::OtherName
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:713,1
    - Dst: Result::read_vec
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:716,1
    - Dst: core::str::from_utf8
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:717,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:717,1
    - Dst: to_string
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:717,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:720,1
    - Dst: GeneralName::Rfc822Name
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:720,1
    - Dst: Result::read_vec
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:723,1
    - Dst: core::str::from_utf8
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:724,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:724,1
    - Dst: to_string
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:724,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:727,1
    - Dst: GeneralName::DnsName
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:727,1
    - Dst: Result::read_vec
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:730,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:731,1
    - Dst: GeneralName::X400Address
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:731,1
    - Dst: Result::read_nested
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:739,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:740,1
    - Dst: GeneralName::DirectoryName
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:740,1
    - Dst: Result::read_vec
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:743,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:744,1
    - Dst: GeneralName::EdiPartyName
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:744,1
    - Dst: Result::read_vec
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:747,1
    - Dst: core::str::from_utf8
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:748,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:748,1
    - Dst: to_string
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:748,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:751,1
    - Dst: GeneralName::Uri
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:751,1
    - Dst: Result::read_vec
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:754,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:755,1
    - Dst: GeneralName::IpAddress
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:755,1
    - Dst: ObjectIdentifier::decode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:758,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:759,1
    - Dst: GeneralName::RegisteredId
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:759,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:761,1
    - Dst: into
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:761,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 99
    argCount: 2
    argNames:
    - reader
    - header
    argTypes:
    - '&mut R'
    - Header
    constantsTouched: []
    func_position:
      end: 767
      start: 699
    functionDepth: 11
    functionLinenumber: 699
    functionLinenumberEnd: 767
    functionName: GeneralName::decode_value
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 1
    functionsReached:
    - GeneralName::X400Address
    - map_err
    - GeneralName::RegisteredId
    - GeneralName::DirectoryName
    - GeneralName::Rfc822Name
    - Tag::number
    - GeneralName::OtherName
    - ObjectIdentifier::decode
    - to_string
    - GeneralName::IpAddress
    - Ok
    - Err
    - Result::read_vec
    - Result::read_nested
    - GeneralName::DnsName
    - Tag::is_context_specific
    - GeneralName::Uri
    - into
    - GeneralName::EdiPartyName
    - core::str::from_utf8
    linkageType: ''
    returnType: der::Result
    signature: 'fn decode_value<R: Reader<''a>>(reader: &mut R, header: Header) ->
      der::Result<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bytes::len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:773,1
    - Dst: usize::try_into
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:773,1
    - Dst: SpdmResult::len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:774,1
    - Dst: usize::try_into
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:774,1
    - Dst: SpdmResult::len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:775,1
    - Dst: usize::try_into
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:775,1
    - Dst: Bytes::len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:776,1
    - Dst: usize::try_into
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:776,1
    - Dst: '&str::encoded_len'
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:777,1
    - Dst: Bytes::len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:778,1
    - Dst: usize::try_into
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:778,1
    - Dst: SpdmResult::len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:779,1
    - Dst: usize::try_into
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:779,1
    - Dst: Bytes::len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:780,1
    - Dst: usize::try_into
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:780,1
    - Dst: Result::encoded_len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:781,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 783
      start: 771
    functionDepth: 4
    functionLinenumber: 771
    functionLinenumberEnd: 783
    functionName: GeneralName::value_len
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached:
    - usize::try_into
    - Bytes::len
    - SpdmResult::len
    - '&str::encoded_len'
    - Result::encoded_len
    linkageType: ''
    returnType: der::Result
    signature: fn value_len(&self) -> der::Result<Length>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut impl Writer::write'
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:787,1
    - Dst: '&mut impl Writer::write'
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:788,1
    - Dst: SpdmResult::as_bytes
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:788,1
    - Dst: '&mut impl Writer::write'
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:789,1
    - Dst: SpdmResult::as_bytes
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:789,1
    - Dst: '&mut impl Writer::write'
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:790,1
    - Dst: '&str::encode'
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:791,1
    - Dst: '&mut impl Writer::write'
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:792,1
    - Dst: '&mut impl Writer::write'
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:793,1
    - Dst: SpdmResult::as_bytes
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:793,1
    - Dst: '&mut impl Writer::write'
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:794,1
    - Dst: Result::encode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:795,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 1
    argNames:
    - writer
    argTypes:
    - '&mut impl Writer'
    constantsTouched: []
    func_position:
      end: 797
      start: 785
    functionDepth: 3
    functionLinenumber: 785
    functionLinenumberEnd: 797
    functionName: GeneralName::encode_value
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached:
    - '&mut impl Writer::write'
    - Result::encode
    - '&str::encode'
    - SpdmResult::as_bytes
    linkageType: ''
    returnType: der::Result
    signature: 'fn encode_value(&self, writer: &mut impl Writer) -> der::Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GeneralName::tag_number
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 811
      start: 801
    functionDepth: 1
    functionLinenumber: 801
    functionLinenumberEnd: 811
    functionName: GeneralName::tag
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached:
    - GeneralName::tag_number
    linkageType: ''
    returnType: Tag
    signature: fn tag(&self) -> Tag
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GeneralName::ip_address_string
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:825,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 833
      start: 815
    functionDepth: 9
    functionLinenumber: 815
    functionLinenumberEnd: 833
    functionName: GeneralName::fmt
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached:
    - GeneralName::ip_address_string
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter<''_>) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - names
    argTypes:
    - Vec<GeneralName>
    constantsTouched: []
    func_position:
      end: 851
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 851
    functionName: SubjectAltName::new
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(names: Vec<GeneralName>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:855,1
    - Dst: filter_map
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:855,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:856,1
    - Dst: Self::as_str
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:856,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 859
      start: 854
    functionDepth: 13
    functionLinenumber: 854
    functionLinenumberEnd: 859
    functionName: SubjectAltName::dns_names
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached:
    - filter_map
    - iter
    - Self::as_str
    - Some
    linkageType: ''
    returnType: impl Iterator
    signature: pub fn dns_names(&self) -> impl Iterator<Item = &str>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:863,1
    - Dst: filter_map
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:863,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:864,1
    - Dst: as_str
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:864,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 867
      start: 862
    functionDepth: 13
    functionLinenumber: 862
    functionLinenumberEnd: 867
    functionName: SubjectAltName::email_addresses
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached:
    - as_str
    - filter_map
    - iter
    - Some
    linkageType: ''
    returnType: impl Iterator
    signature: pub fn email_addresses(&self) -> impl Iterator<Item = &str>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:871,1
    - Dst: filter_map
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:871,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:872,1
    - Dst: as_slice
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:872,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 875
      start: 870
    functionDepth: 3
    functionLinenumber: 870
    functionLinenumberEnd: 875
    functionName: SubjectAltName::ip_addresses
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached:
    - filter_map
    - iter
    - as_slice
    - Some
    linkageType: ''
    returnType: impl Iterator
    signature: pub fn ip_addresses(&self) -> impl Iterator<Item = &[u8]>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:879,1
    - Dst: filter_map
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:879,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:880,1
    - Dst: as_str
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:880,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 883
      start: 878
    functionDepth: 13
    functionLinenumber: 878
    functionLinenumberEnd: 883
    functionName: SubjectAltName::uris
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached:
    - as_str
    - filter_map
    - iter
    - Some
    linkageType: ''
    returnType: impl Iterator
    signature: pub fn uris(&self) -> impl Iterator<Item = &str>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:888,1
    - Dst: Result::read_nested
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:889,1
    - Dst: Result::is_finished
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:890,1
    - Dst: Header::decode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:891,1
    - Dst: GeneralName::decode_value
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:892,1
    - Dst: impl Iterator::push
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:893,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:895,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:897,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - reader
    - header
    argTypes:
    - '&mut R'
    - Header
    constantsTouched: []
    func_position:
      end: 898
      start: 887
    functionDepth: 12
    functionLinenumber: 887
    functionLinenumberEnd: 898
    functionName: SubjectAltName::decode_value
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached:
    - GeneralName::decode_value
    - Header::decode
    - Result::is_finished
    - impl Iterator::push
    - Vec::new
    - Result::read_nested
    - Ok
    linkageType: ''
    returnType: der::Result
    signature: 'fn decode_value<R: Reader<''a>>(reader: &mut R, header: Header) ->
      der::Result<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&str::encoded_len'
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:905,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:907,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 908
      start: 902
    functionDepth: 6
    functionLinenumber: 902
    functionLinenumberEnd: 908
    functionName: SubjectAltName::value_len
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached:
    - '&str::encoded_len'
    - Ok
    linkageType: ''
    returnType: der::Result
    signature: fn value_len(&self) -> der::Result<Length>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&str::encode'
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:912,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:914,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - writer
    argTypes:
    - '&mut impl Writer'
    constantsTouched: []
    func_position:
      end: 915
      start: 910
    functionDepth: 3
    functionLinenumber: 910
    functionLinenumberEnd: 915
    functionName: SubjectAltName::encode_value
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached:
    - Ok
    - '&str::encode'
    linkageType: ''
    returnType: der::Result
    signature: 'fn encode_value(&self, writer: &mut impl Writer) -> der::Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:924,1
    - Dst: map
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:924,1
    - Dst: to_string
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:924,1
    - Dst: collect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:924,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 926
      start: 923
    functionDepth: 8
    functionLinenumber: 923
    functionLinenumberEnd: 926
    functionName: SubjectAltName::fmt
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached:
    - iter
    - to_string
    - map
    - collect
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter<''_>) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DirectoryString::Utf8String
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:940,1
    - Dst: '&str::to_string'
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:940,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 943
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 943
    functionName: tests::test_directory_string_utf8
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached:
    - '&str::to_string'
    - DirectoryString::Utf8String
    linkageType: ''
    returnType: void
    signature: fn test_directory_string_utf8()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AttributeTypeAndValue::new_utf8
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:947,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 952
      start: 946
    functionDepth: 5
    functionLinenumber: 946
    functionLinenumberEnd: 952
    functionName: tests::test_attribute_type_and_value
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - AttributeTypeAndValue::new_utf8
    linkageType: ''
    returnType: void
    signature: fn test_attribute_type_and_value()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AttributeTypeAndValue::new_utf8
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:956,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:956,1
    - Dst: RelativeDistinguishedName::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:957,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 960
      start: 955
    functionDepth: 5
    functionLinenumber: 955
    functionLinenumberEnd: 960
    functionName: tests::test_rdn
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - AttributeTypeAndValue::new_utf8
    - RelativeDistinguishedName::new
    linkageType: ''
    returnType: void
    signature: fn test_rdn()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RDNSequence::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:964,1
    - Dst: AttributeTypeAndValue::new_utf8
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:966,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:966,1
    - Dst: '&str::push'
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:967,1
    - Dst: RelativeDistinguishedName::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:967,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:967,1
    - Dst: AttributeTypeAndValue::new_utf8
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:969,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:969,1
    - Dst: '&str::push'
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:970,1
    - Dst: RelativeDistinguishedName::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:970,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:970,1
    - Dst: AttributeTypeAndValue::new_printable
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:972,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:972,1
    - Dst: '&str::push'
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:973,1
    - Dst: RelativeDistinguishedName::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:973,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:973,1
    - Dst: '&str::to_string'
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 981
      start: 963
    functionDepth: 5
    functionLinenumber: 963
    functionLinenumberEnd: 981
    functionName: tests::test_rdn_sequence
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached:
    - AttributeTypeAndValue::new_utf8
    - '&str::to_string'
    - Result::unwrap
    - RDNSequence::new
    - AttributeTypeAndValue::new_printable
    - '&str::push'
    - RelativeDistinguishedName::new
    linkageType: ''
    returnType: void
    signature: fn test_rdn_sequence()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GeneralName::DnsName
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:985,1
    - Dst: '&str::to_string'
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:985,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 987
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 987
    functionName: tests::test_general_name_dns
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached:
    - '&str::to_string'
    - GeneralName::DnsName
    linkageType: ''
    returnType: void
    signature: fn test_general_name_dns()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GeneralName::Rfc822Name
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:991,1
    - Dst: '&str::to_string'
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:991,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 993
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 993
    functionName: tests::test_general_name_email
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached:
    - GeneralName::Rfc822Name
    - '&str::to_string'
    linkageType: ''
    returnType: void
    signature: fn test_general_name_email()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GeneralName::IpAddress
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 1000
    functionName: tests::test_general_name_ip
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached:
    - GeneralName::IpAddress
    linkageType: ''
    returnType: void
    signature: fn test_general_name_ip()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SubjectAltName::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:1004,1
    - Dst: Self::dns_names
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:1011,1
    - Dst: impl Iterator::collect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:1011,1
    - Dst: Self::email_addresses
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:1016,1
    - Dst: impl Iterator::collect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1003
    functionDepth: 14
    functionLinenumber: 1003
    functionLinenumberEnd: 1019
    functionName: tests::test_subject_alt_name
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached:
    - Self::email_addresses
    - SubjectAltName::new
    - impl Iterator::collect
    - Self::dns_names
    linkageType: ''
    returnType: void
    signature: fn test_subject_alt_name()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1026
    functionName: tests::test_common_oids
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_common_oids()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RDNSequence::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:1030,1
    - Dst: AttributeTypeAndValue::new_utf8
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:1032,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:1032,1
    - Dst: '&str::push'
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:1033,1
    - Dst: RelativeDistinguishedName::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:1033,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:1033,1
    - Dst: AttributeTypeAndValue::new_utf8
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:1035,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:1035,1
    - Dst: '&str::push'
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:1036,1
    - Dst: RelativeDistinguishedName::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:1036,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:1036,1
    - Dst: '&str::to_der'
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:1038,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:1038,1
    - Dst: RDNSequence::from_der
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:1039,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs:1039,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1029
    functionDepth: 9
    functionLinenumber: 1029
    functionLinenumberEnd: 1044
    functionName: tests::test_encode_decode_rdn_sequence
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
    functionUses: 0
    functionsReached:
    - SpdmResult::unwrap
    - AttributeTypeAndValue::new_utf8
    - Result::unwrap
    - RDNSequence::new
    - RDNSequence::from_der
    - '&str::to_der'
    - '&str::push'
    - RelativeDistinguishedName::new
    linkageType: ''
    returnType: void
    signature: fn test_encode_decode_rdn_sequence()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - certificates
    argTypes:
    - Vec<Certificate>
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: CertificateChain::new
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/chain/mod.rs
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(certificates: Vec<Certificate>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cert
    argTypes:
    - Certificate
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: CertificateChain::single
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/chain/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub fn single(cert: Certificate) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/chain/mod.rs:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cert
    argTypes:
    - Certificate
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: CertificateChain::push
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/chain/mod.rs
    functionUses: 0
    functionsReached:
    - push
    linkageType: ''
    returnType: void
    signature: 'pub fn push(&mut self, cert: Certificate)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: first
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/chain/mod.rs:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: CertificateChain::leaf
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/chain/mod.rs
    functionUses: 0
    functionsReached:
    - first
    linkageType: ''
    returnType: Option
    signature: pub fn leaf(&self) -> Option<&Certificate>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: last
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/chain/mod.rs:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: CertificateChain::root
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/chain/mod.rs
    functionUses: 0
    functionsReached:
    - last
    linkageType: ''
    returnType: Option
    signature: pub fn root(&self) -> Option<&Certificate>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/chain/mod.rs:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: CertificateChain::len
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/chain/mod.rs
    functionUses: 0
    functionsReached:
    - len
    linkageType: ''
    returnType: usize
    signature: pub fn len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_empty
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/chain/mod.rs:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: CertificateChain::is_empty
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/chain/mod.rs
    functionUses: 0
    functionsReached:
    - is_empty
    linkageType: ''
    returnType: bool
    signature: pub fn is_empty(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/chain/mod.rs:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: CertificateChain::iter
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/chain/mod.rs
    functionUses: 0
    functionsReached:
    - iter
    linkageType: ''
    returnType: core::slice::Iter
    signature: pub fn iter(&self) -> core::slice::Iter<'_, Certificate>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/cert_operation_impl.rs:50,1
    - Dst: X509Error::unsupported_algorithm
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/cert_operation_impl.rs:50,1
    - Dst: UnparsedPublicKey::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/cert_operation_impl.rs:56,1
    - Dst: Self::verify
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/cert_operation_impl.rs:57,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/cert_operation_impl.rs:57,1
    - Dst: X509Error::SignatureError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/cert_operation_impl.rs:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 4
    argNames:
    - algorithm
    - tbs_data
    - signature
    - public_key
    argTypes:
    - SignatureAlgorithm
    - '&[u8]'
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 59
      start: 28
    functionDepth: 5
    functionLinenumber: 28
    functionLinenumberEnd: 59
    functionName: RingBackend::verify_signature
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/cert_operation_impl.rs
    functionUses: 0
    functionsReached:
    - X509Error::SignatureError
    - UnparsedPublicKey::new
    - Self::verify
    - map_err
    - Err
    - X509Error::unsupported_algorithm
    linkageType: ''
    returnType: X509Result
    signature: 'fn verify_signature(&self,algorithm: SignatureAlgorithm,tbs_data:
      &[u8],signature: &[u8],public_key: &[u8],) -> X509Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: tests::test_ring_backend_creation
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/ring.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_ring_backend_creation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:99,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:100,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:101,1
    - Dst: Error::unsupported_algorithm
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:101,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:105,1
    - Dst: Error::unsupported_algorithm
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:105,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:110,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:111,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:112,1
    - Dst: Error::unsupported_algorithm
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:112,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:116,1
    - Dst: Error::unsupported_algorithm
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:116,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:120,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:121,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:122,1
    - Dst: Self::parse_rsa_pss_params
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:123,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:124,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:125,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:126,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:127,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:128,1
    - Dst: Error::unsupported_algorithm
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    argCount: 3
    argNames:
    - sig_oid
    - curve_oid
    - params
    argTypes:
    - '&ObjectIdentifier'
    - Option<&ObjectIdentifier>
    - Option<&der::Any>
    constantsTouched: []
    func_position:
      end: 132
      start: 68
    functionDepth: 8
    functionLinenumber: 68
    functionLinenumberEnd: 132
    functionName: SignatureAlgorithm::from_oid_with_params
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs
    functionUses: 13
    functionsReached:
    - Error::unsupported_algorithm
    - Self::parse_rsa_pss_params
    - Err
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_oid_with_params(sig_oid: &ObjectIdentifier,curve_oid:
      Option<&ObjectIdentifier>,params: Option<&der::Any>,) -> Result<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::from_oid_with_params
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - sig_oid
    - curve_oid
    argTypes:
    - '&ObjectIdentifier'
    - Option<&ObjectIdentifier>
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 9
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: SignatureAlgorithm::from_oid_with_curve
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs
    functionUses: 2
    functionsReached:
    - Self::from_oid_with_params
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_oid_with_curve(sig_oid: &ObjectIdentifier,curve_oid: Option<&ObjectIdentifier>,)
      -> Result<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::from_oid_with_params
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - oid
    argTypes:
    - '&ObjectIdentifier'
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 9
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: SignatureAlgorithm::from_oid
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs
    functionUses: 1
    functionsReached:
    - Self::from_oid_with_params
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_oid(oid: &ObjectIdentifier) -> Result<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:160,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:161,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:162,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:163,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:165,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:166,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:167,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:169,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:170,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:171,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:173,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:175,1
    - Dst: Error::unsupported_algorithm
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - hash
    - asym
    argTypes:
    - crate::x509::signature::SpdmBaseHashAlgo
    - crate::x509::signature::SpdmBaseAsymAlgo
    constantsTouched: []
    func_position:
      end: 181
      start: 153
    functionDepth: 5
    functionLinenumber: 153
    functionLinenumberEnd: 181
    functionName: SignatureAlgorithm::from_spdm_algos
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs
    functionUses: 9
    functionsReached:
    - Error::unsupported_algorithm
    - Err
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_spdm_algos(hash: crate::x509::signature::SpdmBaseHashAlgo,asym:
      crate::x509::signature::SpdmBaseAsymAlgo,) -> Result<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:206,1
    - Dst: Error::unsupported_algorithm
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:206,1
    - Dst: SliceReader::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:213,1
    - Dst: Result::value
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:213,1
    - Dst: Self::map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:213,1
    - Dst: Error::unsupported_algorithm
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:214,1
    - Dst: context_specific::<AlgorithmIdentifier<der::Any>>
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:217,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:217,1
    - Dst: flatten
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:217,1
    - Dst: map
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:217,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:224,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:225,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:226,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:227,1
    - Dst: Error::unsupported_algorithm
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:227,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:233,1
    - Dst: Error::unsupported_algorithm
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 37
    argCount: 1
    argNames:
    - params
    argTypes:
    - Option<&der::Any>
    constantsTouched: []
    func_position:
      end: 237
      start: 193
    functionDepth: 7
    functionLinenumber: 193
    functionLinenumberEnd: 237
    functionName: SignatureAlgorithm::parse_rsa_pss_params
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs
    functionUses: 0
    functionsReached:
    - ok
    - context_specific::<AlgorithmIdentifier<der::Any>>
    - flatten
    - Err
    - map
    - Result::value
    - SliceReader::new
    - Error::unsupported_algorithm
    - Self::map_err
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn parse_rsa_pss_params(params: Option<&der::Any>) -> Result<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_init_once
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:294,1
    - Dst: is_ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - verifier
    argTypes:
    - PqcVerifyFn
    constantsTouched: []
    func_position:
      end: 295
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 295
    functionName: register_pqc_verifier
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs
    functionUses: 0
    functionsReached:
    - try_init_once
    - is_ok
    linkageType: ''
    returnType: bool
    signature: 'pub fn register_pqc_verifier(verifier: PqcVerifyFn) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:308,1
    - Dst: verifier
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:309,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:310,1
    - Dst: Error::unsupported_algorithm
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - algorithm
    - tbs_data
    - signature
    - public_key
    argTypes:
    - SignatureAlgorithm
    - '&[u8]'
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 314
      start: 302
    functionDepth: 5
    functionLinenumber: 302
    functionLinenumberEnd: 314
    functionName: verify_pqc_signature
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs
    functionUses: 2
    functionsReached:
    - Error::unsupported_algorithm
    - Err
    - try_get
    - verifier
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn verify_pqc_signature(algorithm: SignatureAlgorithm,tbs_data:
      &[u8],signature: &[u8],public_key: &[u8],) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - SignatureAlgorithm
    constantsTouched: []
    func_position:
      end: 322
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 322
    functionName: is_pqc
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'pub(crate) fn is_pqc(algorithm: SignatureAlgorithm) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:332,1
    - Dst: is_ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 333
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 333
    functionName: pqc_verifier_registered
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs
    functionUses: 1
    functionsReached:
    - is_ok
    - try_get
    linkageType: ''
    returnType: bool
    signature: pub(crate) fn pqc_verifier_registered() -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ObjectIdentifier::new_unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:344,1
    - Dst: ObjectIdentifier::new_unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:345,1
    - Dst: SignatureAlgorithm::from_oid_with_params
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:346,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 348
      start: 343
    functionDepth: 9
    functionLinenumber: 343
    functionLinenumberEnd: 348
    functionName: tests::test_ecdsa_sha256_with_p256
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs
    functionUses: 0
    functionsReached:
    - SignatureAlgorithm::from_oid_with_params
    - ObjectIdentifier::new_unwrap
    - Some
    linkageType: ''
    returnType: void
    signature: fn test_ecdsa_sha256_with_p256()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ObjectIdentifier::new_unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:352,1
    - Dst: ObjectIdentifier::new_unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:353,1
    - Dst: SignatureAlgorithm::from_oid_with_params
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:354,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 356
      start: 351
    functionDepth: 9
    functionLinenumber: 351
    functionLinenumberEnd: 356
    functionName: tests::test_ecdsa_sha256_with_p384
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs
    functionUses: 0
    functionsReached:
    - SignatureAlgorithm::from_oid_with_params
    - ObjectIdentifier::new_unwrap
    - Some
    linkageType: ''
    returnType: void
    signature: fn test_ecdsa_sha256_with_p384()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ObjectIdentifier::new_unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:360,1
    - Dst: ObjectIdentifier::new_unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:361,1
    - Dst: SignatureAlgorithm::from_oid_with_params
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:362,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 364
      start: 359
    functionDepth: 9
    functionLinenumber: 359
    functionLinenumberEnd: 364
    functionName: tests::test_ecdsa_sha256_unknown_curve_rejected
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs
    functionUses: 0
    functionsReached:
    - SignatureAlgorithm::from_oid_with_params
    - ObjectIdentifier::new_unwrap
    - Some
    linkageType: ''
    returnType: void
    signature: fn test_ecdsa_sha256_unknown_curve_rejected()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ObjectIdentifier::new_unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:368,1
    - Dst: SignatureAlgorithm::from_oid_with_params
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 371
      start: 367
    functionDepth: 9
    functionLinenumber: 367
    functionLinenumberEnd: 371
    functionName: tests::test_ecdsa_sha256_missing_curve_rejected
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs
    functionUses: 0
    functionsReached:
    - SignatureAlgorithm::from_oid_with_params
    - ObjectIdentifier::new_unwrap
    linkageType: ''
    returnType: void
    signature: fn test_ecdsa_sha256_missing_curve_rejected()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ObjectIdentifier::new_unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:375,1
    - Dst: ObjectIdentifier::new_unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:376,1
    - Dst: SignatureAlgorithm::from_oid_with_params
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:377,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 379
      start: 374
    functionDepth: 9
    functionLinenumber: 374
    functionLinenumberEnd: 379
    functionName: tests::test_ecdsa_sha384_with_p256
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs
    functionUses: 0
    functionsReached:
    - SignatureAlgorithm::from_oid_with_params
    - ObjectIdentifier::new_unwrap
    - Some
    linkageType: ''
    returnType: void
    signature: fn test_ecdsa_sha384_with_p256()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ObjectIdentifier::new_unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:383,1
    - Dst: ObjectIdentifier::new_unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:384,1
    - Dst: SignatureAlgorithm::from_oid_with_params
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:385,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 387
      start: 382
    functionDepth: 9
    functionLinenumber: 382
    functionLinenumberEnd: 387
    functionName: tests::test_ecdsa_sha384_with_p384
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs
    functionUses: 0
    functionsReached:
    - SignatureAlgorithm::from_oid_with_params
    - ObjectIdentifier::new_unwrap
    - Some
    linkageType: ''
    returnType: void
    signature: fn test_ecdsa_sha384_with_p384()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ObjectIdentifier::new_unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:391,1
    - Dst: ObjectIdentifier::new_unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:392,1
    - Dst: SignatureAlgorithm::from_oid_with_params
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:393,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 395
      start: 390
    functionDepth: 9
    functionLinenumber: 390
    functionLinenumberEnd: 395
    functionName: tests::test_ecdsa_sha384_unknown_curve_rejected
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs
    functionUses: 0
    functionsReached:
    - SignatureAlgorithm::from_oid_with_params
    - ObjectIdentifier::new_unwrap
    - Some
    linkageType: ''
    returnType: void
    signature: fn test_ecdsa_sha384_unknown_curve_rejected()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ObjectIdentifier::new_unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:399,1
    - Dst: SignatureAlgorithm::from_oid_with_params
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 402
      start: 398
    functionDepth: 9
    functionLinenumber: 398
    functionLinenumberEnd: 402
    functionName: tests::test_ecdsa_sha384_missing_curve_rejected
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs
    functionUses: 0
    functionsReached:
    - SignatureAlgorithm::from_oid_with_params
    - ObjectIdentifier::new_unwrap
    linkageType: ''
    returnType: void
    signature: fn test_ecdsa_sha384_missing_curve_rejected()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ObjectIdentifier::new_unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 413
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 413
    functionName: tests::test_rsa_pkcs1_sha256
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs
    functionUses: 0
    functionsReached:
    - ObjectIdentifier::new_unwrap
    linkageType: ''
    returnType: void
    signature: fn test_rsa_pkcs1_sha256()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ObjectIdentifier::new_unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 422
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 422
    functionName: tests::test_rsa_pkcs1_sha384
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs
    functionUses: 0
    functionsReached:
    - ObjectIdentifier::new_unwrap
    linkageType: ''
    returnType: void
    signature: fn test_rsa_pkcs1_sha384()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ObjectIdentifier::new_unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 431
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 431
    functionName: tests::test_rsa_pkcs1_sha512
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs
    functionUses: 0
    functionsReached:
    - ObjectIdentifier::new_unwrap
    linkageType: ''
    returnType: void
    signature: fn test_rsa_pkcs1_sha512()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ObjectIdentifier::new_unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 442
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 442
    functionName: tests::test_ed25519
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs
    functionUses: 0
    functionsReached:
    - ObjectIdentifier::new_unwrap
    linkageType: ''
    returnType: void
    signature: fn test_ed25519()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ObjectIdentifier::new_unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 453
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 453
    functionName: tests::test_ml_dsa_44_oid
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs
    functionUses: 0
    functionsReached:
    - ObjectIdentifier::new_unwrap
    linkageType: ''
    returnType: void
    signature: fn test_ml_dsa_44_oid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ObjectIdentifier::new_unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 462
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 462
    functionName: tests::test_ml_dsa_65_oid
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs
    functionUses: 0
    functionsReached:
    - ObjectIdentifier::new_unwrap
    linkageType: ''
    returnType: void
    signature: fn test_ml_dsa_65_oid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ObjectIdentifier::new_unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 471
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 471
    functionName: tests::test_ml_dsa_87_oid
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs
    functionUses: 0
    functionsReached:
    - ObjectIdentifier::new_unwrap
    linkageType: ''
    returnType: void
    signature: fn test_ml_dsa_87_oid()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 480
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 480
    functionName: tests::test_is_pqc
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_is_pqc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::verify_pqc_signature
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 489
      start: 483
    functionDepth: 6
    functionLinenumber: 483
    functionLinenumberEnd: 489
    functionName: tests::test_pqc_verify_without_registered_hook_errors
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs
    functionUses: 0
    functionsReached:
    - super::verify_pqc_signature
    linkageType: ''
    returnType: void
    signature: fn test_pqc_verify_without_registered_hook_errors()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ObjectIdentifier::new_unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 497
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 497
    functionName: tests::test_unknown_sig_oid_rejected
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs
    functionUses: 0
    functionsReached:
    - ObjectIdentifier::new_unwrap
    linkageType: ''
    returnType: void
    signature: fn test_unknown_sig_oid_rejected()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ObjectIdentifier::new_unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:503,1
    - Dst: SignatureAlgorithm::from_oid
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 507
      start: 502
    functionDepth: 10
    functionLinenumber: 502
    functionLinenumberEnd: 507
    functionName: tests::test_rsa_pss_no_params_rejected
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs
    functionUses: 0
    functionsReached:
    - SignatureAlgorithm::from_oid
    - ObjectIdentifier::new_unwrap
    linkageType: ''
    returnType: void
    signature: fn test_rsa_pss_no_params_rejected()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: der::Any::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:521,1
    - Dst: Self::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:521,1
    - Dst: ObjectIdentifier::new_unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:522,1
    - Dst: SignatureAlgorithm::from_oid_with_params
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:523,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 525
      start: 510
    functionDepth: 9
    functionLinenumber: 510
    functionLinenumberEnd: 525
    functionName: tests::test_rsa_pss_sha256_params
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs
    functionUses: 0
    functionsReached:
    - SignatureAlgorithm::from_oid_with_params
    - Self::unwrap
    - der::Any::new
    - ObjectIdentifier::new_unwrap
    - Some
    linkageType: ''
    returnType: void
    signature: fn test_rsa_pss_sha256_params()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: der::Any::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:535,1
    - Dst: Self::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:535,1
    - Dst: ObjectIdentifier::new_unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:536,1
    - Dst: SignatureAlgorithm::from_oid_with_params
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:537,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 539
      start: 528
    functionDepth: 9
    functionLinenumber: 528
    functionLinenumberEnd: 539
    functionName: tests::test_rsa_pss_sha384_params
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs
    functionUses: 0
    functionsReached:
    - SignatureAlgorithm::from_oid_with_params
    - Self::unwrap
    - der::Any::new
    - ObjectIdentifier::new_unwrap
    - Some
    linkageType: ''
    returnType: void
    signature: fn test_rsa_pss_sha384_params()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: der::Any::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:549,1
    - Dst: Self::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:549,1
    - Dst: ObjectIdentifier::new_unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:550,1
    - Dst: SignatureAlgorithm::from_oid_with_params
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:551,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 553
      start: 542
    functionDepth: 9
    functionLinenumber: 542
    functionLinenumberEnd: 553
    functionName: tests::test_rsa_pss_sha512_params
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs
    functionUses: 0
    functionsReached:
    - SignatureAlgorithm::from_oid_with_params
    - Self::unwrap
    - der::Any::new
    - ObjectIdentifier::new_unwrap
    - Some
    linkageType: ''
    returnType: void
    signature: fn test_rsa_pss_sha512_params()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: der::Any::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:559,1
    - Dst: Self::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:559,1
    - Dst: ObjectIdentifier::new_unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:560,1
    - Dst: SignatureAlgorithm::from_oid_with_params
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:561,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 566
      start: 556
    functionDepth: 9
    functionLinenumber: 556
    functionLinenumberEnd: 566
    functionName: tests::test_rsa_pss_empty_params_sha1_rejected
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs
    functionUses: 0
    functionsReached:
    - SignatureAlgorithm::from_oid_with_params
    - Self::unwrap
    - der::Any::new
    - ObjectIdentifier::new_unwrap
    - Some
    linkageType: ''
    returnType: void
    signature: fn test_rsa_pss_empty_params_sha1_rejected()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SignatureAlgorithm::from_spdm_algos
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 577
      start: 571
    functionDepth: 6
    functionLinenumber: 571
    functionLinenumberEnd: 577
    functionName: tests::test_from_spdm_algos_ecdsa_p256_sha256
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs
    functionUses: 0
    functionsReached:
    - SignatureAlgorithm::from_spdm_algos
    linkageType: ''
    returnType: void
    signature: fn test_from_spdm_algos_ecdsa_p256_sha256()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SignatureAlgorithm::from_spdm_algos
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 586
      start: 580
    functionDepth: 6
    functionLinenumber: 580
    functionLinenumberEnd: 586
    functionName: tests::test_from_spdm_algos_ecdsa_p384_sha384
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs
    functionUses: 0
    functionsReached:
    - SignatureAlgorithm::from_spdm_algos
    linkageType: ''
    returnType: void
    signature: fn test_from_spdm_algos_ecdsa_p384_sha384()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SignatureAlgorithm::from_spdm_algos
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 595
      start: 589
    functionDepth: 6
    functionLinenumber: 589
    functionLinenumberEnd: 595
    functionName: tests::test_from_spdm_algos_rsa_pkcs1_sha256
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs
    functionUses: 0
    functionsReached:
    - SignatureAlgorithm::from_spdm_algos
    linkageType: ''
    returnType: void
    signature: fn test_from_spdm_algos_rsa_pkcs1_sha256()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SignatureAlgorithm::from_spdm_algos
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 604
      start: 598
    functionDepth: 6
    functionLinenumber: 598
    functionLinenumberEnd: 604
    functionName: tests::test_from_spdm_algos_rsa_pkcs1_sha384_3072
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs
    functionUses: 0
    functionsReached:
    - SignatureAlgorithm::from_spdm_algos
    linkageType: ''
    returnType: void
    signature: fn test_from_spdm_algos_rsa_pkcs1_sha384_3072()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SignatureAlgorithm::from_spdm_algos
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 613
      start: 607
    functionDepth: 6
    functionLinenumber: 607
    functionLinenumberEnd: 613
    functionName: tests::test_from_spdm_algos_rsa_pss_sha512_4096
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs
    functionUses: 0
    functionsReached:
    - SignatureAlgorithm::from_spdm_algos
    linkageType: ''
    returnType: void
    signature: fn test_from_spdm_algos_rsa_pss_sha512_4096()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SignatureAlgorithm::from_spdm_algos
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:618,1
    - Dst: SignatureAlgorithm::from_spdm_algos
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 628
      start: 616
    functionDepth: 6
    functionLinenumber: 616
    functionLinenumberEnd: 628
    functionName: tests::test_from_spdm_algos_ed25519_any_hash
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs
    functionUses: 0
    functionsReached:
    - SignatureAlgorithm::from_spdm_algos
    linkageType: ''
    returnType: void
    signature: fn test_from_spdm_algos_ed25519_any_hash()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SignatureAlgorithm::from_spdm_algos
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 638
      start: 631
    functionDepth: 6
    functionLinenumber: 631
    functionLinenumberEnd: 638
    functionName: tests::test_from_spdm_algos_unsupported_combo
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs
    functionUses: 0
    functionsReached:
    - SignatureAlgorithm::from_spdm_algos
    linkageType: ''
    returnType: void
    signature: fn test_from_spdm_algos_unsupported_combo()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SignatureAlgorithm::from_spdm_algos
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 647
      start: 641
    functionDepth: 6
    functionLinenumber: 641
    functionLinenumberEnd: 647
    functionName: tests::test_from_spdm_algos_sm3_ecdsa_unsupported
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs
    functionUses: 0
    functionsReached:
    - SignatureAlgorithm::from_spdm_algos
    linkageType: ''
    returnType: void
    signature: fn test_from_spdm_algos_sm3_ecdsa_unsupported()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ObjectIdentifier::new_unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:653,1
    - Dst: ObjectIdentifier::new_unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:654,1
    - Dst: SignatureAlgorithm::from_oid_with_curve
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:655,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 657
      start: 652
    functionDepth: 10
    functionLinenumber: 652
    functionLinenumberEnd: 657
    functionName: tests::test_from_oid_with_curve
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs
    functionUses: 0
    functionsReached:
    - SignatureAlgorithm::from_oid_with_curve
    - ObjectIdentifier::new_unwrap
    - Some
    linkageType: ''
    returnType: void
    signature: fn test_from_oid_with_curve()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ObjectIdentifier::new_unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:661,1
    - Dst: SignatureAlgorithm::from_oid_with_curve
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 665
      start: 660
    functionDepth: 10
    functionLinenumber: 660
    functionLinenumberEnd: 665
    functionName: tests::test_from_oid_rsa_ignores_curve
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs
    functionUses: 0
    functionsReached:
    - SignatureAlgorithm::from_oid_with_curve
    - ObjectIdentifier::new_unwrap
    linkageType: ''
    returnType: void
    signature: fn test_from_oid_rsa_ignores_curve()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:30,1
    - Dst: find
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - cert
    - oid
    argTypes:
    - '&''a Certificate'
    - '&ObjectIdentifier'
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: find_extension
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs
    functionUses: 4
    functionsReached:
    - iter
    - find
    linkageType: ''
    returnType: Option
    signature: 'fn find_extension<''a>(cert: &''a Certificate, oid: &ObjectIdentifier)
      -> Option<&''a Extension>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:76,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:77,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:78,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:79,1
    - Dst: Error::ValidationError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - value
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 84
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 84
    functionName: SpdmCertificateModel::from_value
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs
    functionUses: 0
    functionsReached:
    - Error::ValidationError
    - Err
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_value(value: u8) -> Result<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: SpdmCertificateModel::value
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: pub fn value(&self) -> u8
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: SpdmCertificateModel::name
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''static str'
    signature: pub fn name(&self) -> &'static str
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: SpdmCertificateRole::name
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''static str'
    signature: pub fn name(&self) -> &'static str
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Validator::with_backend
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: SpdmValidator::new
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs
    functionUses: 17
    functionsReached:
    - Validator::with_backend
    linkageType: ''
    returnType: Self
    signature: pub fn new() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: SpdmValidator::default
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs
    functionUses: 0
    functionsReached:
    - Self::new
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Validator::with_backend
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - backend
    argTypes:
    - B
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 3
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: SpdmValidator::with_backend
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs
    functionUses: 1
    functionsReached:
    - Validator::with_backend
    linkageType: ''
    returnType: Self
    signature: 'pub fn with_backend(backend: B) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: validate_chain
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - chain
    - options
    argTypes:
    - '&crate::chain::CertificateChain'
    - '&ValidationOptions'
    constantsTouched: []
    func_position:
      end: 176
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 176
    functionName: SpdmValidator::validate_chain
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs
    functionUses: 0
    functionsReached:
    - validate_chain
    linkageType: ''
    returnType: Result
    signature: 'pub fn validate_chain(&self,chain: &crate::chain::CertificateChain,options:
      &ValidationOptions,) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: validate
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:209,1
    - Dst: SpdmValidator::validate_spdm_eku
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:212,1
    - Dst: SpdmValidator::validate_spdm_extension
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:213,1
    - Dst: SpdmValidator::validate_hardware_identity
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:214,1
    - Dst: SpdmValidator::validate_basic_constraints_spdm
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:215,1
    - Dst: SpdmValidator::validate_algorithms
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:218,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:220,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 6
    argNames:
    - cert
    - model
    - role
    - base_asym_algo
    - base_hash_algo
    - options
    argTypes:
    - '&Certificate'
    - SpdmCertificateModel
    - SpdmCertificateRole
    - u32
    - u32
    - '&ValidationOptions'
    constantsTouched: []
    func_position:
      end: 221
      start: 199
    functionDepth: 10
    functionLinenumber: 199
    functionLinenumberEnd: 221
    functionName: SpdmValidator::validate_spdm_certificate_with_options
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs
    functionUses: 1
    functionsReached:
    - SpdmValidator::validate_basic_constraints_spdm
    - SpdmValidator::validate_algorithms
    - SpdmValidator::validate_hardware_identity
    - Ok
    - SpdmValidator::validate_spdm_extension
    - validate
    - SpdmValidator::validate_spdm_eku
    linkageType: ''
    returnType: Result
    signature: 'pub fn validate_spdm_certificate_with_options(&self,cert: &Certificate,model:
      SpdmCertificateModel,role: SpdmCertificateRole,base_asym_algo: u32,base_hash_algo:
      u32,options: &ValidationOptions,) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidationOptions::default
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:252,1
    - Dst: SpdmValidator::validate_spdm_certificate_with_options
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - cert
    - model
    - role
    - base_asym_algo
    - base_hash_algo
    argTypes:
    - '&Certificate'
    - SpdmCertificateModel
    - SpdmCertificateRole
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 261
      start: 243
    functionDepth: 11
    functionLinenumber: 243
    functionLinenumberEnd: 261
    functionName: SpdmValidator::validate_spdm_certificate
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs
    functionUses: 0
    functionsReached:
    - SpdmValidator::validate_spdm_certificate_with_options
    - ValidationOptions::default
    linkageType: ''
    returnType: Result
    signature: 'pub fn validate_spdm_certificate(&self,cert: &Certificate,model: SpdmCertificateModel,role:
      SpdmCertificateRole,base_asym_algo: u32,base_hash_algo: u32,) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_extension
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:280,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:282,1
    - Dst: ExtendedKeyUsage::from_extension
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:286,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:286,1
    - Dst: Error::ExtensionError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:287,1
    - Dst: ExtensionError::InvalidEncoding
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:287,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:294,1
    - Dst: any
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:294,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:298,1
    - Dst: any
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:298,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:308,1
    - Dst: Error::ExtensionError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:308,1
    - Dst: ExtensionError::ExtendedKeyUsage
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:308,1
    - Dst: alloc::string::String::from
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:309,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:318,1
    - Dst: Error::ExtensionError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:318,1
    - Dst: ExtensionError::ExtendedKeyUsage
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:318,1
    - Dst: alloc::string::String::from
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:319,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:327,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 53
    argCount: 2
    argNames:
    - cert
    - role
    argTypes:
    - '&Certificate'
    - SpdmCertificateRole
    constantsTouched: []
    func_position:
      end: 328
      start: 278
    functionDepth: 6
    functionLinenumber: 278
    functionLinenumberEnd: 328
    functionName: SpdmValidator::validate_spdm_eku
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs
    functionUses: 1
    functionsReached:
    - ExtensionError::ExtendedKeyUsage
    - iter
    - Err
    - alloc::string::String::from
    - Result::map_err
    - ExtendedKeyUsage::from_extension
    - find_extension
    - any
    - ExtensionError::InvalidEncoding
    - Ok
    - Error::ExtensionError
    linkageType: ''
    returnType: Result
    signature: 'pub fn validate_spdm_eku(&self, cert: &Certificate, role: SpdmCertificateRole)
      -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_extension
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:349,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:351,1
    - Dst: as_bytes
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:360,1
    - Dst: SliceReader::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:361,1
    - Dst: Self::map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:361,1
    - Dst: Error::ExtensionError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:362,1
    - Dst: ExtensionError::InvalidEncoding
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:362,1
    - Dst: Header::decode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:368,1
    - Dst: der::Result::map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:368,1
    - Dst: Error::ExtensionError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:369,1
    - Dst: ExtensionError::InvalidEncoding
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:369,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:376,1
    - Dst: Error::ExtensionError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:376,1
    - Dst: ExtensionError::InvalidEncoding
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:376,1
    - Dst: Result::read_nested
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:381,1
    - Dst: is_finished
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:383,1
    - Dst: peek_tag
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:386,1
    - Dst: Header::decode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:389,1
    - Dst: read_nested
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:390,1
    - Dst: ObjectIdentifier::decode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:391,1
    - Dst: is_finished
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:393,1
    - Dst: Decode::decode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:394,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:396,1
    - Dst: ObjectIdentifier::decode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:399,1
    - Dst: oids::is_spdm_oid
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:401,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:408,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:381,1
    - Dst: Error::ExtensionError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:411,1
    - Dst: ExtensionError::InvalidEncoding
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:411,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:417,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 83
    argCount: 2
    argNames:
    - cert
    - _model
    argTypes:
    - '&Certificate'
    - SpdmCertificateModel
    constantsTouched: []
    func_position:
      end: 418
      start: 343
    functionDepth: 4
    functionLinenumber: 343
    functionLinenumberEnd: 418
    functionName: SpdmValidator::validate_spdm_extension
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs
    functionUses: 1
    functionsReached:
    - read_nested
    - ObjectIdentifier::decode
    - map_err
    - Err
    - ExtensionError::InvalidEncoding
    - Decode::decode
    - Header::decode
    - find_extension
    - der::Result::map_err
    - SliceReader::new
    - is_finished
    - as_bytes
    - oids::is_spdm_oid
    - Self::map_err
    - Result::read_nested
    - Ok
    - peek_tag
    - Error::ExtensionError
    linkageType: ''
    returnType: Result
    signature: 'pub fn validate_spdm_extension(&self,cert: &Certificate,_model: SpdmCertificateModel,)
      -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: validate_hardware_identity
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - cert
    - model
    argTypes:
    - '&Certificate'
    - SpdmCertificateModel
    constantsTouched: []
    func_position:
      end: 442
      start: 434
    functionDepth: 6
    functionLinenumber: 434
    functionLinenumberEnd: 442
    functionName: SpdmValidator::validate_hardware_identity
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs
    functionUses: 1
    functionsReached:
    - validate_hardware_identity
    linkageType: ''
    returnType: Result
    signature: 'pub fn validate_hardware_identity(&self,cert: &Certificate,model:
      SpdmCertificateModel,) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_extension
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:464,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:470,1
    - Dst: BasicConstraints::from_der
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:475,1
    - Dst: as_bytes
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:475,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:475,1
    - Dst: Error::ExtensionError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:476,1
    - Dst: ExtensionError::InvalidEncoding
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:476,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:486,1
    - Dst: Error::ExtensionError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:486,1
    - Dst: ExtensionError::BasicConstraints
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:486,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:497,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 2
    argNames:
    - cert
    - model
    argTypes:
    - '&Certificate'
    - SpdmCertificateModel
    constantsTouched: []
    func_position:
      end: 498
      start: 458
    functionDepth: 5
    functionLinenumber: 458
    functionLinenumberEnd: 498
    functionName: SpdmValidator::validate_basic_constraints_spdm
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs
    functionUses: 1
    functionsReached:
    - Ok
    - Err
    - Result::map_err
    - ExtensionError::BasicConstraints
    - find_extension
    - as_bytes
    - ExtensionError::InvalidEncoding
    - BasicConstraints::from_der
    - Error::ExtensionError
    linkageType: ''
    returnType: Result
    signature: 'pub fn validate_basic_constraints_spdm(&self,cert: &Certificate,model:
      SpdmCertificateModel,) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verify_signature_algorithm
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:519,1
    - Dst: to_der
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:532,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:532,1
    - Dst: Error::ValidationError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:537,1
    - Dst: verify_rsa_key_size
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:539,1
    - Dst: ObjectIdentifier::from_der
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:550,1
    - Dst: Result::value
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:550,1
    - Dst: verify_ecc_curve
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:551,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:556,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 46
    argCount: 3
    argNames:
    - cert
    - base_asym_algo
    - base_hash_algo
    argTypes:
    - '&Certificate'
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 557
      start: 510
    functionDepth: 9
    functionLinenumber: 510
    functionLinenumberEnd: 557
    functionName: SpdmValidator::validate_algorithms
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs
    functionUses: 1
    functionsReached:
    - verify_signature_algorithm
    - map_err
    - verify_ecc_curve
    - Result::value
    - Error::ValidationError
    - verify_rsa_key_size
    - ObjectIdentifier::from_der
    - to_der
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn validate_algorithms(&self,cert: &Certificate,base_asym_algo: u32,base_hash_algo:
      u32,) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_extension
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:579,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:583,1
    - Dst: Error::ExtensionError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:583,1
    - Dst: ExtensionError::MissingRequiredExtension
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:584,1
    - Dst: alloc::string::String::from
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:584,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:589,1
    - Dst: check_hardware_identity_in_extension
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:593,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:598,1
    - Dst: Error::ExtensionError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:598,1
    - Dst: ExtensionError::MissingRequiredExtension
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:599,1
    - Dst: alloc::string::String::from
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:599,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:607,1
    - Dst: Error::ExtensionError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:607,1
    - Dst: ExtensionError::InvalidValue
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:607,1
    - Dst: alloc::string::String::from
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:608,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:615,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 2
    argNames:
    - cert
    - model
    argTypes:
    - '&Certificate'
    - SpdmCertificateModel
    constantsTouched: []
    func_position:
      end: 616
      start: 578
    functionDepth: 5
    functionLinenumber: 578
    functionLinenumberEnd: 616
    functionName: validate_hardware_identity
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs
    functionUses: 5
    functionsReached:
    - ExtensionError::MissingRequiredExtension
    - ExtensionError::InvalidValue
    - alloc::string::String::from
    - Err
    - find_extension
    - check_hardware_identity_in_extension
    - Ok
    - Error::ExtensionError
    linkageType: ''
    returnType: Result
    signature: 'pub fn validate_hardware_identity(cert: &Certificate, model: SpdmCertificateModel)
      -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&der::asn1::OctetString::as_bytes'
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:624,1
    - Dst: SliceReader::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:626,1
    - Dst: Self::map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:626,1
    - Dst: Error::ExtensionError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:627,1
    - Dst: crate::error::ExtensionError::InvalidEncoding
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:627,1
    - Dst: Header::decode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:632,1
    - Dst: der::Result::map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:632,1
    - Dst: Error::ExtensionError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:633,1
    - Dst: crate::error::ExtensionError::InvalidEncoding
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:633,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:639,1
    - Dst: Error::ExtensionError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:639,1
    - Dst: crate::error::ExtensionError::InvalidEncoding
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:640,1
    - Dst: Result::read_nested
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:648,1
    - Dst: is_finished
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:650,1
    - Dst: peek_tag
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:651,1
    - Dst: Header::decode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:653,1
    - Dst: read_nested
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:654,1
    - Dst: ObjectIdentifier::decode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:655,1
    - Dst: is_finished
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:656,1
    - Dst: Decode::decode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:657,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:659,1
    - Dst: ObjectIdentifier::decode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:662,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:668,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:648,1
    - Dst: Error::ExtensionError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:671,1
    - Dst: crate::error::ExtensionError::InvalidEncoding
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:671,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:676,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 74
    argCount: 1
    argNames:
    - extn_value
    argTypes:
    - '&der::asn1::OctetString'
    constantsTouched: []
    func_position:
      end: 677
      start: 620
    functionDepth: 4
    functionLinenumber: 620
    functionLinenumberEnd: 677
    functionName: check_hardware_identity_in_extension
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs
    functionUses: 1
    functionsReached:
    - read_nested
    - ObjectIdentifier::decode
    - map_err
    - crate::error::ExtensionError::InvalidEncoding
    - Err
    - '&der::asn1::OctetString::as_bytes'
    - Decode::decode
    - Header::decode
    - der::Result::map_err
    - is_finished
    - SliceReader::new
    - peek_tag
    - Self::map_err
    - Result::read_nested
    - Ok
    - Error::ExtensionError
    linkageType: ''
    returnType: Result
    signature: 'fn check_hardware_identity_in_extension(extn_value: &der::asn1::OctetString)
      -> Result<bool>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 707
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 707
    functionName: tests::test_certificate_model
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_certificate_model()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 714
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 714
    functionName: tests::test_certificate_model_names
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_certificate_model_names()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 720
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 720
    functionName: tests::test_certificate_role_names
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_certificate_role_names()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::read
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:595,1
    - Dst: Option::unwrap_or_else
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:595,1
    - Dst: Certificate::from_der
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:596,1
    - Dst: Result::unwrap_or_else
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - path
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 597
      start: 594
    functionDepth: 5
    functionLinenumber: 594
    functionLinenumberEnd: 597
    functionName: tests::load_cert
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs
    functionUses: 0
    functionsReached:
    - std::fs::read
    - Option::unwrap_or_else
    - Certificate::from_der
    - Result::unwrap_or_else
    linkageType: ''
    returnType: Certificate
    signature: 'fn load_cert(path: &str) -> Certificate'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:741,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:741,1
    - Dst: SpdmValidator::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:744,1
    - Dst: Self::validate_spdm_eku
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 751
      start: 740
    functionDepth: 6
    functionLinenumber: 740
    functionLinenumberEnd: 751
    functionName: tests::test_spdm_eku_responder_cert_with_rsp_eku_passes
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs
    functionUses: 0
    functionsReached:
    - test_key_path
    - Self::validate_spdm_eku
    - load_cert
    - SpdmValidator::new
    linkageType: ''
    returnType: void
    signature: fn test_spdm_eku_responder_cert_with_rsp_eku_passes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:755,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:755,1
    - Dst: SpdmValidator::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:758,1
    - Dst: Self::validate_spdm_eku
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 764
      start: 754
    functionDepth: 6
    functionLinenumber: 754
    functionLinenumberEnd: 764
    functionName: tests::test_spdm_eku_responder_cert_with_req_only_eku_rejected
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs
    functionUses: 0
    functionsReached:
    - test_key_path
    - Self::validate_spdm_eku
    - load_cert
    - SpdmValidator::new
    linkageType: ''
    returnType: void
    signature: fn test_spdm_eku_responder_cert_with_req_only_eku_rejected()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:768,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:768,1
    - Dst: SpdmValidator::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:771,1
    - Dst: Self::validate_spdm_eku
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 778
      start: 767
    functionDepth: 6
    functionLinenumber: 767
    functionLinenumberEnd: 778
    functionName: tests::test_spdm_eku_responder_cert_with_both_eku_passes
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs
    functionUses: 0
    functionsReached:
    - test_key_path
    - Self::validate_spdm_eku
    - load_cert
    - SpdmValidator::new
    linkageType: ''
    returnType: void
    signature: fn test_spdm_eku_responder_cert_with_both_eku_passes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:782,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:782,1
    - Dst: SpdmValidator::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:785,1
    - Dst: Self::validate_spdm_eku
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 792
      start: 781
    functionDepth: 6
    functionLinenumber: 781
    functionLinenumberEnd: 792
    functionName: tests::test_spdm_eku_requester_cert_with_req_eku_passes
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs
    functionUses: 0
    functionsReached:
    - test_key_path
    - Self::validate_spdm_eku
    - load_cert
    - SpdmValidator::new
    linkageType: ''
    returnType: void
    signature: fn test_spdm_eku_requester_cert_with_req_eku_passes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:796,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:796,1
    - Dst: SpdmValidator::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:799,1
    - Dst: Self::validate_spdm_eku
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 805
      start: 795
    functionDepth: 6
    functionLinenumber: 795
    functionLinenumberEnd: 805
    functionName: tests::test_spdm_eku_requester_cert_with_rsp_only_eku_rejected
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs
    functionUses: 0
    functionsReached:
    - test_key_path
    - Self::validate_spdm_eku
    - load_cert
    - SpdmValidator::new
    linkageType: ''
    returnType: void
    signature: fn test_spdm_eku_requester_cert_with_rsp_only_eku_rejected()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:810,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:810,1
    - Dst: SpdmValidator::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 818
      start: 808
    functionDepth: 6
    functionLinenumber: 808
    functionLinenumberEnd: 818
    functionName: tests::test_spdm_eku_no_eku_extension_passes
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs
    functionUses: 0
    functionsReached:
    - test_key_path
    - load_cert
    - SpdmValidator::new
    linkageType: ''
    returnType: void
    signature: fn test_spdm_eku_no_eku_extension_passes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:825,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:825,1
    - Dst: SpdmValidator::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:826,1
    - Dst: Self::validate_spdm_extension
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 829
      start: 823
    functionDepth: 6
    functionLinenumber: 823
    functionLinenumberEnd: 829
    functionName: tests::test_spdm_extension_absent_passes
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs
    functionUses: 0
    functionsReached:
    - test_key_path
    - load_cert
    - SpdmValidator::new
    - Self::validate_spdm_extension
    linkageType: ''
    returnType: void
    signature: fn test_spdm_extension_absent_passes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:835,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:835,1
    - Dst: SpdmValidator::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:836,1
    - Dst: Self::validate_hardware_identity
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 839
      start: 834
    functionDepth: 6
    functionLinenumber: 834
    functionLinenumberEnd: 839
    functionName: tests::test_hw_identity_generic_cert_no_spdm_ext_passes
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs
    functionUses: 0
    functionsReached:
    - test_key_path
    - load_cert
    - SpdmValidator::new
    - Self::validate_hardware_identity
    linkageType: ''
    returnType: void
    signature: fn test_hw_identity_generic_cert_no_spdm_ext_passes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:843,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:843,1
    - Dst: SpdmValidator::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:844,1
    - Dst: Self::validate_hardware_identity
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 847
      start: 842
    functionDepth: 6
    functionLinenumber: 842
    functionLinenumberEnd: 847
    functionName: tests::test_hw_identity_device_cert_without_spdm_ext_rejected
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs
    functionUses: 0
    functionsReached:
    - test_key_path
    - load_cert
    - SpdmValidator::new
    - Self::validate_hardware_identity
    linkageType: ''
    returnType: void
    signature: fn test_hw_identity_device_cert_without_spdm_ext_rejected()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:854,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:854,1
    - Dst: SpdmValidator::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:855,1
    - Dst: Self::validate_basic_constraints_spdm
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 859
      start: 852
    functionDepth: 6
    functionLinenumber: 852
    functionLinenumberEnd: 859
    functionName: tests::test_bc_spdm_device_cert_with_ca_true_rejected
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs
    functionUses: 0
    functionsReached:
    - test_key_path
    - load_cert
    - SpdmValidator::new
    - Self::validate_basic_constraints_spdm
    linkageType: ''
    returnType: void
    signature: fn test_bc_spdm_device_cert_with_ca_true_rejected()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:863,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:863,1
    - Dst: SpdmValidator::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:864,1
    - Dst: Self::validate_basic_constraints_spdm
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:866,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 868
      start: 862
    functionDepth: 6
    functionLinenumber: 862
    functionLinenumberEnd: 868
    functionName: tests::test_bc_spdm_alias_cert_with_ca_true_rejected
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs
    functionUses: 0
    functionsReached:
    - test_key_path
    - load_cert
    - SpdmValidator::new
    - Self::validate_basic_constraints_spdm
    linkageType: ''
    returnType: void
    signature: fn test_bc_spdm_alias_cert_with_ca_true_rejected()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:872,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:872,1
    - Dst: SpdmValidator::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:873,1
    - Dst: Self::validate_basic_constraints_spdm
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 881
      start: 871
    functionDepth: 6
    functionLinenumber: 871
    functionLinenumberEnd: 881
    functionName: tests::test_bc_spdm_generic_cert_ca_true_passes
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs
    functionUses: 0
    functionsReached:
    - test_key_path
    - load_cert
    - SpdmValidator::new
    - Self::validate_basic_constraints_spdm
    linkageType: ''
    returnType: void
    signature: fn test_bc_spdm_generic_cert_ca_true_passes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:886,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:886,1
    - Dst: SpdmValidator::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:887,1
    - Dst: Self::validate_basic_constraints_spdm
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 895
      start: 884
    functionDepth: 6
    functionLinenumber: 884
    functionLinenumberEnd: 895
    functionName: tests::test_bc_spdm_device_cert_ca_false_passes
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs
    functionUses: 0
    functionsReached:
    - test_key_path
    - load_cert
    - SpdmValidator::new
    - Self::validate_basic_constraints_spdm
    linkageType: ''
    returnType: void
    signature: fn test_bc_spdm_device_cert_ca_false_passes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:900,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:900,1
    - Dst: SpdmValidator::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:903,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 910
      start: 898
    functionDepth: 6
    functionLinenumber: 898
    functionLinenumberEnd: 910
    functionName: tests::test_bc_spdm_no_bc_extension_passes
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs
    functionUses: 0
    functionsReached:
    - test_key_path
    - load_cert
    - SpdmValidator::new
    linkageType: ''
    returnType: void
    signature: fn test_bc_spdm_no_bc_extension_passes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:916,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:916,1
    - Dst: SpdmValidator::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:917,1
    - Dst: ValidationOptions::default
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:918,1
    - Dst: Self::validate_spdm_certificate_with_options
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 934
      start: 915
    functionDepth: 11
    functionLinenumber: 915
    functionLinenumberEnd: 934
    functionName: tests::test_validate_spdm_certificate_ecp256_generic
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs
    functionUses: 0
    functionsReached:
    - test_key_path
    - ValidationOptions::default
    - load_cert
    - Self::validate_spdm_certificate_with_options
    - SpdmValidator::new
    linkageType: ''
    returnType: void
    signature: fn test_validate_spdm_certificate_ecp256_generic()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:938,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:938,1
    - Dst: SpdmValidator::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:939,1
    - Dst: ValidationOptions::default
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:940,1
    - Dst: Self::validate_spdm_certificate_with_options
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 952
      start: 937
    functionDepth: 11
    functionLinenumber: 937
    functionLinenumberEnd: 952
    functionName: tests::test_validate_spdm_certificate_wrong_asym_rejected
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs
    functionUses: 0
    functionsReached:
    - test_key_path
    - ValidationOptions::default
    - load_cert
    - Self::validate_spdm_certificate_with_options
    - SpdmValidator::new
    linkageType: ''
    returnType: void
    signature: fn test_validate_spdm_certificate_wrong_asym_rejected()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:958,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:958,1
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:959,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:959,1
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:960,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:960,1
    - Dst: crate::chain::CertificateChain::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:962,1
    - Dst: ValidationOptions::default
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:963,1
    - Dst: SpdmValidator::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:964,1
    - Dst: Self::validate_chain
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs:965,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 971
      start: 957
    functionDepth: 6
    functionLinenumber: 957
    functionLinenumberEnd: 971
    functionName: tests::test_spdm_validator_validate_chain
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs
    functionUses: 0
    functionsReached:
    - test_key_path
    - ValidationOptions::default
    - crate::chain::CertificateChain::new
    - Self::validate_chain
    - load_cert
    - SpdmValidator::new
    linkageType: ''
    returnType: void
    signature: fn test_spdm_validator_validate_chain()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - length
    - root_hash
    argTypes:
    - u16
    - Vec<u8>
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: SpdmCertChainHeader::new
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(length: u16, root_hash: Vec<u8>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:105,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:106,1
    - Dst: Error::ParseError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:106,1
    - Dst: crate::error::ParseError::InvalidDer
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:106,1
    - Dst: u16::from_le_bytes
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:116,1
    - Dst: u16::from_le_bytes
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:119,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:121,1
    - Dst: Error::ParseError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:121,1
    - Dst: crate::error::ParseError::InvalidDer
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:121,1
    - Dst: to_vec
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:127,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 38
    argCount: 2
    argNames:
    - data
    - hash_size
    argTypes:
    - '&[u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 140
      start: 102
    functionDepth: 4
    functionLinenumber: 102
    functionLinenumberEnd: 140
    functionName: SpdmCertChainHeader::from_bytes
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs
    functionUses: 3
    functionsReached:
    - u16::from_le_bytes
    - crate::error::ParseError::InvalidDer
    - Err
    - Error::ParseError
    - to_vec
    - len
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_bytes(data: &[u8], hash_size: usize) -> Result<(Self,
      &[u8])>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:158,1
    - Dst: Bytes::extend_from_slice
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:159,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:159,1
    - Dst: Bytes::extend_from_slice
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:160,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:160,1
    - Dst: Bytes::extend_from_slice
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 163
    functionName: SpdmCertChainHeader::to_bytes
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs
    functionUses: 0
    functionsReached:
    - to_le_bytes
    - Bytes::extend_from_slice
    - Vec::new
    linkageType: ''
    returnType: Vec
    signature: pub fn to_bytes(&self) -> Vec<u8>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - algo
    argTypes:
    - SpdmBaseHashAlgo
    constantsTouched: []
    func_position:
      end: 187
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 187
    functionName: SpdmCertChainHeader::hash_size_for_algo
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: 'pub fn hash_size_for_algo(algo: SpdmBaseHashAlgo) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 198
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 198
    functionName: SpdmCertChainHeader::fmt
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter<''_>) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmBaseHashAlgo::from_bits
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:232,1
    - Dst: Vec::is_empty
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:233,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:234,1
    - Dst: Error::ValidationError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:234,1
    - Dst: alloc::string::String::from
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:234,1
    - Dst: Vec::len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:238,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:239,1
    - Dst: Error::ValidationError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:239,1
    - Dst: alloc::string::String::from
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:239,1
    - Dst: SpdmCertChainHeader::hash_size_for_algo
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:245,1
    - Dst: SpdmCertChainHeader::from_bytes
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:248,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:251,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:252,1
    - Dst: Error::ParseError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:252,1
    - Dst: crate::error::ParseError::InvalidDer
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:252,1
    - Dst: parse_concatenated_certificates
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:262,1
    - Dst: Result::is_empty
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:264,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:265,1
    - Dst: Error::ChainError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:265,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:268,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 49
    argCount: 2
    argNames:
    - data
    - base_hash_algo
    argTypes:
    - '&[u8]'
    - u32
    constantsTouched: []
    func_position:
      end: 269
      start: 224
    functionDepth: 5
    functionLinenumber: 224
    functionLinenumberEnd: 269
    functionName: parse_spdm_cert_chain
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs
    functionUses: 2
    functionsReached:
    - SpdmCertChainHeader::hash_size_for_algo
    - Error::ChainError
    - SpdmCertChainHeader::from_bytes
    - Result::is_empty
    - alloc::string::String::from
    - Err
    - Error::ParseError
    - SpdmBaseHashAlgo::from_bits
    - crate::error::ParseError::InvalidDer
    - Error::ValidationError
    - Vec::is_empty
    - len
    - parse_concatenated_certificates
    - Vec::len
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn parse_spdm_cert_chain(data: &[u8],base_hash_algo: u32,) ->
      Result<(SpdmCertChainHeader, Vec<Certificate>)>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:278,1
    - Dst: is_empty
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:280,1
    - Dst: der_sequence_total_length
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:283,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:285,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:286,1
    - Dst: Error::ParseError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:286,1
    - Dst: crate::error::ParseError::InvalidDer
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:286,1
    - Dst: alloc::string::String::from
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:287,1
    - Dst: Certificate::from_der
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:291,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:291,1
    - Dst: Error::ParseError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:292,1
    - Dst: crate::error::ParseError::InvalidDer
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:292,1
    - Dst: Result::push
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:299,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:302,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 303
      start: 277
    functionDepth: 5
    functionLinenumber: 277
    functionLinenumberEnd: 303
    functionName: parse_concatenated_certificates
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs
    functionUses: 4
    functionsReached:
    - is_empty
    - Certificate::from_der
    - crate::error::ParseError::InvalidDer
    - Err
    - Error::ParseError
    - alloc::string::String::from
    - Result::map_err
    - len
    - der_sequence_total_length
    - Vec::new
    - Ok
    - Result::push
    linkageType: ''
    returnType: Result
    signature: 'fn parse_concatenated_certificates(mut data: &[u8]) -> Result<Vec<Certificate>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:310,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:311,1
    - Dst: Error::ParseError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:311,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:316,1
    - Dst: Error::ParseError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:316,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:329,1
    - Dst: Error::ParseError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:329,1
    - Dst: crate::error::ParseError::InvalidLength
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:329,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:336,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:337,1
    - Dst: Error::ParseError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:337,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:346,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 66
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 347
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 347
    functionName: der_sequence_total_length
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs
    functionUses: 2
    functionsReached:
    - crate::error::ParseError::InvalidLength
    - Err
    - Error::ParseError
    - len
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn der_sequence_total_length(data: &[u8]) -> Result<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: validate_spdm_cert_chain_with_backend
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - header
    - certificates
    - base_hash_algo
    - options
    argTypes:
    - '&SpdmCertChainHeader'
    - '&[Certificate]'
    - u32
    - '&ValidationOptions'
    constantsTouched: []
    func_position:
      end: 389
      start: 376
    functionDepth: 11
    functionLinenumber: 376
    functionLinenumberEnd: 389
    functionName: validate_spdm_cert_chain
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs
    functionUses: 0
    functionsReached:
    - validate_spdm_cert_chain_with_backend
    linkageType: ''
    returnType: Result
    signature: 'pub fn validate_spdm_cert_chain(header: &SpdmCertChainHeader,certificates:
      &[Certificate],base_hash_algo: u32,options: &ValidationOptions,) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::is_empty
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:405,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:406,1
    - Dst: Error::ChainError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:406,1
    - Dst: verify_root_cert_hash
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:412,1
    - Dst: Result::to_vec
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:416,1
    - Dst: VecDeque::reverse
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:417,1
    - Dst: CertificateChain::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:418,1
    - Dst: Validator::with_backend
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:421,1
    - Dst: Self::validate_chain
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:422,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:424,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 5
    argNames:
    - header
    - certificates
    - base_hash_algo
    - options
    - backend
    argTypes:
    - '&SpdmCertChainHeader'
    - '&[Certificate]'
    - u32
    - '&ValidationOptions'
    - B
    constantsTouched: []
    func_position:
      end: 425
      start: 398
    functionDepth: 10
    functionLinenumber: 398
    functionLinenumberEnd: 425
    functionName: validate_spdm_cert_chain_with_backend
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs
    functionUses: 1
    functionsReached:
    - Error::ChainError
    - VecDeque::reverse
    - Result::is_empty
    - CertificateChain::new
    - Err
    - Self::validate_chain
    - Validator::with_backend
    - verify_root_cert_hash
    - Result::to_vec
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn validate_spdm_cert_chain_with_backend<B: CryptoBackend>(header:
      &SpdmCertChainHeader,certificates: &[Certificate],base_hash_algo: u32,options:
      &ValidationOptions,backend: B,) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&Certificate::to_der'
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:434,1
    - Dst: SpdmResult::map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:434,1
    - Dst: Error::ParseError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:435,1
    - Dst: crate::error::ParseError::InvalidDer
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:435,1
    - Dst: SpdmBaseHashAlgo::from_bits
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:442,1
    - Dst: Vec::is_empty
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:443,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:444,1
    - Dst: Error::ValidationError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:444,1
    - Dst: alloc::string::String::from
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:444,1
    - Dst: compute_hash
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:449,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:455,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:455,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:456,1
    - Dst: zip
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:456,1
    - Dst: '&[u8]::iter'
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:458,1
    - Dst: fold
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:456,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:462,1
    - Dst: Error::ValidationError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:462,1
    - Dst: alloc::string::String::from
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:462,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:467,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 50
    argCount: 3
    argNames:
    - root_cert
    - expected_hash
    - base_hash_algo
    argTypes:
    - '&Certificate'
    - '&[u8]'
    - u32
    constantsTouched: []
    func_position:
      end: 468
      start: 428
    functionDepth: 9
    functionLinenumber: 428
    functionLinenumberEnd: 468
    functionName: verify_root_cert_hash
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs
    functionUses: 1
    functionsReached:
    - zip
    - '&[u8]::iter'
    - '&[u8]::len'
    - Ok
    - SpdmResult::map_err
    - crate::error::ParseError::InvalidDer
    - Error::ParseError
    - Err
    - SpdmBaseHashAlgo::from_bits
    - alloc::string::String::from
    - Error::ValidationError
    - Vec::is_empty
    - iter
    - len
    - compute_hash
    - '&Certificate::to_der'
    - fold
    linkageType: ''
    returnType: Result
    signature: 'fn verify_root_cert_hash(root_cert: &Certificate,expected_hash: &[u8],base_hash_algo:
      u32,) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:481,1
    - Dst: Error::AlgorithmError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:481,1
    - Dst: crate::error::AlgorithmError::Unsupported
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:482,1
    - Dst: digest::digest
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:490,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:491,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:491,1
    - Dst: '&[u8]::to_vec'
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:491,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:498,1
    - Dst: Error::AlgorithmError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:498,1
    - Dst: crate::error::AlgorithmError::Unsupported
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:499,1
    - Dst: alloc::string::String::from
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 2
    argNames:
    - data
    - algo
    argTypes:
    - '&[u8]'
    - SpdmBaseHashAlgo
    constantsTouched: []
    func_position:
      end: 504
      start: 471
    functionDepth: 4
    functionLinenumber: 471
    functionLinenumberEnd: 504
    functionName: compute_hash
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs
    functionUses: 5
    functionsReached:
    - '&[u8]::to_vec'
    - Ok
    - alloc::string::String::from
    - Err
    - digest::digest
    - Error::AlgorithmError
    - as_ref
    - crate::error::AlgorithmError::Unsupported
    linkageType: ''
    returnType: Result
    signature: 'fn compute_hash(data: &[u8], algo: SpdmBaseHashAlgo) -> Result<Vec<u8>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 526
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 526
    functionName: tests::test_spdm_cert_chain_header_size
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_spdm_cert_chain_header_size()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainHeader::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:530,1
    - Dst: to_bytes
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 538
      start: 529
    functionDepth: 2
    functionLinenumber: 529
    functionLinenumberEnd: 538
    functionName: tests::test_header_serialization
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs
    functionUses: 0
    functionsReached:
    - SpdmCertChainHeader::new
    - to_bytes
    linkageType: ''
    returnType: void
    signature: fn test_header_serialization()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainHeader::from_bytes
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:549,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 555
      start: 541
    functionDepth: 5
    functionLinenumber: 541
    functionLinenumberEnd: 555
    functionName: tests::test_header_parsing
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - SpdmCertChainHeader::from_bytes
    linkageType: ''
    returnType: void
    signature: fn test_header_parsing()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainHeader::from_bytes
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 565
      start: 558
    functionDepth: 5
    functionLinenumber: 558
    functionLinenumberEnd: 565
    functionName: tests::test_header_parsing_invalid_reserved
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs
    functionUses: 0
    functionsReached:
    - SpdmCertChainHeader::from_bytes
    linkageType: ''
    returnType: void
    signature: fn test_header_parsing_invalid_reserved()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extend_from_slice
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 575
      start: 570
    functionDepth: 2
    functionLinenumber: 570
    functionLinenumberEnd: 575
    functionName: tests::test_der_seq_short_form_length
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs
    functionUses: 0
    functionsReached:
    - extend_from_slice
    linkageType: ''
    returnType: void
    signature: fn test_der_seq_short_form_length()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extend_from_slice
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 583
      start: 578
    functionDepth: 2
    functionLinenumber: 578
    functionLinenumberEnd: 583
    functionName: tests::test_der_seq_long_form_1_byte
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs
    functionUses: 0
    functionsReached:
    - extend_from_slice
    linkageType: ''
    returnType: void
    signature: fn test_der_seq_long_form_1_byte()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extend_from_slice
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 591
      start: 586
    functionDepth: 2
    functionLinenumber: 586
    functionLinenumberEnd: 591
    functionName: tests::test_der_seq_long_form_2_bytes
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs
    functionUses: 0
    functionsReached:
    - extend_from_slice
    linkageType: ''
    returnType: void
    signature: fn test_der_seq_long_form_2_bytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 597
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 597
    functionName: tests::test_der_seq_not_sequence_tag
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_der_seq_not_sequence_tag()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 603
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 603
    functionName: tests::test_der_seq_too_short
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_der_seq_too_short()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 609
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 609
    functionName: tests::test_der_seq_empty_input
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_der_seq_empty_input()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 615
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 615
    functionName: tests::test_der_seq_zero_length
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_der_seq_zero_length()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::read
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:621,1
    - Dst: Option::expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:621,1
    - Dst: get_cert_from_cert_chain
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:627,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:627,1
    - Dst: Certificate::from_der
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 634
      start: 620
    functionDepth: 5
    functionLinenumber: 620
    functionLinenumberEnd: 634
    functionName: tests::test_get_cert_index_0_from_real_chain
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs
    functionUses: 0
    functionsReached:
    - std::fs::read
    - Certificate::from_der
    - Result::unwrap
    - get_cert_from_cert_chain
    - Option::expect
    linkageType: ''
    returnType: void
    signature: fn test_get_cert_index_0_from_real_chain()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::read
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:638,1
    - Dst: Option::expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:638,1
    - Dst: get_cert_from_cert_chain
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:644,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:644,1
    - Dst: Certificate::from_der
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 649
      start: 637
    functionDepth: 5
    functionLinenumber: 637
    functionLinenumberEnd: 649
    functionName: tests::test_get_cert_last_from_real_chain
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs
    functionUses: 0
    functionsReached:
    - std::fs::read
    - Certificate::from_der
    - Result::unwrap
    - get_cert_from_cert_chain
    - Option::expect
    linkageType: ''
    returnType: void
    signature: fn test_get_cert_last_from_real_chain()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::read
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:653,1
    - Dst: Option::expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:653,1
    - Dst: get_cert_from_cert_chain
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 661
      start: 652
    functionDepth: 5
    functionLinenumber: 652
    functionLinenumberEnd: 661
    functionName: tests::test_get_cert_out_of_bounds
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs
    functionUses: 0
    functionsReached:
    - std::fs::read
    - get_cert_from_cert_chain
    - Option::expect
    linkageType: ''
    returnType: void
    signature: fn test_get_cert_out_of_bounds()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_cert_from_cert_chain
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 667
      start: 664
    functionDepth: 5
    functionLinenumber: 664
    functionLinenumberEnd: 667
    functionName: tests::test_get_cert_empty_chain
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs
    functionUses: 0
    functionsReached:
    - get_cert_from_cert_chain
    linkageType: ''
    returnType: void
    signature: fn test_get_cert_empty_chain()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_cert_from_cert_chain
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 674
      start: 670
    functionDepth: 5
    functionLinenumber: 670
    functionLinenumberEnd: 674
    functionName: tests::test_get_cert_garbage_data
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs
    functionUses: 0
    functionsReached:
    - get_cert_from_cert_chain
    linkageType: ''
    returnType: void
    signature: fn test_get_cert_garbage_data()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_spdm_cert_chain
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 683
      start: 679
    functionDepth: 6
    functionLinenumber: 679
    functionLinenumberEnd: 683
    functionName: tests::test_parse_spdm_cert_chain_no_hash_algo
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs
    functionUses: 0
    functionsReached:
    - parse_spdm_cert_chain
    linkageType: ''
    returnType: void
    signature: fn test_parse_spdm_cert_chain_no_hash_algo()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_spdm_cert_chain
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 691
      start: 686
    functionDepth: 6
    functionLinenumber: 686
    functionLinenumberEnd: 691
    functionName: tests::test_parse_spdm_cert_chain_multiple_hash_algos_rejected
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs
    functionUses: 0
    functionsReached:
    - parse_spdm_cert_chain
    linkageType: ''
    returnType: void
    signature: fn test_parse_spdm_cert_chain_multiple_hash_algos_rejected()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::read
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:697,1
    - Dst: Option::expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:697,1
    - Dst: verify_cert_chain
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 709
      start: 696
    functionDepth: 11
    functionLinenumber: 696
    functionLinenumberEnd: 709
    functionName: tests::test_verify_cert_chain_ecp256_real
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs
    functionUses: 0
    functionsReached:
    - std::fs::read
    - Option::expect
    - verify_cert_chain
    linkageType: ''
    returnType: void
    signature: fn test_verify_cert_chain_ecp256_real()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::read
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:713,1
    - Dst: Option::expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:713,1
    - Dst: verify_cert_chain
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 725
      start: 712
    functionDepth: 11
    functionLinenumber: 712
    functionLinenumberEnd: 725
    functionName: tests::test_verify_cert_chain_ecp384_real
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs
    functionUses: 0
    functionsReached:
    - std::fs::read
    - Option::expect
    - verify_cert_chain
    linkageType: ''
    returnType: void
    signature: fn test_verify_cert_chain_ecp384_real()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::read
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:729,1
    - Dst: Option::expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:729,1
    - Dst: verify_cert_chain
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 741
      start: 728
    functionDepth: 11
    functionLinenumber: 728
    functionLinenumberEnd: 741
    functionName: tests::test_verify_cert_chain_rsa3072_real
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs
    functionUses: 0
    functionsReached:
    - std::fs::read
    - Option::expect
    - verify_cert_chain
    linkageType: ''
    returnType: void
    signature: fn test_verify_cert_chain_rsa3072_real()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verify_cert_chain
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 747
      start: 744
    functionDepth: 11
    functionLinenumber: 744
    functionLinenumberEnd: 747
    functionName: tests::test_verify_cert_chain_empty_rejected
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs
    functionUses: 0
    functionsReached:
    - verify_cert_chain
    linkageType: ''
    returnType: void
    signature: fn test_verify_cert_chain_empty_rejected()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verify_cert_chain
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 753
      start: 750
    functionDepth: 11
    functionLinenumber: 750
    functionLinenumberEnd: 753
    functionName: tests::test_verify_cert_chain_garbage_rejected
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs
    functionUses: 0
    functionsReached:
    - verify_cert_chain
    linkageType: ''
    returnType: void
    signature: fn test_verify_cert_chain_garbage_rejected()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::read
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:759,1
    - Dst: Option::expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:759,1
    - Dst: verify_cert_chain_with_options
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:767,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:767,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 773
      start: 758
    functionDepth: 11
    functionLinenumber: 758
    functionLinenumberEnd: 773
    functionName: tests::test_verify_cert_chain_with_ecdsa_p256_algo_match
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs
    functionUses: 0
    functionsReached:
    - std::fs::read
    - verify_cert_chain_with_options
    - Option::expect
    - Some
    linkageType: ''
    returnType: void
    signature: fn test_verify_cert_chain_with_ecdsa_p256_algo_match()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::read
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:777,1
    - Dst: Option::expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:777,1
    - Dst: verify_cert_chain_with_options
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:785,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:785,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 787
      start: 776
    functionDepth: 11
    functionLinenumber: 776
    functionLinenumberEnd: 787
    functionName: tests::test_verify_cert_chain_with_wrong_asym_algo_rejected
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs
    functionUses: 0
    functionsReached:
    - std::fs::read
    - verify_cert_chain_with_options
    - Option::expect
    - Some
    linkageType: ''
    returnType: void
    signature: fn test_verify_cert_chain_with_wrong_asym_algo_rejected()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: compute_hash
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:794,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:794,1
    - Dst: compute_hash
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:797,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 799
      start: 792
    functionDepth: 5
    functionLinenumber: 792
    functionLinenumberEnd: 799
    functionName: tests::test_compute_hash_sha256
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - compute_hash
    linkageType: ''
    returnType: void
    signature: fn test_compute_hash_sha256()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: compute_hash
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:804,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 806
      start: 802
    functionDepth: 5
    functionLinenumber: 802
    functionLinenumberEnd: 806
    functionName: tests::test_compute_hash_sha384
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - compute_hash
    linkageType: ''
    returnType: void
    signature: fn test_compute_hash_sha384()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: compute_hash
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:811,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 813
      start: 809
    functionDepth: 5
    functionLinenumber: 809
    functionLinenumberEnd: 813
    functionName: tests::test_compute_hash_sha512
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - compute_hash
    linkageType: ''
    returnType: void
    signature: fn test_compute_hash_sha512()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: compute_hash
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:817,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 819
      start: 816
    functionDepth: 5
    functionLinenumber: 816
    functionLinenumberEnd: 819
    functionName: tests::test_compute_hash_empty_data
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - compute_hash
    linkageType: ''
    returnType: void
    signature: fn test_compute_hash_empty_data()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::read
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:825,1
    - Dst: Option::expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:825,1
    - Dst: parse_concatenated_certificates
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:831,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 837
      start: 824
    functionDepth: 6
    functionLinenumber: 824
    functionLinenumberEnd: 837
    functionName: tests::test_parse_concatenated_certs_from_real_chain
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - std::fs::read
    - Option::expect
    - parse_concatenated_certificates
    linkageType: ''
    returnType: void
    signature: fn test_parse_concatenated_certs_from_real_chain()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::read
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:841,1
    - Dst: Option::expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:841,1
    - Dst: parse_concatenated_certificates
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:847,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 849
      start: 840
    functionDepth: 6
    functionLinenumber: 840
    functionLinenumberEnd: 849
    functionName: tests::test_parse_concatenated_certs_single_cert
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - std::fs::read
    - Option::expect
    - parse_concatenated_certificates
    linkageType: ''
    returnType: void
    signature: fn test_parse_concatenated_certs_single_cert()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_concatenated_certificates
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:853,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 855
      start: 852
    functionDepth: 6
    functionLinenumber: 852
    functionLinenumberEnd: 855
    functionName: tests::test_parse_concatenated_certs_empty
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - parse_concatenated_certificates
    linkageType: ''
    returnType: void
    signature: fn test_parse_concatenated_certs_empty()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verify_cert_chain_with_backend
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:998,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - cert_chain
    - base_asym_algo
    - base_hash_algo
    argTypes:
    - '&[u8]'
    - Option<u32>
    - Option<u32>
    constantsTouched: []
    func_position:
      end: 1004
      start: 993
    functionDepth: 10
    functionLinenumber: 993
    functionLinenumberEnd: 1004
    functionName: verify_cert_chain_with_options
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs
    functionUses: 2
    functionsReached:
    - verify_cert_chain_with_backend
    linkageType: ''
    returnType: Result
    signature: 'pub fn verify_cert_chain_with_options(cert_chain: &[u8],base_asym_algo:
      Option<u32>,base_hash_algo: Option<u32>,) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:1030,1
    - Dst: get_cert_from_cert_chain
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:1033,1
    - Dst: Certificate::from_der
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:1041,1
    - Dst: Result::push
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:1052,1
    - Dst: ValidationOptions::default
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:1055,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:1057,1
    - Dst: Error::ValidationError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:1057,1
    - Dst: '&str::into'
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:1058,1
    - Dst: Result::is_empty
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:1063,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:1065,1
    - Dst: Error::ChainError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:1065,1
    - Dst: Result::reverse
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:1076,1
    - Dst: CertificateChain::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:1080,1
    - Dst: SpdmValidator::with_backend
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:1083,1
    - Dst: ValidationOptions::default
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:1085,1
    - Dst: Self::validate_chain
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:1095,1
    - Dst: SpdmResult::is_empty
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:1101,1
    - Dst: Self::validate_spdm_eku
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:1102,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:1110,1
    - Dst: first
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:1118,1
    - Dst: verify_signature_algorithm
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:1129,1
    - Dst: to_der
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:1134,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:1134,1
    - Dst: Error::ValidationError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:1139,1
    - Dst: verify_rsa_key_size
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:1144,1
    - Dst: <const_oid::ObjectIdentifier as der::Decode>::from_der
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:1152,1
    - Dst: Result::value
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:1152,1
    - Dst: verify_ecc_curve
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:1154,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs:1163,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 127
    argCount: 4
    argNames:
    - cert_chain
    - backend
    - base_asym_algo
    - base_hash_algo
    argTypes:
    - '&[u8]'
    - B
    - Option<u32>
    - Option<u32>
    constantsTouched: []
    func_position:
      end: 1164
      start: 1021
    functionDepth: 9
    functionLinenumber: 1021
    functionLinenumberEnd: 1164
    functionName: verify_cert_chain_with_backend
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs
    functionUses: 6
    functionsReached:
    - Result::reverse
    - map_err
    - first
    - Result::value
    - Self::validate_chain
    - verify_rsa_key_size
    - to_der
    - <const_oid::ObjectIdentifier as der::Decode>::from_der
    - SpdmValidator::with_backend
    - Error::ChainError
    - Certificate::from_der
    - Result::is_empty
    - verify_ecc_curve
    - Error::ValidationError
    - Vec::new
    - Ok
    - Result::push
    - verify_signature_algorithm
    - ValidationOptions::default
    - CertificateChain::new
    - Err
    - get_cert_from_cert_chain
    - Self::validate_spdm_eku
    - SpdmResult::is_empty
    - '&str::into'
    linkageType: ''
    returnType: Result
    signature: 'pub fn verify_cert_chain_with_backend<B: CryptoBackend>(cert_chain:
      &[u8],backend: B,base_asym_algo: Option<u32>,base_hash_algo: Option<u32>,) ->
      Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::as_bytes
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/oids.rs:177,1
    - Dst: starts_with
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/oids.rs:177,1
    - Dst: as_bytes
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/oids.rs:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - oid
    argTypes:
    - '&ObjectIdentifier'
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: is_spdm_oid
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/oids.rs
    functionUses: 1
    functionsReached:
    - starts_with
    - as_bytes
    - Result::as_bytes
    linkageType: ''
    returnType: bool
    signature: 'pub fn is_spdm_oid(oid: &ObjectIdentifier) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - oid
    argTypes:
    - '&ObjectIdentifier'
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: is_hardware_identity
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/oids.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'pub fn is_hardware_identity(oid: &ObjectIdentifier) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - oid
    argTypes:
    - '&ObjectIdentifier'
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: is_device_info
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/oids.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'pub fn is_device_info(oid: &ObjectIdentifier) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - oid
    argTypes:
    - '&ObjectIdentifier'
    constantsTouched: []
    func_position:
      end: 225
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 225
    functionName: is_spdm_eku
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/oids.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'pub fn is_spdm_eku(oid: &ObjectIdentifier) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 235
    functionName: tests::test_device_info_oid
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/oids.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_device_info_oid()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 240
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 240
    functionName: tests::test_hardware_identity_oid
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/oids.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_hardware_identity_oid()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 245
    functionName: tests::test_responder_auth_oid
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/oids.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_responder_auth_oid()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: tests::test_requester_auth_oid
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/oids.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_requester_auth_oid()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 255
    functionName: tests::test_mutable_certificate_oid
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/oids.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_mutable_certificate_oid()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: tests::test_spdm_extension_oid
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/oids.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_spdm_extension_oid()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 269
    functionName: tests::test_is_spdm_oid
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/oids.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_is_spdm_oid()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: tests::test_is_hardware_identity
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/oids.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_is_hardware_identity()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 282
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 282
    functionName: tests::test_is_spdm_eku
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/oids.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_is_spdm_eku()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: ValidationOptions::default
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::default
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: ValidationOptions::new
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs
    functionUses: 1
    functionsReached:
    - Self::default
    linkageType: ''
    returnType: Self
    signature: pub fn new() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: ValidationOptions::skip_signature_validation
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: pub fn skip_signature_validation(mut self) -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: ValidationOptions::with_time_check
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: pub fn with_time_check(mut self) -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - depth
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: ValidationOptions::with_max_chain_depth
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub fn with_max_chain_depth(mut self, depth: usize) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::with_backend
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 4
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: Validator::new
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs
    functionUses: 38
    functionsReached:
    - Self::with_backend
    linkageType: ''
    returnType: Self
    signature: pub fn new() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:124,1
    - Dst: push
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - backend
    argTypes:
    - B
    constantsTouched: []
    func_position:
      end: 131
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 131
    functionName: Validator::with_backend
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs
    functionUses: 4
    functionsReached:
    - push
    linkageType: ''
    returnType: Self
    signature: 'pub fn with_backend(backend: B) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:140,1
    - Dst: Error::SignatureError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:140,1
    - Dst: to_string
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:142,1
    - Dst: to_string
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:143,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:149,1
    - Dst: and_then
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:149,1
    - Dst: to_der
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:153,1
    - Dst: SpdmResult::ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:153,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:154,1
    - Dst: and_then
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:154,1
    - Dst: to_der
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:159,1
    - Dst: SpdmResult::ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:159,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:161,1
    - Dst: Error::SignatureError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:161,1
    - Dst: Validator::validate_extensions
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:174,1
    - Dst: Validator::validate_time
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:178,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:181,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 70
    argCount: 2
    argNames:
    - cert
    - options
    argTypes:
    - '&Certificate'
    - '&ValidationOptions'
    constantsTouched: []
    func_position:
      end: 182
      start: 134
    functionDepth: 9
    functionLinenumber: 134
    functionLinenumberEnd: 182
    functionName: Validator::validate
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs
    functionUses: 1
    functionsReached:
    - Validator::validate_time
    - Validator::validate_extensions
    - Err
    - SpdmResult::ok
    - to_string
    - to_der
    - as_ref
    - and_then
    - Ok
    - Error::SignatureError
    linkageType: ''
    returnType: Result
    signature: 'pub fn validate(&self, cert: &Certificate, options: &ValidationOptions)
      -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _cert
    argTypes:
    - '&Certificate'
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: Validator::validate_time
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs
    functionUses: 1
    functionsReached:
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn validate_time(&self, _cert: &Certificate) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:220,1
    - Dst: and_then
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:220,1
    - Dst: decode_as::<ObjectIdentifier>
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:226,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:226,1
    - Dst: SignatureAlgorithm::from_oid_with_params
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:231,1
    - Dst: Option::as_ref
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:233,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:234,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:245,1
    - Dst: to_der
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:249,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:259,1
    - Dst: raw_bytes
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:263,1
    - Dst: raw_bytes
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:266,1
    - Dst: crate::crypto_backend::is_pqc
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:282,1
    - Dst: crate::crypto_backend::pqc_verifier_registered
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:283,1
    - Dst: crate::crypto_backend::verify_pqc_signature
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:285,1
    - Dst: verify_signature
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:292,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:299,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:303,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 76
    argCount: 2
    argNames:
    - cert
    - issuer
    argTypes:
    - '&Certificate'
    - '&Certificate'
    constantsTouched: []
    func_position:
      end: 306
      start: 208
    functionDepth: 9
    functionLinenumber: 208
    functionLinenumberEnd: 306
    functionName: Validator::verify_signature
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs
    functionUses: 1
    functionsReached:
    - ok
    - SignatureAlgorithm::from_oid_with_params
    - decode_as::<ObjectIdentifier>
    - Option::as_ref
    - verify_signature
    - Ok
    - Err
    - raw_bytes
    - crate::crypto_backend::pqc_verifier_registered
    - to_der
    - crate::crypto_backend::is_pqc
    - as_ref
    - and_then
    - crate::crypto_backend::verify_pqc_signature
    linkageType: ''
    returnType: Result
    signature: 'pub fn verify_signature(&self, cert: &Certificate, issuer: &Certificate)
      -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:312,1
    - Dst: Vec::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:323,1
    - Dst: Self::contains
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:325,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:326,1
    - Dst: Error::ExtensionError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:326,1
    - Dst: crate::error::ExtensionError::DuplicateExtension
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:327,1
    - Dst: to_string
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:327,1
    - Dst: Self::push
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:330,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:342,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:347,1
    - Dst: Error::ExtensionError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:347,1
    - Dst: crate::error::ExtensionError::UnknownCriticalExtension
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:348,1
    - Dst: to_string
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:349,1
    - Dst: Validator::validate_basic_constraints
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:355,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:360,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 67
    argCount: 1
    argNames:
    - cert
    argTypes:
    - '&Certificate'
    constantsTouched: []
    func_position:
      end: 361
      start: 309
    functionDepth: 6
    functionLinenumber: 309
    functionLinenumberEnd: 361
    functionName: Validator::validate_extensions
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs
    functionUses: 1
    functionsReached:
    - Self::contains
    - crate::error::ExtensionError::DuplicateExtension
    - Validator::validate_basic_constraints
    - Err
    - contains
    - Self::push
    - crate::error::ExtensionError::UnknownCriticalExtension
    - to_string
    - Vec::new
    - Ok
    - Error::ExtensionError
    linkageType: ''
    returnType: Result
    signature: 'fn validate_extensions(&self, cert: &Certificate) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:373,1
    - Dst: BasicConstraints::from_der
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:380,1
    - Dst: as_bytes
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:380,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:380,1
    - Dst: is_some
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:384,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:385,1
    - Dst: Error::ExtensionError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:385,1
    - Dst: crate::error::ExtensionError::BasicConstraints
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:386,1
    - Dst: alloc::string::String::from
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:387,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:397,1
    - Dst: find
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:397,1
    - Dst: KeyUsage::from_der
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:403,1
    - Dst: as_bytes
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:403,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:403,1
    - Dst: Result::has
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:405,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:406,1
    - Dst: Error::ConstraintError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:406,1
    - Dst: crate::error::ConstraintError::KeyUsageViolation
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:407,1
    - Dst: alloc::string::String::from
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:408,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:417,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:421,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 73
    argCount: 1
    argNames:
    - cert
    argTypes:
    - '&Certificate'
    constantsTouched: []
    func_position:
      end: 422
      start: 370
    functionDepth: 5
    functionLinenumber: 370
    functionLinenumberEnd: 422
    functionName: Validator::validate_basic_constraints
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs
    functionUses: 1
    functionsReached:
    - crate::error::ExtensionError::BasicConstraints
    - Result::has
    - Ok
    - is_some
    - alloc::string::String::from
    - Err
    - iter
    - crate::error::ConstraintError::KeyUsageViolation
    - Result::map_err
    - Error::ConstraintError
    - as_bytes
    - KeyUsage::from_der
    - BasicConstraints::from_der
    - find
    - Error::ExtensionError
    linkageType: ''
    returnType: Result
    signature: 'fn validate_basic_constraints(&self, cert: &Certificate) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmResult::is_empty
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:435,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:436,1
    - Dst: Error::ChainError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:436,1
    - Dst: SpdmResult::len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:439,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:440,1
    - Dst: Error::ChainError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:440,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:443,1
    - Dst: enumerate
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:443,1
    - Dst: Validator::validate
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:450,1
    - Dst: SpdmResult::len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:452,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:457,1
    - Dst: Error::ChainError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:457,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:466,1
    - Dst: find
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:466,1
    - Dst: KeyUsage::from_der
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:467,1
    - Dst: as_bytes
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:467,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:467,1
    - Dst: Result::has
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:469,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:474,1
    - Dst: Error::ConstraintError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:474,1
    - Dst: crate::error::ConstraintError::KeyUsageViolation
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:475,1
    - Dst: alloc::string::String::from
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:476,1
    - Dst: Validator::verify_issuer_is_ca
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:485,1
    - Dst: Validator::verify_signature
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:491,1
    - Dst: Validator::verify_signature
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:496,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:505,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 108
    argCount: 2
    argNames:
    - chain
    - options
    argTypes:
    - '&CertificateChain'
    - '&ValidationOptions'
    constantsTouched: []
    func_position:
      end: 506
      start: 425
    functionDepth: 10
    functionLinenumber: 425
    functionLinenumberEnd: 506
    functionName: Validator::validate_chain
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs
    functionUses: 0
    functionsReached:
    - Result::has
    - Error::ChainError
    - Validator::verify_signature
    - enumerate
    - iter
    - Err
    - Validator::validate
    - SpdmResult::len
    - Result::map_err
    - crate::error::ConstraintError::KeyUsageViolation
    - alloc::string::String::from
    - Error::ConstraintError
    - as_bytes
    - SpdmResult::is_empty
    - KeyUsage::from_der
    - Validator::verify_issuer_is_ca
    - Ok
    - find
    linkageType: ''
    returnType: Result
    signature: 'pub fn validate_chain(&self,chain: &CertificateChain,options: &ValidationOptions,)
      -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:516,1
    - Dst: BasicConstraints::from_der
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:523,1
    - Dst: as_bytes
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:523,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:523,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:526,1
    - Dst: Error::ChainError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:526,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:538,1
    - Dst: Error::ChainError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:538,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:544,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:549,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 47
    argCount: 2
    argNames:
    - issuer
    - depth
    argTypes:
    - '&Certificate'
    - usize
    constantsTouched: []
    func_position:
      end: 550
      start: 513
    functionDepth: 5
    functionLinenumber: 513
    functionLinenumberEnd: 550
    functionName: Validator::verify_issuer_is_ca
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs
    functionUses: 1
    functionsReached:
    - Error::ChainError
    - Ok
    - Err
    - Result::map_err
    - as_bytes
    - BasicConstraints::from_der
    linkageType: ''
    returnType: Result
    signature: 'fn verify_issuer_is_ca(&self, issuer: &Certificate, depth: usize)
      -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 557
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 557
    functionName: Validator::default
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs
    functionUses: 1
    functionsReached:
    - Self::new
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ValidationOptions::default
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:574,1
    - Dst: ValidationOptions::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:579,1
    - Dst: Self::skip_signature_validation
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:579,1
    - Dst: Self::with_max_chain_depth
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 584
      start: 573
    functionDepth: 3
    functionLinenumber: 573
    functionLinenumberEnd: 584
    functionName: tests::test_validation_options
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs
    functionUses: 0
    functionsReached:
    - Self::with_max_chain_depth
    - Self::skip_signature_validation
    - ValidationOptions::new
    - ValidationOptions::default
    linkageType: ''
    returnType: void
    signature: fn test_validation_options()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Validator::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:588,1
    - Dst: Validator::default
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 590
      start: 587
    functionDepth: 5
    functionLinenumber: 587
    functionLinenumberEnd: 590
    functionName: tests::test_validator_creation
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs
    functionUses: 0
    functionsReached:
    - Validator::default
    - Validator::new
    linkageType: ''
    returnType: void
    signature: fn test_validator_creation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:611,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:611,1
    - Dst: ValidationOptions::default
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:612,1
    - Dst: Validator::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:613,1
    - Dst: Self::validate
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 621
      start: 610
    functionDepth: 10
    functionLinenumber: 610
    functionLinenumberEnd: 621
    functionName: tests::test_validate_single_cert_structural
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs
    functionUses: 0
    functionsReached:
    - test_key_path
    - ValidationOptions::default
    - Self::validate
    - Validator::new
    - load_cert
    linkageType: ''
    returnType: void
    signature: fn test_validate_single_cert_structural()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:625,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:625,1
    - Dst: ValidationOptions::default
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:626,1
    - Dst: Validator::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:627,1
    - Dst: Self::validate
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 634
      start: 624
    functionDepth: 10
    functionLinenumber: 624
    functionLinenumberEnd: 634
    functionName: tests::test_validate_leaf_cert
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs
    functionUses: 0
    functionsReached:
    - test_key_path
    - ValidationOptions::default
    - Self::validate
    - Validator::new
    - load_cert
    linkageType: ''
    returnType: void
    signature: fn test_validate_leaf_cert()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:644,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:644,1
    - Dst: Validator::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:645,1
    - Dst: Self::validate_basic_constraints
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 649
      start: 643
    functionDepth: 6
    functionLinenumber: 643
    functionLinenumberEnd: 649
    functionName: tests::test_validate_basic_constraints_ca_cert
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs
    functionUses: 0
    functionsReached:
    - test_key_path
    - load_cert
    - Validator::new
    - Self::validate_basic_constraints
    linkageType: ''
    returnType: void
    signature: fn test_validate_basic_constraints_ca_cert()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:653,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:653,1
    - Dst: Validator::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:654,1
    - Dst: Self::validate_basic_constraints
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 657
      start: 652
    functionDepth: 6
    functionLinenumber: 652
    functionLinenumberEnd: 657
    functionName: tests::test_validate_basic_constraints_leaf_cert
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs
    functionUses: 0
    functionsReached:
    - test_key_path
    - load_cert
    - Validator::new
    - Self::validate_basic_constraints
    linkageType: ''
    returnType: void
    signature: fn test_validate_basic_constraints_leaf_cert()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:662,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:662,1
    - Dst: Validator::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:663,1
    - Dst: Self::validate_basic_constraints
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 670
      start: 660
    functionDepth: 6
    functionLinenumber: 660
    functionLinenumberEnd: 670
    functionName: tests::test_validate_basic_constraints_ca_false_cert
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs
    functionUses: 0
    functionsReached:
    - test_key_path
    - load_cert
    - Validator::new
    - Self::validate_basic_constraints
    linkageType: ''
    returnType: void
    signature: fn test_validate_basic_constraints_ca_false_cert()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:676,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:676,1
    - Dst: Validator::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:677,1
    - Dst: Self::verify_signature
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 680
      start: 675
    functionDepth: 7
    functionLinenumber: 675
    functionLinenumberEnd: 680
    functionName: tests::test_verify_signature_ca_self_signed
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs
    functionUses: 0
    functionsReached:
    - test_key_path
    - load_cert
    - Self::verify_signature
    - Validator::new
    linkageType: ''
    returnType: void
    signature: fn test_verify_signature_ca_self_signed()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:684,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:684,1
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:685,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:685,1
    - Dst: Validator::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:686,1
    - Dst: Self::verify_signature
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 689
      start: 683
    functionDepth: 7
    functionLinenumber: 683
    functionLinenumberEnd: 689
    functionName: tests::test_verify_signature_inter_signed_by_ca
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs
    functionUses: 0
    functionsReached:
    - test_key_path
    - load_cert
    - Self::verify_signature
    - Validator::new
    linkageType: ''
    returnType: void
    signature: fn test_verify_signature_inter_signed_by_ca()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:693,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:693,1
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:694,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:694,1
    - Dst: Validator::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:695,1
    - Dst: Self::verify_signature
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 698
      start: 692
    functionDepth: 7
    functionLinenumber: 692
    functionLinenumberEnd: 698
    functionName: tests::test_verify_signature_leaf_signed_by_inter
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs
    functionUses: 0
    functionsReached:
    - test_key_path
    - load_cert
    - Self::verify_signature
    - Validator::new
    linkageType: ''
    returnType: void
    signature: fn test_verify_signature_leaf_signed_by_inter()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:702,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:702,1
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:703,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:703,1
    - Dst: Validator::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:704,1
    - Dst: Self::verify_signature
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 708
      start: 701
    functionDepth: 7
    functionLinenumber: 701
    functionLinenumberEnd: 708
    functionName: tests::test_verify_signature_wrong_issuer_fails
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs
    functionUses: 0
    functionsReached:
    - test_key_path
    - load_cert
    - Self::verify_signature
    - Validator::new
    linkageType: ''
    returnType: void
    signature: fn test_verify_signature_wrong_issuer_fails()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:714,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:714,1
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:715,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:715,1
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:716,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:716,1
    - Dst: CertificateChain::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:719,1
    - Dst: ValidationOptions::default
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:720,1
    - Dst: Validator::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:721,1
    - Dst: Self::validate_chain
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 724
      start: 713
    functionDepth: 6
    functionLinenumber: 713
    functionLinenumberEnd: 724
    functionName: tests::test_validate_chain_ecp256
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs
    functionUses: 0
    functionsReached:
    - test_key_path
    - ValidationOptions::default
    - CertificateChain::new
    - Validator::new
    - Self::validate_chain
    - load_cert
    linkageType: ''
    returnType: void
    signature: fn test_validate_chain_ecp256()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:728,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:728,1
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:729,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:729,1
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:730,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:730,1
    - Dst: CertificateChain::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:732,1
    - Dst: ValidationOptions::default
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:733,1
    - Dst: Validator::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:734,1
    - Dst: Self::validate_chain
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 737
      start: 727
    functionDepth: 6
    functionLinenumber: 727
    functionLinenumberEnd: 737
    functionName: tests::test_validate_chain_rsa3072
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs
    functionUses: 0
    functionsReached:
    - test_key_path
    - ValidationOptions::default
    - CertificateChain::new
    - Validator::new
    - Self::validate_chain
    - load_cert
    linkageType: ''
    returnType: void
    signature: fn test_validate_chain_rsa3072()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CertificateChain::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:741,1
    - Dst: ValidationOptions::default
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:742,1
    - Dst: Validator::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 745
      start: 740
    functionDepth: 5
    functionLinenumber: 740
    functionLinenumberEnd: 745
    functionName: tests::test_validate_chain_empty_rejected
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs
    functionUses: 0
    functionsReached:
    - CertificateChain::new
    - Validator::new
    - ValidationOptions::default
    linkageType: ''
    returnType: void
    signature: fn test_validate_chain_empty_rejected()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:749,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:749,1
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:750,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:750,1
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:751,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:751,1
    - Dst: CertificateChain::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:753,1
    - Dst: ValidationOptions::default
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:754,1
    - Dst: Self::with_max_chain_depth
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:754,1
    - Dst: Validator::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 757
      start: 748
    functionDepth: 6
    functionLinenumber: 748
    functionLinenumberEnd: 757
    functionName: tests::test_validate_chain_exceeds_max_depth
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs
    functionUses: 0
    functionsReached:
    - test_key_path
    - Self::with_max_chain_depth
    - ValidationOptions::default
    - CertificateChain::new
    - Validator::new
    - load_cert
    linkageType: ''
    returnType: void
    signature: fn test_validate_chain_exceeds_max_depth()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:761,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:761,1
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:762,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:762,1
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:763,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:763,1
    - Dst: CertificateChain::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:766,1
    - Dst: ValidationOptions::default
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:767,1
    - Dst: Validator::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 770
      start: 760
    functionDepth: 6
    functionLinenumber: 760
    functionLinenumberEnd: 770
    functionName: tests::test_validate_chain_wrong_order_rejected
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs
    functionUses: 0
    functionsReached:
    - test_key_path
    - ValidationOptions::default
    - CertificateChain::new
    - Validator::new
    - load_cert
    linkageType: ''
    returnType: void
    signature: fn test_validate_chain_wrong_order_rejected()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:774,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:774,1
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:775,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:775,1
    - Dst: CertificateChain::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:778,1
    - Dst: ValidationOptions::default
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:779,1
    - Dst: Validator::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 782
      start: 773
    functionDepth: 6
    functionLinenumber: 773
    functionLinenumberEnd: 782
    functionName: tests::test_validate_chain_issuer_mismatch_rejected
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs
    functionUses: 0
    functionsReached:
    - test_key_path
    - ValidationOptions::default
    - CertificateChain::new
    - Validator::new
    - load_cert
    linkageType: ''
    returnType: void
    signature: fn test_validate_chain_issuer_mismatch_rejected()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:786,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:786,1
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:787,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:787,1
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:788,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:788,1
    - Dst: CertificateChain::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:790,1
    - Dst: ValidationOptions::default
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:791,1
    - Dst: Self::skip_signature_validation
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:791,1
    - Dst: Validator::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 794
      start: 785
    functionDepth: 6
    functionLinenumber: 785
    functionLinenumberEnd: 794
    functionName: tests::test_validate_chain_skip_signature
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs
    functionUses: 0
    functionsReached:
    - test_key_path
    - ValidationOptions::default
    - CertificateChain::new
    - Validator::new
    - load_cert
    - Self::skip_signature_validation
    linkageType: ''
    returnType: void
    signature: fn test_validate_chain_skip_signature()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:800,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:800,1
    - Dst: Validator::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 803
      start: 799
    functionDepth: 6
    functionLinenumber: 799
    functionLinenumberEnd: 803
    functionName: tests::test_verify_issuer_is_ca_with_ca_cert
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs
    functionUses: 0
    functionsReached:
    - test_key_path
    - load_cert
    - Validator::new
    linkageType: ''
    returnType: void
    signature: fn test_verify_issuer_is_ca_with_ca_cert()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:807,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:807,1
    - Dst: Validator::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 810
      start: 806
    functionDepth: 6
    functionLinenumber: 806
    functionLinenumberEnd: 810
    functionName: tests::test_verify_issuer_is_ca_with_leaf_fails
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs
    functionUses: 0
    functionsReached:
    - test_key_path
    - load_cert
    - Validator::new
    linkageType: ''
    returnType: void
    signature: fn test_verify_issuer_is_ca_with_leaf_fails()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:816,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:816,1
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:817,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:817,1
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:818,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:818,1
    - Dst: CertificateChain::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:820,1
    - Dst: ValidationOptions::default
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:821,1
    - Dst: Validator::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:822,1
    - Dst: Self::validate_chain
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 825
      start: 815
    functionDepth: 6
    functionLinenumber: 815
    functionLinenumberEnd: 825
    functionName: tests::test_validate_chain_rsa2048
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs
    functionUses: 0
    functionsReached:
    - test_key_path
    - ValidationOptions::default
    - CertificateChain::new
    - Validator::new
    - Self::validate_chain
    - load_cert
    linkageType: ''
    returnType: void
    signature: fn test_validate_chain_rsa2048()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:829,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:829,1
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:830,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:830,1
    - Dst: load_cert
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:831,1
    - Dst: test_key_path
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:831,1
    - Dst: CertificateChain::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:833,1
    - Dst: ValidationOptions::default
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:834,1
    - Dst: Validator::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:835,1
    - Dst: Self::validate_chain
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs:836,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 838
      start: 828
    functionDepth: 6
    functionLinenumber: 828
    functionLinenumberEnd: 838
    functionName: tests::test_validate_chain_ecp384
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs
    functionUses: 0
    functionsReached:
    - test_key_path
    - ValidationOptions::default
    - CertificateChain::new
    - Validator::new
    - Self::validate_chain
    - load_cert
    linkageType: ''
    returnType: void
    signature: fn test_validate_chain_ecp384()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:103,1
    - Dst: Result::push
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:106,1
    - Dst: Result::push
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:109,1
    - Dst: Result::push
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:112,1
    - Dst: Result::push
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:115,1
    - Dst: Result::push
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:118,1
    - Dst: Result::push
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:121,1
    - Dst: Result::push
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:124,1
    - Dst: Result::push
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:127,1
    - Dst: Result::push
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:130,1
    - Dst: Result::push
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:133,1
    - Dst: Result::push
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:136,1
    - Dst: Result::push
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:139,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 109
    argCount: 1
    argNames:
    - bits
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 143
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 143
    functionName: SpdmBaseAsymAlgo::from_bits
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs
    functionUses: 6
    functionsReached:
    - Result::push
    - Vec::new
    linkageType: ''
    returnType: Vec
    signature: 'pub fn from_bits(bits: u32) -> Vec<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:159,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:160,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 164
    functionName: SpdmBaseAsymAlgo::rsa_key_size
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs
    functionUses: 0
    functionsReached:
    - Some
    linkageType: ''
    returnType: Option
    signature: pub fn rsa_key_size(&self) -> Option<usize>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:180,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:181,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 185
    functionName: SpdmBaseAsymAlgo::ecc_curve_oid
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs
    functionUses: 0
    functionsReached:
    - Some
    linkageType: ''
    returnType: Option
    signature: pub fn ecc_curve_oid(&self) -> Option<ObjectIdentifier>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 201
    functionName: SpdmBaseAsymAlgo::is_rsa
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: pub fn is_rsa(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: SpdmBaseAsymAlgo::is_ecc
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: pub fn is_ecc(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: SpdmBaseAsymAlgo::is_eddsa
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: pub fn is_eddsa(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:278,1
    - Dst: Result::push
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:281,1
    - Dst: Result::push
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:284,1
    - Dst: Result::push
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:287,1
    - Dst: Result::push
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:290,1
    - Dst: Result::push
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:293,1
    - Dst: Result::push
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:296,1
    - Dst: Result::push
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:299,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 64
    argCount: 1
    argNames:
    - bits
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 303
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 303
    functionName: SpdmBaseHashAlgo::from_bits
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs
    functionUses: 7
    functionsReached:
    - Result::push
    - Vec::new
    linkageType: ''
    returnType: Vec
    signature: 'pub fn from_bits(bits: u32) -> Vec<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ObjectIdentifier::new_unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 328
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 328
    functionName: SpdmBaseHashAlgo::oid
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs
    functionUses: 0
    functionsReached:
    - ObjectIdentifier::new_unwrap
    linkageType: ''
    returnType: ObjectIdentifier
    signature: pub fn oid(&self) -> ObjectIdentifier
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmBaseHashAlgo::from_bits
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:367,1
    - Dst: SpdmBaseAsymAlgo::from_bits
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:368,1
    - Dst: Vec::iter
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:386,1
    - Dst: Self::IntoIter::any
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:386,1
    - Dst: Vec::is_rsa
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:386,1
    - Dst: Vec::iter
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:388,1
    - Dst: Self::IntoIter::any
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:388,1
    - Dst: Vec::is_ecc
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:388,1
    - Dst: Vec::iter
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:390,1
    - Dst: Self::IntoIter::any
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:390,1
    - Dst: Vec::is_eddsa
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:390,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:396,1
    - Dst: Error::AlgorithmError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:396,1
    - Dst: AlgorithmError::Unsupported
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:396,1
    - Dst: Vec::iter
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:408,1
    - Dst: Self::IntoIter::any
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:408,1
    - Dst: Vec::iter
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:412,1
    - Dst: Self::IntoIter::any
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:412,1
    - Dst: Vec::iter
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:416,1
    - Dst: Self::IntoIter::any
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:416,1
    - Dst: Vec::is_empty
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:423,1
    - Dst: Vec::iter
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:425,1
    - Dst: Self::IntoIter::any
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:425,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:435,1
    - Dst: Error::AlgorithmError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:435,1
    - Dst: AlgorithmError::Unsupported
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:435,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:443,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 83
    argCount: 3
    argNames:
    - cert_sig_algo_oid
    - base_asym_algo
    - base_hash_algo
    argTypes:
    - '&ObjectIdentifier'
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 444
      start: 345
    functionDepth: 3
    functionLinenumber: 345
    functionLinenumberEnd: 444
    functionName: verify_signature_algorithm
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs
    functionUses: 2
    functionsReached:
    - Vec::is_ecc
    - Self::IntoIter::any
    - Vec::is_eddsa
    - Vec::is_rsa
    - Err
    - SpdmBaseHashAlgo::from_bits
    - SpdmBaseAsymAlgo::from_bits
    - Vec::is_empty
    - Vec::iter
    - Error::AlgorithmError
    - AlgorithmError::Unsupported
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn verify_signature_algorithm(cert_sig_algo_oid: &ObjectIdentifier,base_asym_algo:
      u32,base_hash_algo: u32,) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmBaseAsymAlgo::from_bits
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:467,1
    - Dst: Vec::iter
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:468,1
    - Dst: Self::IntoIter::filter_map
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:468,1
    - Dst: Vec::rsa_key_size
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:468,1
    - Dst: collect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:468,1
    - Dst: is_empty
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:470,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:471,1
    - Dst: Error::AlgorithmError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:471,1
    - Dst: AlgorithmError::Unsupported
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:471,1
    - Dst: alloc::string::String::from
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:472,1
    - Dst: estimate_rsa_key_size
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:477,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:479,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:480,1
    - Dst: Error::KeyError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:480,1
    - Dst: '&str::to_string'
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:481,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:486,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 37
    argCount: 2
    argNames:
    - public_key_der
    - base_asym_algo
    argTypes:
    - '&[u8]'
    - u32
    constantsTouched: []
    func_position:
      end: 487
      start: 455
    functionDepth: 4
    functionLinenumber: 455
    functionLinenumberEnd: 487
    functionName: verify_rsa_key_size
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs
    functionUses: 2
    functionsReached:
    - is_empty
    - '&str::to_string'
    - alloc::string::String::from
    - Err
    - contains
    - SpdmBaseAsymAlgo::from_bits
    - Vec::rsa_key_size
    - Vec::iter
    - Self::IntoIter::filter_map
    - Error::AlgorithmError
    - collect
    - estimate_rsa_key_size
    - AlgorithmError::Unsupported
    - Ok
    - Error::KeyError
    linkageType: ''
    returnType: Result
    signature: 'pub fn verify_rsa_key_size(public_key_der: &[u8], base_asym_algo:
      u32) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SubjectPublicKeyInfo::<der::Any, der::asn1::BitString>::from_der
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:499,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:499,1
    - Dst: Error::AlgorithmError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:501,1
    - Dst: AlgorithmError::Unsupported
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:501,1
    - Dst: raw_bytes
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:508,1
    - Dst: SliceReader::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:513,1
    - Dst: Self::map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:513,1
    - Dst: Error::AlgorithmError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:514,1
    - Dst: AlgorithmError::Unsupported
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:514,1
    - Dst: der::Header::decode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:521,1
    - Dst: der::Result::map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:521,1
    - Dst: Error::AlgorithmError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:522,1
    - Dst: AlgorithmError::Unsupported
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:522,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:529,1
    - Dst: Error::AlgorithmError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:529,1
    - Dst: AlgorithmError::Unsupported
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:529,1
    - Dst: alloc::string::String::from
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:530,1
    - Dst: Result::read_nested
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:536,1
    - Dst: UintRef::decode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:538,1
    - Dst: UintRef::decode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:540,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:541,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:536,1
    - Dst: Error::AlgorithmError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:544,1
    - Dst: AlgorithmError::Unsupported
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:544,1
    - Dst: as_bytes
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:552,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:552,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:555,1
    - Dst: Error::KeyError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:555,1
    - Dst: '&str::to_string'
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:556,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:561,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 66
    argCount: 1
    argNames:
    - spki_der
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 562
      start: 494
    functionDepth: 4
    functionLinenumber: 494
    functionLinenumberEnd: 562
    functionName: estimate_rsa_key_size
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs
    functionUses: 1
    functionsReached:
    - SubjectPublicKeyInfo::<der::Any, der::asn1::BitString>::from_der
    - map_err
    - '&str::to_string'
    - UintRef::decode
    - Error::AlgorithmError
    - SliceReader::new
    - AlgorithmError::Unsupported
    - der::Header::decode
    - alloc::string::String::from
    - as_bytes
    - Ok
    - Err
    - len
    - Result::read_nested
    - Result::map_err
    - der::Result::map_err
    - raw_bytes
    - Self::map_err
    - Error::KeyError
    linkageType: ''
    returnType: Result
    signature: 'fn estimate_rsa_key_size(spki_der: &[u8]) -> Result<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmBaseAsymAlgo::from_bits
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:574,1
    - Dst: Vec::iter
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:577,1
    - Dst: Self::IntoIter::any
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:577,1
    - Dst: Option::ecc_curve_oid
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:578,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:586,1
    - Dst: Error::AlgorithmError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:586,1
    - Dst: AlgorithmError::Unsupported
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:586,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:591,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 2
    argNames:
    - curve_oid
    - base_asym_algo
    argTypes:
    - '&ObjectIdentifier'
    - u32
    constantsTouched: []
    func_position:
      end: 592
      start: 573
    functionDepth: 3
    functionLinenumber: 573
    functionLinenumberEnd: 592
    functionName: verify_ecc_curve
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs
    functionUses: 2
    functionsReached:
    - Self::IntoIter::any
    - Option::ecc_curve_oid
    - Err
    - SpdmBaseAsymAlgo::from_bits
    - Vec::iter
    - Error::AlgorithmError
    - AlgorithmError::Unsupported
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn verify_ecc_curve(curve_oid: &ObjectIdentifier, base_asym_algo:
      u32) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmBaseHashAlgo::from_bits
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:604,1
    - Dst: Vec::iter
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:606,1
    - Dst: Self::IntoIter::any
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:606,1
    - Dst: Option::oid
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:606,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:609,1
    - Dst: Error::AlgorithmError
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:609,1
    - Dst: AlgorithmError::Unsupported
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:609,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:614,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - hash_oid
    - base_hash_algo
    argTypes:
    - '&ObjectIdentifier'
    - u32
    constantsTouched: []
    func_position:
      end: 615
      start: 603
    functionDepth: 10
    functionLinenumber: 603
    functionLinenumberEnd: 615
    functionName: verify_hash_algorithm
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs
    functionUses: 0
    functionsReached:
    - Option::oid
    - Self::IntoIter::any
    - Err
    - SpdmBaseHashAlgo::from_bits
    - Vec::iter
    - Error::AlgorithmError
    - AlgorithmError::Unsupported
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn verify_hash_algorithm(hash_oid: &ObjectIdentifier, base_hash_algo:
      u32) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmBaseAsymAlgo::from_bits
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 629
      start: 623
    functionDepth: 3
    functionLinenumber: 623
    functionLinenumberEnd: 629
    functionName: tests::test_spdm_base_asym_algo_from_bits
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs
    functionUses: 0
    functionsReached:
    - SpdmBaseAsymAlgo::from_bits
    linkageType: ''
    returnType: void
    signature: fn test_spdm_base_asym_algo_from_bits()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 637
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 637
    functionName: tests::test_rsa_key_size
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_rsa_key_size()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 654
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 654
    functionName: tests::test_ecc_curve_oid
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_ecc_curve_oid()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 661
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 661
    functionName: tests::test_hash_algo_oid
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_hash_algo_oid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ObjectIdentifier::new_unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 671
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 671
    functionName: tests::test_verify_sig_algo_rsa_accepted_when_rsa_negotiated
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs
    functionUses: 0
    functionsReached:
    - ObjectIdentifier::new_unwrap
    linkageType: ''
    returnType: void
    signature: fn test_verify_sig_algo_rsa_accepted_when_rsa_negotiated()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ObjectIdentifier::new_unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 679
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 679
    functionName: tests::test_verify_sig_algo_rsa_rejected_when_only_ecdsa_negotiated
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs
    functionUses: 0
    functionsReached:
    - ObjectIdentifier::new_unwrap
    linkageType: ''
    returnType: void
    signature: fn test_verify_sig_algo_rsa_rejected_when_only_ecdsa_negotiated()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ObjectIdentifier::new_unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 687
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 687
    functionName: tests::test_verify_sig_algo_ecdsa_rejected_when_only_rsa_negotiated
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs
    functionUses: 0
    functionsReached:
    - ObjectIdentifier::new_unwrap
    linkageType: ''
    returnType: void
    signature: fn test_verify_sig_algo_ecdsa_rejected_when_only_rsa_negotiated()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ObjectIdentifier::new_unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 695
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 695
    functionName: tests::test_verify_sig_algo_ecdsa_accepted_when_ecdsa_negotiated
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs
    functionUses: 0
    functionsReached:
    - ObjectIdentifier::new_unwrap
    linkageType: ''
    returnType: void
    signature: fn test_verify_sig_algo_ecdsa_accepted_when_ecdsa_negotiated()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ObjectIdentifier::new_unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 705
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 705
    functionName: tests::test_verify_sig_algo_hash_mismatch_rejected
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs
    functionUses: 0
    functionsReached:
    - ObjectIdentifier::new_unwrap
    linkageType: ''
    returnType: void
    signature: fn test_verify_sig_algo_hash_mismatch_rejected()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ObjectIdentifier::new_unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 713
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 713
    functionName: tests::test_verify_sig_algo_rsa_pss_accepted_with_any_hash
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs
    functionUses: 0
    functionsReached:
    - ObjectIdentifier::new_unwrap
    linkageType: ''
    returnType: void
    signature: fn test_verify_sig_algo_rsa_pss_accepted_with_any_hash()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ObjectIdentifier::new_unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 724
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 724
    functionName: tests::test_verify_sig_algo_ed25519_requires_sha512
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs
    functionUses: 0
    functionsReached:
    - ObjectIdentifier::new_unwrap
    linkageType: ''
    returnType: void
    signature: fn test_verify_sig_algo_ed25519_requires_sha512()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ObjectIdentifier::new_unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 732
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 732
    functionName: tests::test_verify_sig_algo_ed448_accepted_unconditionally
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs
    functionUses: 0
    functionsReached:
    - ObjectIdentifier::new_unwrap
    linkageType: ''
    returnType: void
    signature: fn test_verify_sig_algo_ed448_accepted_unconditionally()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ObjectIdentifier::new_unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 740
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 740
    functionName: tests::test_verify_sig_algo_unknown_oid_rejected
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs
    functionUses: 0
    functionsReached:
    - ObjectIdentifier::new_unwrap
    linkageType: ''
    returnType: void
    signature: fn test_verify_sig_algo_unknown_oid_rejected()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ObjectIdentifier::new_unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 751
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 751
    functionName: tests::test_verify_sig_algo_multiple_asym_negotiated
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs
    functionUses: 0
    functionsReached:
    - ObjectIdentifier::new_unwrap
    linkageType: ''
    returnType: void
    signature: fn test_verify_sig_algo_multiple_asym_negotiated()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 760
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 760
    functionName: tests::test_verify_ecc_curve_p256_accepted
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_verify_ecc_curve_p256_accepted()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 767
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 767
    functionName: tests::test_verify_ecc_curve_p384_accepted
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_verify_ecc_curve_p384_accepted()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 774
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 774
    functionName: tests::test_verify_ecc_curve_p256_rejected_when_only_p384
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_verify_ecc_curve_p256_rejected_when_only_p384()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 781
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 781
    functionName: tests::test_verify_ecc_curve_rejected_when_only_rsa
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_verify_ecc_curve_rejected_when_only_rsa()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 790
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 790
    functionName: tests::test_verify_hash_algo_sha256_accepted
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_verify_hash_algo_sha256_accepted()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 797
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 797
    functionName: tests::test_verify_hash_algo_sha256_rejected_when_only_sha384
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_verify_hash_algo_sha256_rejected_when_only_sha384()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 804
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 804
    functionName: tests::test_verify_hash_algo_sha384_accepted
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_verify_hash_algo_sha384_accepted()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::read
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:810,1
    - Dst: Option::expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 817
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 817
    functionName: tests::test_verify_rsa_key_size_2048_with_real_key
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs
    functionUses: 0
    functionsReached:
    - std::fs::read
    - Option::expect
    linkageType: ''
    returnType: void
    signature: fn test_verify_rsa_key_size_2048_with_real_key()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::read
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:821,1
    - Dst: Option::expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:821,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 828
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 828
    functionName: tests::test_verify_rsa_key_size_2048_rejected_when_only_3072
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs
    functionUses: 0
    functionsReached:
    - std::fs::read
    - Option::expect
    linkageType: ''
    returnType: void
    signature: fn test_verify_rsa_key_size_2048_rejected_when_only_3072()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::read
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:832,1
    - Dst: Option::expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 839
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 839
    functionName: tests::test_verify_rsa_key_size_3072_with_real_key
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs
    functionUses: 0
    functionsReached:
    - std::fs::read
    - Option::expect
    linkageType: ''
    returnType: void
    signature: fn test_verify_rsa_key_size_3072_with_real_key()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::read
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:843,1
    - Dst: Option::expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 850
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 850
    functionName: tests::test_verify_rsa_key_size_no_rsa_negotiated
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs
    functionUses: 0
    functionsReached:
    - std::fs::read
    - Option::expect
    linkageType: ''
    returnType: void
    signature: fn test_verify_rsa_key_size_no_rsa_negotiated()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 858
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 858
    functionName: tests::test_estimate_rsa_key_size_malformed_der
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_estimate_rsa_key_size_malformed_der()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 869
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 869
    functionName: tests::test_is_rsa
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_is_rsa()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 878
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 878
    functionName: tests::test_is_ecc
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_is_ecc()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 886
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 886
    functionName: tests::test_is_eddsa
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_is_eddsa()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmBaseHashAlgo::from_bits
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 897
      start: 891
    functionDepth: 3
    functionLinenumber: 891
    functionLinenumberEnd: 897
    functionName: tests::test_hash_algo_from_bits_multiple
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs
    functionUses: 0
    functionsReached:
    - SpdmBaseHashAlgo::from_bits
    linkageType: ''
    returnType: void
    signature: fn test_hash_algo_from_bits_multiple()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmBaseHashAlgo::from_bits
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:901,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 903
      start: 900
    functionDepth: 3
    functionLinenumber: 900
    functionLinenumberEnd: 903
    functionName: tests::test_hash_algo_from_bits_empty
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs
    functionUses: 0
    functionsReached:
    - SpdmBaseHashAlgo::from_bits
    linkageType: ''
    returnType: void
    signature: fn test_hash_algo_from_bits_empty()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::read
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:909,1
    - Dst: Option::expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:909,1
    - Dst: crate::certificate::Certificate::from_der
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:914,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 920
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 920
    functionName: tests::test_load_ecp256_cert_from_der
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs
    functionUses: 0
    functionsReached:
    - std::fs::read
    - crate::certificate::Certificate::from_der
    - Option::expect
    linkageType: ''
    returnType: void
    signature: fn test_load_ecp256_cert_from_der()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::read
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:924,1
    - Dst: Option::expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:924,1
    - Dst: crate::certificate::Certificate::from_der
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 935
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 935
    functionName: tests::test_load_rsa3072_cert_from_der
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs
    functionUses: 0
    functionsReached:
    - std::fs::read
    - crate::certificate::Certificate::from_der
    - Option::expect
    linkageType: ''
    returnType: void
    signature: fn test_load_rsa3072_cert_from_der()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Certificate::from_der
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:967,1
    - Dst: raw_bytes
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:970,1
    - Dst: SignatureAlgorithm::from_spdm_algos
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:977,1
    - Dst: Self::verify_signature
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:979,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 6
    argNames:
    - base_hash_algo
    - base_asym_algo
    - public_cert_der
    - data
    - signature
    - backend
    argTypes:
    - SpdmBaseHashAlgo
    - SpdmBaseAsymAlgo
    - '&[u8]'
    - '&[u8]'
    - '&[u8]'
    - '&B'
    constantsTouched: []
    func_position:
      end: 980
      start: 955
    functionDepth: 6
    functionLinenumber: 955
    functionLinenumberEnd: 980
    functionName: verify_signature_with_backend
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs
    functionUses: 1
    functionsReached:
    - Certificate::from_der
    - raw_bytes
    - Self::verify_signature
    - SignatureAlgorithm::from_spdm_algos
    linkageType: ''
    returnType: Result
    signature: 'pub fn verify_signature_with_backend<B: crate::crypto_backend::CryptoBackend>(base_hash_algo:
      SpdmBaseHashAlgo,base_asym_algo: SpdmBaseAsymAlgo,public_cert_der: &[u8],data:
      &[u8],signature: &[u8],backend: &B,) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verify_signature_with_backend
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs:1010,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - base_hash_algo
    - base_asym_algo
    - public_cert_der
    - data
    - signature
    argTypes:
    - SpdmBaseHashAlgo
    - SpdmBaseAsymAlgo
    - '&[u8]'
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 1018
      start: 1003
    functionDepth: 7
    functionLinenumber: 1003
    functionLinenumberEnd: 1018
    functionName: verify_signature
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs
    functionUses: 7
    functionsReached:
    - verify_signature_with_backend
    linkageType: ''
    returnType: Result
    signature: 'pub fn verify_signature(base_hash_algo: SpdmBaseHashAlgo,base_asym_algo:
      SpdmBaseAsymAlgo,public_cert_der: &[u8],data: &[u8],signature: &[u8],) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: BasicConstraints::new_end_entity
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: pub fn new_end_entity() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - path_len
    argTypes:
    - Option<u32>
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: BasicConstraints::new_ca
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub fn new_ca(path_len: Option<u32>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::from_der
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:115,1
    - Dst: bool::value
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ext
    argTypes:
    - '&Extension'
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 5
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: BasicConstraints::from_extension
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs
    functionUses: 1
    functionsReached:
    - Self::from_der
    - bool::value
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_extension(ext: &Extension) -> Result<Self, der::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - bits
    argTypes:
    - u16
    constantsTouched: []
    func_position:
      end: 171
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 171
    functionName: KeyUsage::new
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(bits: u16) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - usage
    argTypes:
    - u16
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: KeyUsage::has
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'pub fn has(&self, usage: u16) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: der::asn1::BitString::from_der
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:183,1
    - Dst: raw_bytes
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:184,1
    - Dst: Result::len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:186,1
    - Dst: u16::from_be_bytes
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:187,1
    - Dst: u16::from_be_bytes
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:188,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 193
      start: 182
    functionDepth: 4
    functionLinenumber: 182
    functionLinenumberEnd: 193
    functionName: KeyUsage::from_der
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs
    functionUses: 2
    functionsReached:
    - der::asn1::BitString::from_der
    - Result::len
    - u16::from_be_bytes
    - raw_bytes
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_der(bytes: &[u8]) -> Result<Self, der::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::from_der
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:197,1
    - Dst: bool::value
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ext
    argTypes:
    - '&Extension'
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 5
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: KeyUsage::from_extension
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs
    functionUses: 2
    functionsReached:
    - Self::from_der
    - bool::value
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_extension(ext: &Extension) -> Result<Self, der::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:203,1
    - Dst: KeyUsage::has
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:204,1
    - Dst: Self::push
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:205,1
    - Dst: KeyUsage::has
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:207,1
    - Dst: Self::push
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:208,1
    - Dst: KeyUsage::has
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:210,1
    - Dst: Self::push
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:211,1
    - Dst: KeyUsage::has
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:213,1
    - Dst: Self::push
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:214,1
    - Dst: KeyUsage::has
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:216,1
    - Dst: Self::push
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:217,1
    - Dst: KeyUsage::has
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:219,1
    - Dst: Self::push
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:220,1
    - Dst: KeyUsage::has
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:222,1
    - Dst: Self::push
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:223,1
    - Dst: KeyUsage::has
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:225,1
    - Dst: Self::push
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:226,1
    - Dst: KeyUsage::has
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:228,1
    - Dst: Self::push
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:229,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 64
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 233
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 233
    functionName: KeyUsage::fmt
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs
    functionUses: 0
    functionsReached:
    - KeyUsage::has
    - Self::push
    - Vec::new
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter<''_>) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::read_nested
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:279,1
    - Dst: Vec::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:280,1
    - Dst: Result::is_finished
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:281,1
    - Dst: Self::push
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:282,1
    - Dst: ObjectIdentifier::decode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:282,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - reader
    - header
    argTypes:
    - '&mut R'
    - Header
    constantsTouched: []
    func_position:
      end: 286
      start: 278
    functionDepth: 3
    functionLinenumber: 278
    functionLinenumberEnd: 286
    functionName: ExtendedKeyUsage::decode_value
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs
    functionUses: 0
    functionsReached:
    - ObjectIdentifier::decode
    - Self::push
    - Result::is_finished
    - Vec::new
    - Result::read_nested
    - Ok
    linkageType: ''
    returnType: der::Result
    signature: 'fn decode_value<R: Reader<''a>>(reader: &mut R, header: Header) ->
      der::Result<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::encoded_len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:294,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:296,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 297
      start: 291
    functionDepth: 6
    functionLinenumber: 291
    functionLinenumberEnd: 297
    functionName: ExtendedKeyUsage::encoded_len
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs
    functionUses: 0
    functionsReached:
    - Result::encoded_len
    - Ok
    linkageType: ''
    returnType: der::Result
    signature: fn encoded_len(&self) -> der::Result<der::Length>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::encode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:301,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - encoder
    argTypes:
    - '&mut impl der::Writer'
    constantsTouched: []
    func_position:
      end: 304
      start: 299
    functionDepth: 3
    functionLinenumber: 299
    functionLinenumberEnd: 304
    functionName: ExtendedKeyUsage::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs
    functionUses: 0
    functionsReached:
    - Result::encode
    - Ok
    linkageType: ''
    returnType: der::Result
    signature: 'fn encode(&self, encoder: &mut impl der::Writer) -> der::Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Header::decode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:309,1
    - Dst: Self::decode_value
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - reader
    argTypes:
    - '&mut R'
    constantsTouched: []
    func_position:
      end: 311
      start: 308
    functionDepth: 3
    functionLinenumber: 308
    functionLinenumberEnd: 311
    functionName: ExtendedKeyUsage::decode
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs
    functionUses: 0
    functionsReached:
    - Header::decode
    - Self::decode_value
    linkageType: ''
    returnType: der::Result
    signature: 'fn decode<R: Reader<''a>>(reader: &mut R) -> der::Result<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key_purposes
    argTypes:
    - Vec<ObjectIdentifier>
    constantsTouched: []
    func_position:
      end: 318
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 318
    functionName: ExtendedKeyUsage::new
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(key_purposes: Vec<ObjectIdentifier>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::from_der
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:322,1
    - Dst: bool::value
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ext
    argTypes:
    - '&Extension'
    constantsTouched: []
    func_position:
      end: 323
      start: 321
    functionDepth: 5
    functionLinenumber: 321
    functionLinenumberEnd: 323
    functionName: ExtendedKeyUsage::from_extension
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs
    functionUses: 1
    functionsReached:
    - Self::from_der
    - bool::value
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_extension(ext: &Extension) -> Result<Self, der::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:327,1
    - Dst: any
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - oid
    argTypes:
    - '&ObjectIdentifier'
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: ExtendedKeyUsage::has_purpose
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs
    functionUses: 3
    functionsReached:
    - any
    - iter
    linkageType: ''
    returnType: bool
    signature: 'pub fn has_purpose(&self, oid: &ObjectIdentifier) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExtendedKeyUsage::has_purpose
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 333
      start: 331
    functionDepth: 3
    functionLinenumber: 331
    functionLinenumberEnd: 333
    functionName: ExtendedKeyUsage::is_server_auth
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs
    functionUses: 0
    functionsReached:
    - ExtendedKeyUsage::has_purpose
    linkageType: ''
    returnType: bool
    signature: pub fn is_server_auth(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExtendedKeyUsage::has_purpose
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 338
      start: 336
    functionDepth: 3
    functionLinenumber: 336
    functionLinenumberEnd: 338
    functionName: ExtendedKeyUsage::is_client_auth
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs
    functionUses: 0
    functionsReached:
    - ExtendedKeyUsage::has_purpose
    linkageType: ''
    returnType: bool
    signature: pub fn is_client_auth(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExtendedKeyUsage::has_purpose
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 343
      start: 341
    functionDepth: 3
    functionLinenumber: 341
    functionLinenumberEnd: 343
    functionName: ExtendedKeyUsage::is_code_signing
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs
    functionUses: 0
    functionsReached:
    - ExtendedKeyUsage::has_purpose
    linkageType: ''
    returnType: bool
    signature: pub fn is_code_signing(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BasicConstraints::new_end_entity
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:357,1
    - Dst: BasicConstraints::new_ca
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:361,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 364
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 364
    functionName: tests::test_basic_constraints
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs
    functionUses: 0
    functionsReached:
    - BasicConstraints::new_end_entity
    - BasicConstraints::new_ca
    - Some
    linkageType: ''
    returnType: void
    signature: fn test_basic_constraints()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyUsage::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 377
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 377
    functionName: tests::test_key_usage
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs
    functionUses: 0
    functionsReached:
    - KeyUsage::new
    linkageType: ''
    returnType: void
    signature: fn test_key_usage()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ExtendedKeyUsage::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 389
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 389
    functionName: tests::test_extended_key_usage
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs
    functionUses: 0
    functionsReached:
    - ExtendedKeyUsage::new
    linkageType: ''
    returnType: void
    signature: fn test_extended_key_usage()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Time::UtcTime
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - utc_time
    argTypes:
    - UtcTime
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: Time::new_utc
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs
    functionUses: 0
    functionsReached:
    - Time::UtcTime
    linkageType: ''
    returnType: Self
    signature: 'pub const fn new_utc(utc_time: UtcTime) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Time::GeneralizedTime
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - generalized_time
    argTypes:
    - GeneralizedTime
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: Time::new_generalized
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs
    functionUses: 0
    functionsReached:
    - Time::GeneralizedTime
    linkageType: ''
    returnType: Self
    signature: 'pub const fn new_generalized(generalized_time: GeneralizedTime) ->
      Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::to_date_time
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:49,1
    - Dst: to_date_time
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: Time::to_unix_duration
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs
    functionUses: 5
    functionsReached:
    - Self::to_date_time
    - to_date_time
    linkageType: ''
    returnType: der::DateTime
    signature: pub fn to_unix_duration(&self) -> der::DateTime
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Time::to_unix_duration
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:56,1
    - Dst: '&Time::to_unix_duration'
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:57,1
    - Dst: der::DateTime::unix_duration
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:58,1
    - Dst: der::DateTime::unix_duration
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - other
    argTypes:
    - '&Time'
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: Time::is_before
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs
    functionUses: 0
    functionsReached:
    - der::DateTime::unix_duration
    - '&Time::to_unix_duration'
    - Time::to_unix_duration
    linkageType: ''
    returnType: bool
    signature: 'pub fn is_before(&self, other: &Time) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Time::to_unix_duration
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:63,1
    - Dst: '&Time::to_unix_duration'
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:64,1
    - Dst: der::DateTime::unix_duration
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:65,1
    - Dst: der::DateTime::unix_duration
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - other
    argTypes:
    - '&Time'
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: Time::is_after
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs
    functionUses: 0
    functionsReached:
    - der::DateTime::unix_duration
    - '&Time::to_unix_duration'
    - Time::to_unix_duration
    linkageType: ''
    returnType: bool
    signature: 'pub fn is_after(&self, other: &Time) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: Time::now
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs
    functionUses: 1
    functionsReached:
    - Err
    linkageType: ''
    returnType: core::result::Result
    signature: pub fn now() -> core::result::Result<Self, &'static str>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Time::to_unix_duration
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:94,1
    - Dst: '&Time::to_unix_duration'
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:95,1
    - Dst: der::DateTime::unix_duration
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:96,1
    - Dst: der::DateTime::unix_duration
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - other
    argTypes:
    - '&Time'
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: Time::is_before_or_equal
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs
    functionUses: 0
    functionsReached:
    - der::DateTime::unix_duration
    - '&Time::to_unix_duration'
    - Time::to_unix_duration
    linkageType: ''
    returnType: bool
    signature: 'pub fn is_before_or_equal(&self, other: &Time) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Time::to_unix_duration
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:101,1
    - Dst: '&Time::to_unix_duration'
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:102,1
    - Dst: der::DateTime::unix_duration
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:103,1
    - Dst: der::DateTime::unix_duration
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - other
    argTypes:
    - '&Time'
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: Time::is_after_or_equal
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs
    functionUses: 0
    functionsReached:
    - der::DateTime::unix_duration
    - '&Time::to_unix_duration'
    - Time::to_unix_duration
    linkageType: ''
    returnType: bool
    signature: 'pub fn is_after_or_equal(&self, other: &Time) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:109,1
    - Dst: Time::cmp
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - '&Self'
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: Time::partial_cmp
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs
    functionUses: 0
    functionsReached:
    - Time::cmp
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn partial_cmp(&self, other: &Self) -> Option<Ordering>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Time::to_unix_duration
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:115,1
    - Dst: '&Self::to_unix_duration'
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:116,1
    - Dst: der::DateTime::unix_duration
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:117,1
    - Dst: der::DateTime::cmp
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:117,1
    - Dst: der::DateTime::unix_duration
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - other
    argTypes:
    - '&Self'
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: Time::cmp
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs
    functionUses: 2
    functionsReached:
    - '&Self::to_unix_duration'
    - der::DateTime::cmp
    - der::DateTime::unix_duration
    - Time::to_unix_duration
    linkageType: ''
    returnType: Ordering
    signature: 'fn cmp(&self, other: &Self) -> Ordering'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:124,1
    - Dst: Time::UtcTime
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:124,1
    - Dst: UtcTime::decode_value
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:124,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:125,1
    - Dst: Time::GeneralizedTime
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:125,1
    - Dst: GeneralizedTime::decode_value
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:125,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:128,1
    - Dst: der::Error::from
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:128,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - reader
    - header
    argTypes:
    - '&mut R'
    - Header
    constantsTouched: []
    func_position:
      end: 133
      start: 122
    functionDepth: 3
    functionLinenumber: 122
    functionLinenumberEnd: 133
    functionName: Time::decode_value
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs
    functionUses: 1
    functionsReached:
    - UtcTime::decode_value
    - Ok
    - der::Error::from
    - Time::GeneralizedTime
    - Err
    - GeneralizedTime::decode_value
    - Time::UtcTime
    - Some
    linkageType: ''
    returnType: Result
    signature: 'fn decode_value<R: Reader<''a>>(reader: &mut R, header: Header) ->
      Result<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::value_len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:139,1
    - Dst: value_len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 7
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: Time::value_len
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs
    functionUses: 0
    functionsReached:
    - value_len
    - Self::value_len
    linkageType: ''
    returnType: Result
    signature: fn value_len(&self) -> Result<Length>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::encode_value
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:146,1
    - Dst: encode_value
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - writer
    argTypes:
    - '&mut impl Writer'
    constantsTouched: []
    func_position:
      end: 149
      start: 144
    functionDepth: 4
    functionLinenumber: 144
    functionLinenumberEnd: 149
    functionName: Time::encode_value
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs
    functionUses: 0
    functionsReached:
    - encode_value
    - Self::encode_value
    linkageType: ''
    returnType: Result
    signature: 'fn encode_value(&self, writer: &mut impl Writer) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::encoded_len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:155,1
    - Dst: encoded_len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 6
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: Time::encoded_len
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs
    functionUses: 0
    functionsReached:
    - encoded_len
    - Self::encoded_len
    linkageType: ''
    returnType: Result
    signature: fn encoded_len(&self) -> Result<Length>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::encode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:162,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - writer
    argTypes:
    - '&mut impl Writer'
    constantsTouched: []
    func_position:
      end: 165
      start: 160
    functionDepth: 3
    functionLinenumber: 160
    functionLinenumberEnd: 165
    functionName: Time::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs
    functionUses: 0
    functionsReached:
    - Self::encode
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, writer: &mut impl Writer) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Header::decode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:170,1
    - Dst: Self::decode_value
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - reader
    argTypes:
    - '&mut R'
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 4
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: Time::decode
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs
    functionUses: 1
    functionsReached:
    - Header::decode
    - Self::decode_value
    linkageType: ''
    returnType: Result
    signature: 'fn decode<R: Reader<''a>>(reader: &mut R) -> Result<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - not_before
    - not_after
    argTypes:
    - Time
    - Time
    constantsTouched: []
    func_position:
      end: 199
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 199
    functionName: Validity::new
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub const fn new(not_before: Time, not_after: Time) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_before_or_equal
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:203,1
    - Dst: is_after_or_equal
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - check_time
    argTypes:
    - '&Time'
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: Validity::is_valid_at
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs
    functionUses: 1
    functionsReached:
    - is_before_or_equal
    - is_after_or_equal
    linkageType: ''
    returnType: bool
    signature: 'pub fn is_valid_at(&self, check_time: &Time) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_before_or_equal
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 210
    functionName: Validity::is_well_formed
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs
    functionUses: 0
    functionsReached:
    - is_before_or_equal
    linkageType: ''
    returnType: bool
    signature: pub fn is_well_formed(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_eq
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:215,1
    - Dst: Result::read_nested
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:216,1
    - Dst: Time::decode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:217,1
    - Dst: Time::decode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:218,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:219,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - reader
    - header
    argTypes:
    - '&mut R'
    - Header
    constantsTouched: []
    func_position:
      end: 224
      start: 214
    functionDepth: 5
    functionLinenumber: 214
    functionLinenumberEnd: 224
    functionName: Validity::decode_value
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs
    functionUses: 0
    functionsReached:
    - Time::decode
    - Result::read_nested
    - assert_eq
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn decode_value<R: Reader<''a>>(reader: &mut R, header: Header) ->
      Result<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encoded_len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:229,1
    - Dst: encoded_len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 6
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: Validity::value_len
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs
    functionUses: 0
    functionsReached:
    - encoded_len
    linkageType: ''
    returnType: Result
    signature: fn value_len(&self) -> Result<Length>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:233,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:234,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - writer
    argTypes:
    - '&mut impl Writer'
    constantsTouched: []
    func_position:
      end: 236
      start: 232
    functionDepth: 3
    functionLinenumber: 232
    functionLinenumberEnd: 236
    functionName: Validity::encode_value
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs
    functionUses: 0
    functionsReached:
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode_value(&self, writer: &mut impl Writer) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&Validity::is_valid_at'
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - validity
    - check_time
    argTypes:
    - '&Validity'
    - '&Time'
    constantsTouched: []
    func_position:
      end: 244
      start: 242
    functionDepth: 3
    functionLinenumber: 242
    functionLinenumberEnd: 244
    functionName: is_valid_at
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs
    functionUses: 1
    functionsReached:
    - '&Validity::is_valid_at'
    linkageType: ''
    returnType: bool
    signature: 'pub fn is_valid_at(validity: &Validity, check_time: &Time) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Time::UtcTime
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:254,1
    - Dst: UtcTime::from_unix_duration
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:255,1
    - Dst: der::DateTime::from_unix_duration
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:256,1
    - Dst: core::time::Duration::from_secs
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:256,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:256,1
    - Dst: unix_duration
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:256,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:255,1
    - Dst: Time::UtcTime
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:262,1
    - Dst: UtcTime::from_unix_duration
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:263,1
    - Dst: core::time::Duration::from_secs
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:263,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 251
    functionDepth: 5
    functionLinenumber: 251
    functionLinenumberEnd: 270
    functionName: tests::test_time_comparison
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs
    functionUses: 0
    functionsReached:
    - core::time::Duration::from_secs
    - unwrap
    - der::DateTime::from_unix_duration
    - unix_duration
    - UtcTime::from_unix_duration
    - Time::UtcTime
    linkageType: ''
    returnType: void
    signature: fn test_time_comparison()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Time::UtcTime
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:277,1
    - Dst: UtcTime::from_unix_duration
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:277,1
    - Dst: core::time::Duration::from_secs
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:277,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:277,1
    - Dst: Time::UtcTime
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:278,1
    - Dst: UtcTime::from_unix_duration
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:279,1
    - Dst: core::time::Duration::from_secs
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:279,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:279,1
    - Dst: Validity::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:282,1
    - Dst: Validity::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 287
      start: 273
    functionDepth: 5
    functionLinenumber: 273
    functionLinenumberEnd: 287
    functionName: tests::test_validity_well_formed
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs
    functionUses: 0
    functionsReached:
    - core::time::Duration::from_secs
    - unwrap
    - UtcTime::from_unix_duration
    - Validity::new
    - Time::UtcTime
    linkageType: ''
    returnType: void
    signature: fn test_validity_well_formed()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Time::UtcTime
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:293,1
    - Dst: UtcTime::from_unix_duration
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:294,1
    - Dst: core::time::Duration::from_secs
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:294,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:294,1
    - Dst: Time::UtcTime
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:296,1
    - Dst: UtcTime::from_unix_duration
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:297,1
    - Dst: core::time::Duration::from_secs
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:297,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:297,1
    - Dst: Validity::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:299,1
    - Dst: Time::UtcTime
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:301,1
    - Dst: UtcTime::from_unix_duration
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:302,1
    - Dst: core::time::Duration::from_secs
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:302,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:302,1
    - Dst: Time::UtcTime
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:306,1
    - Dst: UtcTime::from_unix_duration
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:307,1
    - Dst: core::time::Duration::from_secs
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:307,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:307,1
    - Dst: Time::UtcTime
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:311,1
    - Dst: UtcTime::from_unix_duration
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:312,1
    - Dst: core::time::Duration::from_secs
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:312,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 315
      start: 290
    functionDepth: 5
    functionLinenumber: 290
    functionLinenumberEnd: 315
    functionName: tests::test_validity_checking
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs
    functionUses: 0
    functionsReached:
    - core::time::Duration::from_secs
    - unwrap
    - UtcTime::from_unix_duration
    - Validity::new
    - Time::UtcTime
    linkageType: ''
    returnType: void
    signature: fn test_validity_checking()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Time::UtcTime
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:322,1
    - Dst: UtcTime::from_unix_duration
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:322,1
    - Dst: core::time::Duration::from_secs
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:322,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:322,1
    - Dst: Time::UtcTime
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:323,1
    - Dst: UtcTime::from_unix_duration
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:324,1
    - Dst: core::time::Duration::from_secs
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:324,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 330
      start: 318
    functionDepth: 5
    functionLinenumber: 318
    functionLinenumberEnd: 330
    functionName: tests::test_time_ord
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - UtcTime::from_unix_duration
    - core::time::Duration::from_secs
    - Time::UtcTime
    linkageType: ''
    returnType: void
    signature: fn test_time_ord()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hkdf_impl.rs:91,1
    - Dst: hkdf_expand
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hkdf_impl.rs:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 87
    functionDepth: 5
    functionLinenumber: 87
    functionLinenumberEnd: 98
    functionName: tests::test_case0_hkdf_expand
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hkdf_impl.rs
    functionUses: 0
    functionsReached:
    - hkdf_expand
    - Box::new
    linkageType: ''
    returnType: void
    signature: fn test_case0_hkdf_expand()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmBaseHashAlgo::empty
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hkdf_impl.rs:103,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hkdf_impl.rs:106,1
    - Dst: hkdf_expand
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hkdf_impl.rs:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 100
    functionDepth: 5
    functionLinenumber: 100
    functionLinenumberEnd: 118
    functionName: tests::test_case1_hkdf_expand
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hkdf_impl.rs
    functionUses: 0
    functionsReached:
    - hkdf_expand
    - SpdmBaseHashAlgo::empty
    - Box::new
    linkageType: ''
    returnType: void
    signature: fn test_case1_hkdf_expand()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hmac_impl.rs:64,1
    - Dst: hmac
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hmac_impl.rs:67,1
    - Dst: bool::as_ref
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hmac_impl.rs:67,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hmac_impl.rs:67,1
    - Dst: hmac_verify
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hmac_impl.rs:68,1
    - Dst: bool::as_ref
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hmac_impl.rs:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 60
    functionDepth: 10
    functionLinenumber: 60
    functionLinenumberEnd: 76
    functionName: tests::test_case0_hmac_verify
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hmac_impl.rs
    functionUses: 0
    functionsReached:
    - bool::as_ref
    - hmac_verify
    - hmac
    - Option::unwrap
    - Box::new
    linkageType: ''
    returnType: void
    signature: fn test_case0_hmac_verify()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hmac_impl.rs:82,1
    - Dst: hmac
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hmac_impl.rs:85,1
    - Dst: bool::as_ref
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hmac_impl.rs:85,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hmac_impl.rs:85,1
    - Dst: hmac_verify
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hmac_impl.rs:86,1
    - Dst: bool::as_ref
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hmac_impl.rs:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 78
    functionDepth: 10
    functionLinenumber: 78
    functionLinenumberEnd: 94
    functionName: tests::test_case1_hmac_verify
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hmac_impl.rs
    functionUses: 0
    functionsReached:
    - bool::as_ref
    - hmac_verify
    - hmac
    - Option::unwrap
    - Box::new
    linkageType: ''
    returnType: void
    signature: fn test_case1_hmac_verify()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hmac_impl.rs:101,1
    - Dst: hmac
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hmac_impl.rs:104,1
    - Dst: bool::as_ref
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hmac_impl.rs:104,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hmac_impl.rs:104,1
    - Dst: hmac_verify
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hmac_impl.rs:106,1
    - Dst: bool::as_ref
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hmac_impl.rs:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 97
    functionDepth: 10
    functionLinenumber: 97
    functionLinenumberEnd: 114
    functionName: tests::test_case2_hmac_verify
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hmac_impl.rs
    functionUses: 0
    functionsReached:
    - bool::as_ref
    - hmac_verify
    - hmac
    - Option::unwrap
    - Box::new
    linkageType: ''
    returnType: void
    signature: fn test_case2_hmac_verify()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmSharedSecretFinalKeyStruct::default
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:80,1
    - Dst: EcGroup::new
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:82,1
    - Dst: Self::ok
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:82,1
    - Dst: Vec::new
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:83,1
    - Dst: Option::push
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:84,1
    - Dst: Option::extend_from_slice
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:85,1
    - Dst: Box<Self>::as_ref
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:85,1
    - Dst: EcPoint::from_binary
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:86,1
    - Dst: Option::as_slice
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:86,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:86,1
    - Dst: Pk::public_from_ec_components
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:87,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:87,1
    - Dst: agree
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:88,1
    - Dst: as_mut_slice
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:90,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:88,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 41
    argCount: 2
    argNames:
    - peer_pub_key
    argTypes:
    - Box<Self>
    - '&SpdmDheExchangeStruct'
    constantsTouched: []
    func_position:
      end: 94
      start: 76
    functionDepth: 9
    functionLinenumber: 76
    functionLinenumberEnd: 94
    functionName: SpdmDheKeyExchangeP256::compute_final_key
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs
    functionUses: 0
    functionsReached:
    - Box<Self>::as_ref
    - ok
    - EcGroup::new
    - EcPoint::from_binary
    - Pk::public_from_ec_components
    - Option::push
    - agree
    - as_mut_slice
    - SpdmSharedSecretFinalKeyStruct::default
    - Option::as_slice
    - Vec::new
    - Option::extend_from_slice
    - Self::ok
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn compute_final_key(mut self: Box<Self>,peer_pub_key: &SpdmDheExchangeStruct,)
      -> Option<SpdmSharedSecretFinalKeyStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ec_private
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:97,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:97,1
    - Dst: to_binary_padded
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:97,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 9
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: SpdmDheKeyExchangeP256::export_private_key
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs
    functionUses: 0
    functionsReached:
    - ec_private
    - to_binary_padded
    - ok
    linkageType: ''
    returnType: Option
    signature: fn export_private_key(&self) -> Option<Vec<u8>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmDheExchangeStruct::default
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:62,1
    - Dst: EcGroup::new
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:64,1
    - Dst: Self::ok
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:64,1
    - Dst: Pk::generate_ec
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:65,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:65,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:65,1
    - Dst: ec_public
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:66,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:66,1
    - Dst: to_binary
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:66,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:66,1
    - Dst: as_mut_slice
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:67,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:67,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:67,1
    - Dst: as_slice
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:68,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:68,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:69,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:70,1
    - Dst: Self
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:70,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 9
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: SpdmDheKeyExchangeP256::generate_key_pair
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs
    functionUses: 1
    functionsReached:
    - ec_public
    - ok
    - clone
    - Some
    - as_slice
    - Self
    - EcGroup::new
    - Box::new
    - to_binary
    - len
    - copy_from_slice
    - SpdmDheExchangeStruct::default
    - as_mut_slice
    - Self::ok
    - Pk::generate_ec
    linkageType: ''
    returnType: Option
    signature: fn generate_key_pair() -> Option<(SpdmDheExchangeStruct, Box<dyn SpdmDheKeyExchange
      + Send>)>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:99,1
    - Dst: ring::agreement::EphemeralPrivateKey::from_private_key_bytes
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:102,1
    - Dst: Result::ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:102,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:107,1
    - Dst: Option::to_vec
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - private_key_bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 111
      start: 98
    functionDepth: 9
    functionLinenumber: 98
    functionLinenumberEnd: 111
    functionName: SpdmDheKeyExchangeP256::from_private_key_bytes
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs
    functionUses: 0
    functionsReached:
    - Result::ok
    - Option::to_vec
    - Option::len
    - ring::agreement::EphemeralPrivateKey::from_private_key_bytes
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn from_private_key_bytes(private_key_bytes: &[u8]) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmSharedSecretFinalKeyStruct::default
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:123,1
    - Dst: EcGroup::new
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:125,1
    - Dst: Self::ok
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:125,1
    - Dst: Vec::new
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:126,1
    - Dst: Option::push
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:127,1
    - Dst: Option::extend_from_slice
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:128,1
    - Dst: Box<Self>::as_ref
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:128,1
    - Dst: EcPoint::from_binary
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:129,1
    - Dst: Option::as_slice
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:129,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:129,1
    - Dst: Pk::public_from_ec_components
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:130,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:130,1
    - Dst: agree
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:131,1
    - Dst: as_mut_slice
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:133,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:131,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 41
    argCount: 2
    argNames:
    - peer_pub_key
    argTypes:
    - Box<Self>
    - '&SpdmDheExchangeStruct'
    constantsTouched: []
    func_position:
      end: 137
      start: 119
    functionDepth: 9
    functionLinenumber: 119
    functionLinenumberEnd: 137
    functionName: SpdmDheKeyExchangeP384::compute_final_key
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs
    functionUses: 0
    functionsReached:
    - Box<Self>::as_ref
    - ok
    - EcGroup::new
    - EcPoint::from_binary
    - Pk::public_from_ec_components
    - Option::push
    - agree
    - as_mut_slice
    - SpdmSharedSecretFinalKeyStruct::default
    - Option::as_slice
    - Vec::new
    - Option::extend_from_slice
    - Self::ok
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn compute_final_key(mut self: Box<Self>,peer_pub_key: &SpdmDheExchangeStruct,)
      -> Option<SpdmSharedSecretFinalKeyStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ec_private
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:140,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:140,1
    - Dst: to_binary_padded
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:140,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 9
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: SpdmDheKeyExchangeP384::export_private_key
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs
    functionUses: 0
    functionsReached:
    - ec_private
    - to_binary_padded
    - ok
    linkageType: ''
    returnType: Option
    signature: fn export_private_key(&self) -> Option<Vec<u8>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmDheExchangeStruct::default
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:105,1
    - Dst: EcGroup::new
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:107,1
    - Dst: Self::ok
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:107,1
    - Dst: Pk::generate_ec
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:108,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:108,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:108,1
    - Dst: ec_public
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:109,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:109,1
    - Dst: to_binary
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:109,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:109,1
    - Dst: as_mut_slice
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:110,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:110,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:110,1
    - Dst: as_slice
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:111,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:111,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:112,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:113,1
    - Dst: Self
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:113,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 104
    functionDepth: 9
    functionLinenumber: 104
    functionLinenumberEnd: 115
    functionName: SpdmDheKeyExchangeP384::generate_key_pair
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs
    functionUses: 1
    functionsReached:
    - ec_public
    - ok
    - clone
    - Some
    - as_slice
    - Self
    - EcGroup::new
    - Box::new
    - to_binary
    - len
    - copy_from_slice
    - SpdmDheExchangeStruct::default
    - as_mut_slice
    - Self::ok
    - Pk::generate_ec
    linkageType: ''
    returnType: Option
    signature: fn generate_key_pair() -> Option<(SpdmDheExchangeStruct, Box<dyn SpdmDheKeyExchange
      + Send>)>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::len
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:168,1
    - Dst: ring::agreement::EphemeralPrivateKey::from_private_key_bytes
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:171,1
    - Dst: Result::ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:171,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:176,1
    - Dst: Option::to_vec
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - private_key_bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 180
      start: 167
    functionDepth: 9
    functionLinenumber: 167
    functionLinenumberEnd: 180
    functionName: SpdmDheKeyExchangeP384::from_private_key_bytes
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs
    functionUses: 0
    functionsReached:
    - Result::ok
    - Option::to_vec
    - Option::len
    - ring::agreement::EphemeralPrivateKey::from_private_key_bytes
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn from_private_key_bytes(private_key_bytes: &[u8]) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:190,1
    - Dst: generate_key_pair
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:191,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:191,1
    - Dst: generate_key_pair
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:192,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:192,1
    - Dst: compute_final_key
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:194,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:194,1
    - Dst: compute_final_key
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:195,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 189
    functionDepth: 11
    functionLinenumber: 189
    functionLinenumberEnd: 199
    functionName: tests::test_case0_dhe
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs
    functionUses: 0
    functionsReached:
    - compute_final_key
    - generate_key_pair
    - unwrap
    - iter
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn test_case0_dhe()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmDheAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 206
    functionName: tests::test_case1_dhe
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs
    functionUses: 0
    functionsReached:
    - SpdmDheAlgo::empty
    linkageType: ''
    returnType: void
    signature: fn test_case1_dhe()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_key_pair
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:211,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:211,1
    - Dst: export_private_key
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:214,1
    - Dst: expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:214,1
    - Dst: import_private_key
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:226,1
    - Dst: Option::expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:226,1
    - Dst: generate_key_pair
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:230,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:230,1
    - Dst: compute_final_key
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:233,1
    - Dst: expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:233,1
    - Dst: compute_final_key
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:237,1
    - Dst: expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:237,1
    - Dst: compute_final_key
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:249,1
    - Dst: expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 258
      start: 209
    functionDepth: 11
    functionLinenumber: 209
    functionLinenumberEnd: 258
    functionName: tests::test_serialize_deserialize_p256
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs
    functionUses: 0
    functionsReached:
    - import_private_key
    - generate_key_pair
    - compute_final_key
    - export_private_key
    - Option::unwrap
    - expect
    - Option::expect
    linkageType: ''
    returnType: void
    signature: fn test_serialize_deserialize_p256()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_key_pair
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:263,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:263,1
    - Dst: export_private_key
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:266,1
    - Dst: expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:266,1
    - Dst: import_private_key
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:278,1
    - Dst: Option::expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:278,1
    - Dst: generate_key_pair
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:282,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:282,1
    - Dst: compute_final_key
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:285,1
    - Dst: expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:285,1
    - Dst: compute_final_key
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:289,1
    - Dst: expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:289,1
    - Dst: compute_final_key
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:301,1
    - Dst: expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 310
      start: 261
    functionDepth: 11
    functionLinenumber: 261
    functionLinenumberEnd: 310
    functionName: tests::test_serialize_deserialize_p384
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs
    functionUses: 0
    functionsReached:
    - import_private_key
    - generate_key_pair
    - compute_final_key
    - export_private_key
    - Option::unwrap
    - expect
    - Option::expect
    linkageType: ''
    returnType: void
    signature: fn test_serialize_deserialize_p384()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 339
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 339
    functionName: tests::test_import_invalid_key_length
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_import_invalid_key_length()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:344,1
    - Dst: generate_key_pair
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:346,1
    - Dst: Option::expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:346,1
    - Dst: export_private_key
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:350,1
    - Dst: unwrap_or_else
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:350,1
    - Dst: import_private_key
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:354,1
    - Dst: Option::unwrap_or_else
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:354,1
    - Dst: generate_key_pair
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:360,1
    - Dst: Option::expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:360,1
    - Dst: compute_final_key
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:362,1
    - Dst: expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 371
      start: 342
    functionDepth: 11
    functionLinenumber: 342
    functionLinenumberEnd: 371
    functionName: tests::test_multiple_serialization_rounds
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs
    functionUses: 0
    functionsReached:
    - unwrap_or_else
    - generate_key_pair
    - import_private_key
    - compute_final_key
    - export_private_key
    - Option::unwrap_or_else
    - iter
    - expect
    - Option::expect
    linkageType: ''
    returnType: void
    signature: fn test_multiple_serialization_rounds()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:376,1
    - Dst: generate_key_pair
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:378,1
    - Dst: Option::expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:378,1
    - Dst: export_private_key
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:380,1
    - Dst: expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:380,1
    - Dst: export_private_key
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:383,1
    - Dst: expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:383,1
    - Dst: export_private_key
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:386,1
    - Dst: expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 399
      start: 374
    functionDepth: 11
    functionLinenumber: 374
    functionLinenumberEnd: 399
    functionName: tests::test_export_consistency
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs
    functionUses: 0
    functionsReached:
    - generate_key_pair
    - export_private_key
    - iter
    - expect
    - Option::expect
    linkageType: ''
    returnType: void
    signature: fn test_export_consistency()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_all
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:116,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 10
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: tests::test_case0_hash_all
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs
    functionUses: 0
    functionsReached:
    - hash_all
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn test_case0_hash_all()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_all
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:124,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 10
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: tests::test_case1_hash_all
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs
    functionUses: 0
    functionsReached:
    - hash_all
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn test_case1_hash_all()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmBaseHashAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:129,1
    - Dst: hash_all
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 10
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: tests::test_case2_hash_all
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs
    functionUses: 0
    functionsReached:
    - hash_all
    - SpdmBaseHashAlgo::empty
    linkageType: ''
    returnType: void
    signature: fn test_case2_hash_all()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ring::digest::digest
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:137,1
    - Dst: ring::digest::digest
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:138,1
    - Dst: ring::digest::Context::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:139,1
    - Dst: update
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:140,1
    - Dst: update
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:141,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:142,1
    - Dst: BytesMutStrubbed::update
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:143,1
    - Dst: update
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:144,1
    - Dst: finish
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:145,1
    - Dst: BytesMutStrubbed::clone
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:146,1
    - Dst: BytesMutStrubbed::finish
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:146,1
    - Dst: BytesMutStrubbed::finish
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 136
    functionDepth: 11
    functionLinenumber: 136
    functionLinenumberEnd: 151
    functionName: tests::test_case0_hash_update
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs
    functionUses: 0
    functionsReached:
    - ring::digest::digest
    - clone
    - finish
    - BytesMutStrubbed::finish
    - BytesMutStrubbed::update
    - update
    - BytesMutStrubbed::clone
    - ring::digest::Context::new
    linkageType: ''
    returnType: void
    signature: fn test_case0_hash_update()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_ctx_init
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:164,1
    - Dst: Option::expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:164,1
    - Dst: hash_ctx_update
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:165,1
    - Dst: SpdmResult::expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:165,1
    - Dst: crate::codec::Writer::init
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:169,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:170,1
    - Dst: Result::expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:170,1
    - Dst: Writer::used_slice
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:172,1
    - Dst: crate::codec::Reader::init
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:175,1
    - Dst: crate::crypto::SpdmHashCtx::read
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:176,1
    - Dst: Option::expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:176,1
    - Dst: hash_ctx_update
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:181,1
    - Dst: SpdmResult::expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:181,1
    - Dst: hash_ctx_finalize
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:186,1
    - Dst: Option::expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:186,1
    - Dst: to_vec
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:189,1
    - Dst: extend_from_slice
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:190,1
    - Dst: hash_all
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:191,1
    - Dst: Option::expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 155
    functionDepth: 10
    functionLinenumber: 155
    functionLinenumberEnd: 198
    functionName: tests::test_hash_ctx_serialization_roundtrip
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs
    functionUses: 0
    functionsReached:
    - crate::codec::Writer::init
    - extend_from_slice
    - hash_ctx_init
    - crate::crypto::SpdmHashCtx::read
    - hash_ctx_finalize
    - SpdmResult::expect
    - to_vec
    - Writer::used_slice
    - hash_all
    - hash_ctx_update
    - Result::expect
    - crate::codec::Reader::init
    - Option::expect
    - encode
    linkageType: ''
    returnType: void
    signature: fn test_hash_ctx_serialization_roundtrip()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_ctx_init
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:211,1
    - Dst: Option::expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:211,1
    - Dst: hash_ctx_update
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:212,1
    - Dst: SpdmResult::expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:212,1
    - Dst: crate::codec::Writer::init
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:216,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:217,1
    - Dst: Result::expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:217,1
    - Dst: Writer::used_slice
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:219,1
    - Dst: crate::codec::Reader::init
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:222,1
    - Dst: crate::crypto::SpdmHashCtx::read
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:223,1
    - Dst: Option::expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:223,1
    - Dst: hash_ctx_finalize
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:228,1
    - Dst: Option::expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:228,1
    - Dst: hash_all
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:231,1
    - Dst: Option::expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 202
    functionDepth: 10
    functionLinenumber: 202
    functionLinenumberEnd: 238
    functionName: tests::test_hash_ctx_serialization_roundtrip_sha384
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs
    functionUses: 0
    functionsReached:
    - crate::codec::Writer::init
    - hash_ctx_init
    - crate::crypto::SpdmHashCtx::read
    - hash_ctx_finalize
    - SpdmResult::expect
    - Writer::used_slice
    - hash_all
    - hash_ctx_update
    - Result::expect
    - crate::codec::Reader::init
    - Option::expect
    - encode
    linkageType: ''
    returnType: void
    signature: fn test_hash_ctx_serialization_roundtrip_sha384()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_ctx_init
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:251,1
    - Dst: Option::expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:251,1
    - Dst: hash_ctx_update
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:252,1
    - Dst: SpdmResult::expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:252,1
    - Dst: crate::codec::Writer::init
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:256,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:257,1
    - Dst: Result::expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:257,1
    - Dst: Writer::used_slice
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:259,1
    - Dst: crate::codec::Reader::init
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:262,1
    - Dst: crate::crypto::SpdmHashCtx::read
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:263,1
    - Dst: Option::expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:263,1
    - Dst: hash_ctx_update
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:267,1
    - Dst: SpdmResult::expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:267,1
    - Dst: hash_ctx_finalize
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:272,1
    - Dst: Option::expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:272,1
    - Dst: hash_all
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:275,1
    - Dst: Option::expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 282
      start: 242
    functionDepth: 10
    functionLinenumber: 242
    functionLinenumberEnd: 282
    functionName: tests::test_hash_ctx_serialization_roundtrip_sha512
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs
    functionUses: 0
    functionsReached:
    - crate::codec::Writer::init
    - hash_ctx_init
    - crate::crypto::SpdmHashCtx::read
    - hash_ctx_finalize
    - SpdmResult::expect
    - Writer::used_slice
    - hash_all
    - hash_ctx_update
    - Result::expect
    - crate::codec::Reader::init
    - Option::expect
    - encode
    linkageType: ''
    returnType: void
    signature: fn test_hash_ctx_serialization_roundtrip_sha512()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spdm_x509::x509::chain::get_cert_from_cert_chain
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs:184,1
    - Dst: SpdmResult::map_err
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cert_chain
    - index
    argTypes:
    - '&[u8]'
    - isize
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: get_cert_from_cert_chain_x509
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs
    functionUses: 6
    functionsReached:
    - SpdmResult::map_err
    - spdm_x509::x509::chain::get_cert_from_cert_chain
    linkageType: ''
    returnType: SpdmResult
    signature: 'fn get_cert_from_cert_chain_x509(cert_chain: &[u8], index: isize)
      -> SpdmResult<(usize, usize)>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spdm_x509::x509::chain::verify_cert_chain_with_backend
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs:193,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cert_chain
    - base_asym_algo
    - base_hash_algo
    argTypes:
    - '&[u8]'
    - Option<u32>
    - Option<u32>
    constantsTouched: []
    func_position:
      end: 200
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 200
    functionName: verify_cert_chain_x509
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs
    functionUses: 1
    functionsReached:
    - spdm_x509::x509::chain::verify_cert_chain_with_backend
    - Result::map_err
    linkageType: ''
    returnType: SpdmResult
    signature: 'fn verify_cert_chain_x509(cert_chain: &[u8],base_asym_algo: Option<u32>,base_hash_algo:
      Option<u32>,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_cert_from_cert_chain_x509
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/cert_operation_impl.rs:93,1
    - Dst: SpdmResult::is_ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/cert_operation_impl.rs:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: tests::test_case0_cert_from_cert_chain
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/cert_operation_impl.rs
    functionUses: 0
    functionsReached:
    - get_cert_from_cert_chain_x509
    - SpdmResult::is_ok
    linkageType: ''
    returnType: void
    signature: fn test_case0_cert_from_cert_chain()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_cert_from_cert_chain_x509
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/cert_operation_impl.rs:100,1
    - Dst: SpdmResult::is_ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/cert_operation_impl.rs:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: tests::test_case1_cert_from_cert_chain
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/cert_operation_impl.rs
    functionUses: 0
    functionsReached:
    - get_cert_from_cert_chain_x509
    - SpdmResult::is_ok
    linkageType: ''
    returnType: void
    signature: fn test_case1_cert_from_cert_chain()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_cert_from_cert_chain_x509
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/cert_operation_impl.rs:106,1
    - Dst: SpdmResult::is_ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/cert_operation_impl.rs:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: tests::test_case2_cert_from_cert_chain
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/cert_operation_impl.rs
    functionUses: 0
    functionsReached:
    - get_cert_from_cert_chain_x509
    - SpdmResult::is_ok
    linkageType: ''
    returnType: void
    signature: fn test_case2_cert_from_cert_chain()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_cert_from_cert_chain_x509
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/cert_operation_impl.rs:114,1
    - Dst: SpdmResult::is_err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/cert_operation_impl.rs:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: tests::test_case3_cert_from_cert_chain
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/cert_operation_impl.rs
    functionUses: 0
    functionsReached:
    - get_cert_from_cert_chain_x509
    - SpdmResult::is_err
    linkageType: ''
    returnType: void
    signature: fn test_case3_cert_from_cert_chain()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_cert_from_cert_chain_x509
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/cert_operation_impl.rs:120,1
    - Dst: SpdmResult::is_err
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/cert_operation_impl.rs:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: tests::test_case4_cert_from_cert_chain
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/cert_operation_impl.rs
    functionUses: 0
    functionsReached:
    - get_cert_from_cert_chain_x509
    - SpdmResult::is_err
    linkageType: ''
    returnType: void
    signature: fn test_case4_cert_from_cert_chain()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_cert_from_cert_chain_x509
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/cert_operation_impl.rs:126,1
    - Dst: SpdmResult::is_ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/cert_operation_impl.rs:126,1
    - Dst: verify_cert_chain_x509
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/cert_operation_impl.rs:129,1
    - Dst: SpdmResult::is_ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/cert_operation_impl.rs:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: tests::test_case5_cert_from_cert_chain
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/cert_operation_impl.rs
    functionUses: 0
    functionsReached:
    - get_cert_from_cert_chain_x509
    - SpdmResult::is_ok
    - verify_cert_chain_x509
    linkageType: ''
    returnType: void
    signature: fn test_case5_cert_from_cert_chain()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_vec
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/cert_operation_impl.rs:153,1
    - Dst: to_vec
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/cert_operation_impl.rs:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 135
    functionDepth: 4
    functionLinenumber: 135
    functionLinenumberEnd: 163
    functionName: tests::test_verify_cert_chain_case1
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/cert_operation_impl.rs
    functionUses: 0
    functionsReached:
    - to_vec
    linkageType: ''
    returnType: void
    signature: fn test_verify_cert_chain_case1()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: tests::test_certificate_eku_v3_end_with_eku_example_1
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/cert_operation_impl.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_certificate_eku_v3_end_with_eku_example_1()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: tests::test_certificate_eku_v3_end_with_eku_spdm_oid_3
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/cert_operation_impl.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_certificate_eku_v3_end_with_eku_spdm_oid_3()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 185
    functionName: tests::test_certificate_eku_v3_end_with_eku_spdm_oid_4
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/cert_operation_impl.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_certificate_eku_v3_end_with_eku_spdm_oid_4()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: tests::test_certificate_eku_v3_end_with_eku_spdm_oid_3_and_4
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/cert_operation_impl.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_certificate_eku_v3_end_with_eku_spdm_oid_3_and_4()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 201
    functionName: tests::test_certificate_eku_v3_end_without_eku
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/cert_operation_impl.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_certificate_eku_v3_end_without_eku()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 209
    functionName: tests::test_certificate_eku_v3_end_with_eku_spdm_without_spdm_oid
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/cert_operation_impl.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_certificate_eku_v3_end_with_eku_spdm_without_spdm_oid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fill
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs:426,1
    - Dst: ecc_signature_bin_to_der
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs:430,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 432
      start: 424
    functionDepth: 9
    functionLinenumber: 424
    functionLinenumberEnd: 432
    functionName: tests::test_case0_ecc_signature_bin_to_der
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs
    functionUses: 0
    functionsReached:
    - SpdmResult::unwrap
    - ecc_signature_bin_to_der
    - fill
    linkageType: ''
    returnType: void
    signature: fn test_case0_ecc_signature_bin_to_der()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fill
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs:436,1
    - Dst: ecc_signature_bin_to_der
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs:440,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 442
      start: 434
    functionDepth: 9
    functionLinenumber: 434
    functionLinenumberEnd: 442
    functionName: tests::test_case1_ecc_signature_bin_to_der
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs
    functionUses: 0
    functionsReached:
    - SpdmResult::unwrap
    - ecc_signature_bin_to_der
    - fill
    linkageType: ''
    returnType: void
    signature: fn test_case1_ecc_signature_bin_to_der()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_signature_bin_to_der
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs:448,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 449
      start: 444
    functionDepth: 9
    functionLinenumber: 444
    functionLinenumberEnd: 449
    functionName: tests::test_case2_ecc_signature_bin_to_der
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs
    functionUses: 0
    functionsReached:
    - SpdmResult::unwrap
    - ecc_signature_bin_to_der
    linkageType: ''
    returnType: void
    signature: fn test_case2_ecc_signature_bin_to_der()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_signature_bin_to_der
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs:455,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 456
      start: 452
    functionDepth: 9
    functionLinenumber: 452
    functionLinenumberEnd: 456
    functionName: tests::test_case3_ecc_signature_bin_to_der
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs
    functionUses: 0
    functionsReached:
    - SpdmResult::unwrap
    - ecc_signature_bin_to_der
    linkageType: ''
    returnType: void
    signature: fn test_case3_ecc_signature_bin_to_der()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asym_verify
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs:471,1
    - Dst: SpdmDer::SpdmDerCertChain
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 479
      start: 458
    functionDepth: 12
    functionLinenumber: 458
    functionLinenumberEnd: 479
    functionName: tests::test_case0_asym_verify
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs
    functionUses: 0
    functionsReached:
    - SpdmDer::SpdmDerCertChain
    - asym_verify
    linkageType: ''
    returnType: void
    signature: fn test_case0_asym_verify()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asym_verify
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs:494,1
    - Dst: SpdmDer::SpdmDerCertChain
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 502
      start: 481
    functionDepth: 12
    functionLinenumber: 481
    functionLinenumberEnd: 502
    functionName: tests::test_case1_asym_verify
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs
    functionUses: 0
    functionsReached:
    - SpdmDer::SpdmDerCertChain
    - asym_verify
    linkageType: ''
    returnType: void
    signature: fn test_case1_asym_verify()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs:528,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs:529,1
    - Dst: asym_verify
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs:530,1
    - Dst: SpdmDer::SpdmDerCertChain
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs:533,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 540
      start: 504
    functionDepth: 12
    functionLinenumber: 504
    functionLinenumberEnd: 540
    functionName: tests::test_case2_asym_verify
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs
    functionUses: 0
    functionsReached:
    - SpdmDer::SpdmDerCertChain
    - asym_verify
    - iter
    linkageType: ''
    returnType: void
    signature: fn test_case2_asym_verify()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asym_verify
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs:555,1
    - Dst: SpdmDer::SpdmDerCertChain
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 563
      start: 542
    functionDepth: 12
    functionLinenumber: 542
    functionLinenumberEnd: 563
    functionName: tests::test_case3_asym_verify
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs
    functionUses: 0
    functionsReached:
    - SpdmDer::SpdmDerCertChain
    - asym_verify
    linkageType: ''
    returnType: void
    signature: fn test_case3_asym_verify()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extract_spki_pubkey
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs:581,1
    - Dst: Option::expect
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 589
      start: 566
    functionDepth: 4
    functionLinenumber: 566
    functionLinenumberEnd: 589
    functionName: tests::test_extract_spki_pubkey_rfc7250
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs
    functionUses: 0
    functionsReached:
    - extract_spki_pubkey
    - Option::expect
    linkageType: ''
    returnType: void
    signature: fn test_extract_spki_pubkey_rfc7250()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/aead_impl.rs:169,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/aead_impl.rs:173,1
    - Dst: encrypt
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/aead_impl.rs:180,1
    - Dst: Result::is_ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/aead_impl.rs:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 165
    functionDepth: 8
    functionLinenumber: 165
    functionLinenumberEnd: 182
    functionName: tests::test_case0_encrypt
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/aead_impl.rs
    functionUses: 0
    functionsReached:
    - Result::is_ok
    - Box::new
    - encrypt
    linkageType: ''
    returnType: void
    signature: fn test_case0_encrypt()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/aead_impl.rs:189,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/aead_impl.rs:193,1
    - Dst: encrypt
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/aead_impl.rs:201,1
    - Dst: Result::is_ok
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/aead_impl.rs:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 185
    functionDepth: 8
    functionLinenumber: 185
    functionLinenumberEnd: 203
    functionName: tests::test_case1_encrypt
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/aead_impl.rs
    functionUses: 0
    functionsReached:
    - Result::is_ok
    - Box::new
    - encrypt
    linkageType: ''
    returnType: void
    signature: fn test_case1_encrypt()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmAeadAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/aead_impl.rs:228,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/aead_impl.rs:231,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/aead_impl.rs:235,1
    - Dst: encrypt
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/aead_impl.rs:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 227
    functionDepth: 8
    functionLinenumber: 227
    functionLinenumberEnd: 242
    functionName: tests::test_case2_encrypt
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/aead_impl.rs
    functionUses: 0
    functionsReached:
    - encrypt
    - Box::new
    - SpdmAeadAlgo::empty
    linkageType: ''
    returnType: void
    signature: fn test_case2_encrypt()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/aead_impl.rs:248,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/aead_impl.rs:252,1
    - Dst: encrypt
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/aead_impl.rs:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 244
    functionDepth: 8
    functionLinenumber: 244
    functionLinenumberEnd: 260
    functionName: tests::test_case3_encrypt
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/aead_impl.rs
    functionUses: 0
    functionsReached:
    - Box::new
    - encrypt
    linkageType: ''
    returnType: void
    signature: fn test_case3_encrypt()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/aead_impl.rs:266,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/aead_impl.rs:270,1
    - Dst: encrypt
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/aead_impl.rs:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 278
      start: 262
    functionDepth: 8
    functionLinenumber: 262
    functionLinenumberEnd: 278
    functionName: tests::test_case4_encrypt
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/aead_impl.rs
    functionUses: 0
    functionsReached:
    - Box::new
    - encrypt
    linkageType: ''
    returnType: void
    signature: fn test_case4_encrypt()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/aead_impl.rs:284,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/aead_impl.rs:288,1
    - Dst: encrypt
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/aead_impl.rs:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 280
    functionDepth: 8
    functionLinenumber: 280
    functionLinenumberEnd: 296
    functionName: tests::test_case5_encrypt
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/aead_impl.rs
    functionUses: 0
    functionsReached:
    - Box::new
    - encrypt
    linkageType: ''
    returnType: void
    signature: fn test_case5_encrypt()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/aead_impl.rs:302,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/aead_impl.rs:306,1
    - Dst: encrypt
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/aead_impl.rs:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 314
      start: 298
    functionDepth: 8
    functionLinenumber: 298
    functionLinenumberEnd: 314
    functionName: tests::test_case6_encrypt
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/aead_impl.rs
    functionUses: 0
    functionsReached:
    - Box::new
    - encrypt
    linkageType: ''
    returnType: void
    signature: fn test_case6_encrypt()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/aead_impl.rs:321,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/aead_impl.rs:325,1
    - Dst: decrypt
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/aead_impl.rs:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 340
      start: 317
    functionDepth: 8
    functionLinenumber: 317
    functionLinenumberEnd: 340
    functionName: tests::test_case0_decrypt
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/aead_impl.rs
    functionUses: 0
    functionsReached:
    - decrypt
    - Box::new
    linkageType: ''
    returnType: void
    signature: fn test_case0_decrypt()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_random
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/rand_impl.rs:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 41
    functionDepth: 17
    functionLinenumber: 41
    functionLinenumberEnd: 51
    functionName: tests::test_case0_get_random
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/rand_impl.rs
    functionUses: 0
    functionsReached:
    - get_random
    linkageType: ''
    returnType: void
    signature: fn test_case0_get_random()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_random
      Src: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/rand_impl.rs:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 17
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: tests::test_case1_get_random
    functionSourceFile: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/rand_impl.rs
    functionUses: 0
    functionsReached:
    - get_random
    linkageType: ''
    returnType: void
    signature: fn test_case1_get_random()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/heartbeat.rs:19,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/heartbeat.rs:19,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/heartbeat.rs:20,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/heartbeat.rs:20,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/heartbeat.rs:21,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - _context
    - bytes
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 22
      start: 14
    functionDepth: 3
    functionLinenumber: 14
    functionLinenumberEnd: 22
    functionName: SpdmHeartbeatRequestPayload::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/heartbeat.rs
    functionUses: 0
    functionsReached:
    - map_err
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,_context: &mut common::SpdmContext,bytes: &mut
      Writer,) -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/heartbeat.rs:28,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/heartbeat.rs:29,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/heartbeat.rs:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - _context
    - r
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 32
      start: 24
    functionDepth: 9
    functionLinenumber: 24
    functionLinenumberEnd: 32
    functionName: SpdmHeartbeatRequestPayload::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/heartbeat.rs
    functionUses: 4
    functionsReached:
    - u8::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(_context: &mut common::SpdmContext,r: &mut Reader,) ->
      Option<SpdmHeartbeatRequestPayload>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/heartbeat.rs:44,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/heartbeat.rs:44,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/heartbeat.rs:45,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/heartbeat.rs:45,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/heartbeat.rs:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - _context
    - bytes
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: SpdmHeartbeatResponsePayload::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/heartbeat.rs
    functionUses: 0
    functionsReached:
    - map_err
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,_context: &mut common::SpdmContext,bytes: &mut
      Writer,) -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/heartbeat.rs:53,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/heartbeat.rs:54,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/heartbeat.rs:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - _context
    - r
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 9
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: SpdmHeartbeatResponsePayload::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/heartbeat.rs
    functionUses: 4
    functionsReached:
    - u8::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(_context: &mut common::SpdmContext,r: &mut Reader,) ->
      Option<SpdmHeartbeatResponsePayload>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/heartbeat.rs:74,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/heartbeat.rs:77,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/heartbeat.rs:80,1
    - Dst: SpdmHeartbeatResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/heartbeat.rs:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 10
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: tests::test_case0_spdm_heartbeat_response_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/heartbeat.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - create_spdm_context
    - SpdmHeartbeatResponsePayload::spdm_read
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_heartbeat_response_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/heartbeat.rs:86,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/heartbeat.rs:89,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/heartbeat.rs:92,1
    - Dst: SpdmHeartbeatRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/heartbeat.rs:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 84
    functionDepth: 10
    functionLinenumber: 84
    functionLinenumberEnd: 94
    functionName: tests::test_case0_spdm_heartbeat_request_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/heartbeat.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - create_spdm_context
    - SpdmHeartbeatRequestPayload::spdm_read
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_heartbeat_request_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:30,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:30,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:34,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:34,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:38,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:38,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:43,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:43,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:48,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 2
    argNames:
    - _context
    - bytes
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 49
      start: 24
    functionDepth: 3
    functionLinenumber: 24
    functionLinenumberEnd: 49
    functionName: SpdmChallengeRequestPayload::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/challenge.rs
    functionUses: 0
    functionsReached:
    - map_err
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,_context: &mut common::SpdmContext,bytes: &mut
      Writer,) -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:55,1
    - Dst: SpdmMeasurementSummaryHashType::read
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:59,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:64,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:68,1
    - Dst: SpdmNonceStruct::read
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:78,1
    - Dst: SpdmChallengeContextStruct::read
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:82,1
    - Dst: SpdmChallengeContextStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:84,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:87,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 2
    argNames:
    - context
    - r
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 93
      start: 51
    functionDepth: 9
    functionLinenumber: 51
    functionLinenumberEnd: 93
    functionName: SpdmChallengeRequestPayload::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/challenge.rs
    functionUses: 5
    functionsReached:
    - SpdmNonceStruct::read
    - u8::read
    - SpdmChallengeContextStruct::read
    - SpdmMeasurementSummaryHashType::read
    - contains
    - SpdmChallengeContextStruct::default
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(context: &mut common::SpdmContext,r: &mut Reader,) ->
      Option<SpdmChallengeRequestPayload>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bits
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:124,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:125,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:125,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:126,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:126,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:130,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:131,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:131,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:136,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:138,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:140,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:140,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:145,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:146,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 66
    argCount: 2
    argNames:
    - context
    - bytes
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 147
      start: 118
    functionDepth: 3
    functionLinenumber: 118
    functionLinenumberEnd: 147
    functionName: SpdmChallengeAuthResponsePayload::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/challenge.rs
    functionUses: 0
    functionsReached:
    - spdm_encode
    - map_err
    - bits
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,context: &mut common::SpdmContext,bytes: &mut
      Writer,) -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:153,1
    - Dst: SpdmChallengeAuthAttribute::from_bits
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:158,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:161,1
    - Dst: SpdmDigestStruct::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:162,1
    - Dst: SpdmNonceStruct::read
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:163,1
    - Dst: SpdmDigestStruct::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:165,1
    - Dst: SpdmDigestStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:167,1
    - Dst: SpdmOpaqueStruct::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:169,1
    - Dst: SpdmChallengeContextStruct::read
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:172,1
    - Dst: SpdmChallengeContextStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:174,1
    - Dst: SpdmSignatureStruct::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:176,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:178,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 2
    argNames:
    - context
    - r
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 189
      start: 149
    functionDepth: 9
    functionLinenumber: 149
    functionLinenumberEnd: 189
    functionName: SpdmChallengeAuthResponsePayload::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/challenge.rs
    functionUses: 6
    functionsReached:
    - SpdmSignatureStruct::spdm_read
    - SpdmChallengeAuthAttribute::from_bits
    - SpdmNonceStruct::read
    - u8::read
    - SpdmChallengeContextStruct::read
    - SpdmDigestStruct::spdm_read
    - SpdmOpaqueStruct::spdm_read
    - SpdmChallengeContextStruct::default
    - SpdmDigestStruct::default
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(context: &mut common::SpdmContext,r: &mut Reader,) ->
      Option<SpdmChallengeAuthResponsePayload>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:209,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:222,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:226,1
    - Dst: SpdmChallengeRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:229,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 207
    functionDepth: 10
    functionLinenumber: 207
    functionLinenumberEnd: 242
    functionName: tests::test_case0_spdm_challenge_request_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/challenge.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - Option::unwrap
    - Writer::init
    - Reader::init
    - SpdmChallengeRequestPayload::spdm_read
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_challenge_request_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:246,1
    - Dst: SpdmChallengeContextStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:254,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:257,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:261,1
    - Dst: SpdmChallengeRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:264,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 274
      start: 244
    functionDepth: 10
    functionLinenumber: 244
    functionLinenumberEnd: 274
    functionName: tests::test_case1_spdm_challenge_request_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/challenge.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - SpdmChallengeRequestPayload::spdm_read
    - Option::unwrap
    - Writer::init
    - Reader::init
    - SpdmChallengeContextStruct::default
    linkageType: ''
    returnType: void
    signature: fn test_case1_spdm_challenge_request_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:285,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:292,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:299,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:314,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:323,1
    - Dst: SpdmChallengeAuthResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:336,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:336,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 90
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 377
      start: 276
    functionDepth: 10
    functionLinenumber: 276
    functionLinenumberEnd: 377
    functionName: tests::test_case0_spdm_challenge_auth_response_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/challenge.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - Option::unwrap
    - Box::new
    - Writer::init
    - Reader::init
    - SpdmChallengeAuthResponsePayload::spdm_read
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_challenge_auth_response_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:386,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:393,1
    - Dst: SpdmDigestStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:398,1
    - Dst: SpdmChallengeContextStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:403,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:410,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:428,1
    - Dst: SpdmChallengeAuthResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:439,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/challenge.rs:439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 445
      start: 379
    functionDepth: 10
    functionLinenumber: 379
    functionLinenumberEnd: 445
    functionName: tests::test_case1_spdm_challenge_auth_response_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/challenge.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - Option::unwrap
    - Box::new
    - Writer::init
    - Reader::init
    - SpdmChallengeContextStruct::default
    - SpdmDigestStruct::default
    - SpdmChallengeAuthResponsePayload::spdm_read
    linkageType: ''
    returnType: void
    signature: fn test_case1_spdm_challenge_auth_response_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testlib::create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get_test.rs:13,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get_test.rs:18,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get_test.rs:28,1
    - Dst: SpdmChunkGetRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get_test.rs:29,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get_test.rs:29,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get_test.rs:41,1
    - Dst: SpdmChunkSenderAttributes::default
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get_test.rs:43,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get_test.rs:47,1
    - Dst: LittleEndian::write_u32
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get_test.rs:56,1
    - Dst: LittleEndian::write_u32
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get_test.rs:58,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get_test.rs:63,1
    - Dst: SpdmChunkResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get_test.rs:64,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get_test.rs:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 12
    functionDepth: 10
    functionLinenumber: 12
    functionLinenumberEnd: 73
    functionName: test_chunk_get_and_response_struct
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/chunk_get_test.rs
    functionUses: 0
    functionsReached:
    - SpdmChunkGetRequestPayload::spdm_read
    - testlib::create_spdm_context
    - LittleEndian::write_u32
    - SpdmChunkResponsePayload::spdm_read
    - Option::unwrap
    - Writer::init
    - Reader::init
    - SpdmChunkSenderAttributes::default
    - Some
    linkageType: ''
    returnType: void
    signature: fn test_chunk_get_and_response_struct()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testlib::create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get_test.rs:77,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get_test.rs:87,1
    - Dst: SpdmChunkSenderAttributes::default
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get_test.rs:89,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get_test.rs:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 76
    functionDepth: 7
    functionLinenumber: 76
    functionLinenumberEnd: 101
    functionName: test_chunk_response_msg_overflow
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/chunk_get_test.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Reader::init
    - testlib::create_spdm_context
    - SpdmChunkSenderAttributes::default
    linkageType: ''
    returnType: void
    signature: fn test_chunk_response_msg_overflow()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testlib::create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:15,1
    - Dst: LittleEndian::write_u32
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:22,1
    - Dst: bits
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:22,1
    - Dst: LittleEndian::write_u32
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:23,1
    - Dst: LittleEndian::write_u32
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:24,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:26,1
    - Dst: SpdmCapabilitiesResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:27,1
    - Dst: testlib::create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:32,1
    - Dst: LittleEndian::write_u32
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:39,1
    - Dst: bits
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:39,1
    - Dst: LittleEndian::write_u32
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:40,1
    - Dst: LittleEndian::write_u32
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:41,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:43,1
    - Dst: SpdmCapabilitiesResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 74
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 12
    functionDepth: 11
    functionLinenumber: 12
    functionLinenumberEnd: 46
    functionName: test_capability_struct
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/capability_test.rs
    functionUses: 0
    functionsReached:
    - testlib::create_spdm_context
    - LittleEndian::write_u32
    - SpdmCapabilitiesResponsePayload::spdm_read
    - bits
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_capability_struct()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testlib::create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:52,1
    - Dst: LittleEndian::write_u32
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:66,1
    - Dst: bits
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:66,1
    - Dst: LittleEndian::write_u32
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:67,1
    - Dst: LittleEndian::write_u32
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:68,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:70,1
    - Dst: SpdmGetCapabilitiesRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:71,1
    - Dst: Features::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:73,1
    - Dst: testlib::create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:83,1
    - Dst: LittleEndian::write_u32
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:88,1
    - Dst: bits
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:88,1
    - Dst: LittleEndian::write_u32
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:89,1
    - Dst: LittleEndian::write_u32
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:90,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:92,1
    - Dst: SpdmGetCapabilitiesRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:93,1
    - Dst: testlib::create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:99,1
    - Dst: LittleEndian::write_u32
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:104,1
    - Dst: bits
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:104,1
    - Dst: LittleEndian::write_u32
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:105,1
    - Dst: LittleEndian::write_u32
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:106,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:108,1
    - Dst: SpdmGetCapabilitiesRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:109,1
    - Dst: LittleEndian::write_u32
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:114,1
    - Dst: bits
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:114,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:116,1
    - Dst: SpdmGetCapabilitiesRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 134
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 49
    functionDepth: 11
    functionLinenumber: 49
    functionLinenumberEnd: 119
    functionName: test_capability_request_struct
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/capability_test.rs
    functionUses: 0
    functionsReached:
    - testlib::create_spdm_context
    - LittleEndian::write_u32
    - bits
    - SpdmGetCapabilitiesRequestPayload::spdm_read
    - Reader::init
    - Features::unwrap
    linkageType: ''
    returnType: void
    signature: fn test_capability_request_struct()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testlib::create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:125,1
    - Dst: LittleEndian::write_u32
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:146,1
    - Dst: bits
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:146,1
    - Dst: LittleEndian::write_u32
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:147,1
    - Dst: LittleEndian::write_u32
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:148,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:150,1
    - Dst: SpdmCapabilitiesResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:151,1
    - Dst: Features::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:153,1
    - Dst: testlib::create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:161,1
    - Dst: LittleEndian::write_u32
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:167,1
    - Dst: bits
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:167,1
    - Dst: LittleEndian::write_u32
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:168,1
    - Dst: LittleEndian::write_u32
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:169,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:171,1
    - Dst: SpdmCapabilitiesResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:172,1
    - Dst: LittleEndian::write_u32
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:176,1
    - Dst: bits
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:176,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:178,1
    - Dst: SpdmCapabilitiesResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 104
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 122
    functionDepth: 11
    functionLinenumber: 122
    functionLinenumberEnd: 181
    functionName: test_capability_response_struct
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/capability_test.rs
    functionUses: 0
    functionsReached:
    - testlib::create_spdm_context
    - LittleEndian::write_u32
    - SpdmCapabilitiesResponsePayload::spdm_read
    - bits
    - Reader::init
    - Features::unwrap
    linkageType: ''
    returnType: void
    signature: fn test_capability_response_struct()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testlib::create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:233,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:237,1
    - Dst: SpdmCapabilitiesResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:238,1
    - Dst: Option::expect
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:238,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:244,1
    - Dst: expect
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:244,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:267,1
    - Dst: Features::spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:268,1
    - Dst: Result::expect
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 272
      start: 192
    functionDepth: 11
    functionLinenumber: 192
    functionLinenumberEnd: 272
    functionName: test_capability_response_supported_algorithms_libspdm_vector
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/capability_test.rs
    functionUses: 0
    functionsReached:
    - testlib::create_spdm_context
    - Features::spdm_encode
    - SpdmCapabilitiesResponsePayload::spdm_read
    - Writer::init
    - Result::expect
    - Reader::init
    - as_ref
    - expect
    - Option::expect
    linkageType: ''
    returnType: void
    signature: fn test_capability_response_supported_algorithms_libspdm_vector()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testlib::create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:300,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:304,1
    - Dst: SpdmCapabilitiesResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:305,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:315,1
    - Dst: SpdmCapabilitiesResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/capability_test.rs:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 318
      start: 278
    functionDepth: 11
    functionLinenumber: 278
    functionLinenumberEnd: 318
    functionName: test_capability_response_supported_algorithms_bad_length
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/capability_test.rs
    functionUses: 0
    functionsReached:
    - Reader::init
    - testlib::create_spdm_context
    - SpdmCapabilitiesResponsePayload::spdm_read
    linkageType: ''
    returnType: void
    signature: fn test_capability_response_supported_algorithms_bad_length()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:41,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:41,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:45,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:45,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:49,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:49,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:67,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:67,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:71,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:71,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:74,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:74,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:76,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:76,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:80,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:81,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:82,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 79
    argCount: 2
    argNames:
    - context
    - bytes
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 83
      start: 35
    functionDepth: 3
    functionLinenumber: 35
    functionLinenumberEnd: 83
    functionName: SpdmKeyExchangeRequestPayload::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/key_exchange.rs
    functionUses: 0
    functionsReached:
    - map_err
    - spdm_encode
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,context: &mut common::SpdmContext,bytes: &mut
      Writer,) -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmMeasurementSummaryHashType::read
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:89,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:94,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:98,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:108,1
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:112,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:115,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:120,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:123,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:127,1
    - Dst: SpdmRandomStruct::read
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:129,1
    - Dst: SpdmReqExchangeStruct::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:130,1
    - Dst: SpdmOpaqueStruct::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:131,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:133,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 60
    argCount: 2
    argNames:
    - context
    - r
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 142
      start: 85
    functionDepth: 10
    functionLinenumber: 85
    functionLinenumberEnd: 142
    functionName: SpdmKeyExchangeRequestPayload::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/key_exchange.rs
    functionUses: 5
    functionsReached:
    - u8::read
    - SpdmMeasurementSummaryHashType::read
    - contains
    - SpdmReqExchangeStruct::spdm_read
    - u16::read
    - SpdmRandomStruct::read
    - SpdmOpaqueStruct::spdm_read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(context: &mut common::SpdmContext,r: &mut Reader,) ->
      Option<SpdmKeyExchangeRequestPayload>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmKeyExchangeMutAuthAttributes::bits
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:157,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 4
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: SpdmKeyExchangeMutAuthAttributes::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/key_exchange.rs
    functionUses: 0
    functionsReached:
    - SpdmKeyExchangeMutAuthAttributes::bits
    - Vec::encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:161,1
    - Dst: SpdmKeyExchangeMutAuthAttributes::from_bits
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 166
      start: 160
    functionDepth: 9
    functionLinenumber: 160
    functionLinenumberEnd: 166
    functionName: SpdmKeyExchangeMutAuthAttributes::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/key_exchange.rs
    functionUses: 3
    functionsReached:
    - u8::read
    - SpdmKeyExchangeMutAuthAttributes::from_bits
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<SpdmKeyExchangeMutAuthAttributes>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:190,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:190,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:194,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:194,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:195,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:195,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:199,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:199,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:203,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:203,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:208,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:208,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:212,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:214,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:216,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:217,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:219,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:223,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:228,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:230,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 89
    argCount: 2
    argNames:
    - context
    - bytes
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 231
      start: 184
    functionDepth: 3
    functionLinenumber: 184
    functionLinenumberEnd: 231
    functionName: SpdmKeyExchangeResponsePayload::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/key_exchange.rs
    functionUses: 0
    functionsReached:
    - spdm_encode
    - map_err
    - contains
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,context: &mut common::SpdmContext,bytes: &mut
      Writer,) -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:237,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:238,1
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:240,1
    - Dst: SpdmKeyExchangeMutAuthAttributes::read
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:241,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:242,1
    - Dst: is_empty
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:247,1
    - Dst: SpdmRandomStruct::read
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:255,1
    - Dst: SpdmRspExchangeStruct::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:256,1
    - Dst: SpdmDigestStruct::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:258,1
    - Dst: SpdmDigestStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:260,1
    - Dst: SpdmOpaqueStruct::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:262,1
    - Dst: SpdmSignatureStruct::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:263,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:264,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:268,1
    - Dst: SpdmDigestStruct::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:273,1
    - Dst: SpdmDigestStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:275,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:278,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 65
    argCount: 2
    argNames:
    - context
    - r
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 290
      start: 233
    functionDepth: 9
    functionLinenumber: 233
    functionLinenumberEnd: 290
    functionName: SpdmKeyExchangeResponsePayload::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/key_exchange.rs
    functionUses: 6
    functionsReached:
    - SpdmSignatureStruct::spdm_read
    - is_empty
    - SpdmKeyExchangeMutAuthAttributes::read
    - u8::read
    - contains
    - u16::read
    - SpdmRandomStruct::read
    - SpdmRspExchangeStruct::spdm_read
    - SpdmDigestStruct::spdm_read
    - SpdmOpaqueStruct::spdm_read
    - SpdmDigestStruct::default
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(context: &mut common::SpdmContext,r: &mut Reader,) ->
      Option<SpdmKeyExchangeResponsePayload>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:310,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 321
    functionName: tests::test_case0_spdm_key_exchange_mut_auth_attributes
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/key_exchange.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_key_exchange_mut_auth_attributes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:326,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:346,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:353,1
    - Dst: SpdmKeyExchangeRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:359,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 384
      start: 323
    functionDepth: 11
    functionLinenumber: 323
    functionLinenumberEnd: 384
    functionName: tests::test_case0_spdm_key_exchange_request_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/key_exchange.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - Option::unwrap
    - Writer::init
    - Reader::init
    - SpdmKeyExchangeRequestPayload::spdm_read
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_key_exchange_request_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:396,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:411,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:423,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:427,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:435,1
    - Dst: SpdmKeyExchangeResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:447,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:447,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 89
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 501
      start: 387
    functionDepth: 10
    functionLinenumber: 387
    functionLinenumberEnd: 501
    functionName: tests::test_case0_spdm_key_exchange_response_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/key_exchange.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - SpdmKeyExchangeResponsePayload::spdm_read
    - Option::unwrap
    - Box::new
    - Writer::init
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_key_exchange_response_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:511,1
    - Dst: SpdmDigestStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:524,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:535,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:539,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:547,1
    - Dst: SpdmKeyExchangeResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:558,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange.rs:558,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 85
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 609
      start: 503
    functionDepth: 10
    functionLinenumber: 503
    functionLinenumberEnd: 609
    functionName: tests::test_case1_spdm_key_exchange_response_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/key_exchange.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - SpdmKeyExchangeResponsePayload::spdm_read
    - Option::unwrap
    - Box::new
    - Writer::init
    - Reader::init
    - SpdmDigestStruct::default
    linkageType: ''
    returnType: void
    signature: fn test_case1_spdm_key_exchange_response_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testlib::create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/key_update_test.rs:16,1
    - Dst: u8::from
      Src: /src/spdm-rs/spdmlib/src/message/key_update_test.rs:21,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/message/key_update_test.rs:22,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/message/key_update_test.rs:23,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/key_update_test.rs:26,1
    - Dst: SpdmKeyUpdateRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/key_update_test.rs:27,1
    - Dst: u8::from
      Src: /src/spdm-rs/spdmlib/src/message/key_update_test.rs:33,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/message/key_update_test.rs:34,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/message/key_update_test.rs:35,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/key_update_test.rs:38,1
    - Dst: SpdmKeyUpdateResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/key_update_test.rs:39,1
    - Dst: u8::from
      Src: /src/spdm-rs/spdmlib/src/message/key_update_test.rs:45,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/message/key_update_test.rs:46,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/message/key_update_test.rs:47,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/message/key_update_test.rs:50,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/key_update_test.rs:51,1
    - Dst: SpdmKeyUpdateRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/key_update_test.rs:52,1
    - Dst: u8::from
      Src: /src/spdm-rs/spdmlib/src/message/key_update_test.rs:57,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/message/key_update_test.rs:58,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/message/key_update_test.rs:59,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/message/key_update_test.rs:62,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/key_update_test.rs:63,1
    - Dst: SpdmKeyUpdateResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/key_update_test.rs:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 15
    functionDepth: 11
    functionLinenumber: 15
    functionLinenumberEnd: 66
    functionName: test_key_update_struct
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/key_update_test.rs
    functionUses: 0
    functionsReached:
    - testlib::create_spdm_context
    - get_u8
    - u8::from
    - SpdmKeyUpdateRequestPayload::spdm_read
    - Reader::init
    - SpdmKeyUpdateResponsePayload::spdm_read
    linkageType: ''
    returnType: void
    signature: fn test_key_update_struct()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testlib::create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/digest_test.rs:17,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/digest_test.rs:25,1
    - Dst: SpdmDigestsResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/digest_test.rs:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 14
    functionDepth: 10
    functionLinenumber: 14
    functionLinenumberEnd: 28
    functionName: test_digest_struct
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/digest_test.rs
    functionUses: 0
    functionsReached:
    - SpdmDigestsResponsePayload::spdm_read
    - Reader::init
    - testlib::create_spdm_context
    linkageType: ''
    returnType: void
    signature: fn test_digest_struct()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testlib::create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/digest_test.rs:34,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/digest_test.rs:42,1
    - Dst: SpdmDigestsResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/digest_test.rs:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 31
    functionDepth: 10
    functionLinenumber: 31
    functionLinenumberEnd: 46
    functionName: test_digest_struct_case2
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/digest_test.rs
    functionUses: 0
    functionsReached:
    - SpdmDigestsResponsePayload::spdm_read
    - Reader::init
    - testlib::create_spdm_context
    linkageType: ''
    returnType: void
    signature: fn test_digest_struct_case2()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc::sync::Arc::new
      Src: /src/spdm-rs/spdmlib/src/message/mod_test.common.inc.rs:5,1
    - Dst: spin::Mutex::new
      Src: /src/spdm-rs/spdmlib/src/message/mod_test.common.inc.rs:5,1
    - Dst: alloc::sync::Arc::new
      Src: /src/spdm-rs/spdmlib/src/message/mod_test.common.inc.rs:9,1
    - Dst: spin::Mutex::new
      Src: /src/spdm-rs/spdmlib/src/message/mod_test.common.inc.rs:9,1
    - Dst: SpdmConfigInfo::default
      Src: /src/spdm-rs/spdmlib/src/message/mod_test.common.inc.rs:10,1
    - Dst: SpdmProvisionInfo::default
      Src: /src/spdm-rs/spdmlib/src/message/mod_test.common.inc.rs:11,1
    - Dst: SpdmContext::new
      Src: /src/spdm-rs/spdmlib/src/message/mod_test.common.inc.rs:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 15
    functionDepth: 6
    functionLinenumber: 15
    functionLinenumberEnd: 31
    functionName: create_spdm_context
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/mod_test.common.inc.rs
    functionUses: 112
    functionsReached:
    - SpdmConfigInfo::default
    - spin::Mutex::new
    - alloc::sync::Arc::new
    - SpdmContext::new
    - SpdmProvisionInfo::default
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - _buffer
    argTypes:
    - Arc<&[u8]>
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: DeviceIO::send
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/mod_test.common.inc.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: crate::error::SpdmResult
    signature: 'async fn send(&mut self, _buffer: Arc<&[u8]>) -> crate::error::SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 2
    argNames:
    - _buffer
    - _timeoutt
    argTypes:
    - Arc<Mutex<&mut [u8]>>
    - usize
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: DeviceIO::receive
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/mod_test.common.inc.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Result
    signature: 'async fn receive(&mut self,_buffer: Arc<Mutex<&mut [u8]>>,_timeoutt:
      usize,) -> Result<usize, usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: DeviceIO::flush_all
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/mod_test.common.inc.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: crate::error::SpdmResult
    signature: async fn flush_all(&mut self) -> crate::error::SpdmResult
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 3
    argNames:
    - _spdm_buffer
    - _transport_buffer
    - _secured_messagesage
    argTypes:
    - Arc<&[u8]>
    - Arc<Mutex<&mut [u8]>>
    - bool
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: TransportEncap::encap
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/mod_test.common.inc.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: crate::error::SpdmResult
    signature: 'async fn encap(&mut self,_spdm_buffer: Arc<&[u8]>,_transport_buffer:
      Arc<Mutex<&mut [u8]>>,_secured_messagesage: bool,) -> crate::error::SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 2
    argNames:
    - _transport_buffer
    - _spdm_buffer
    argTypes:
    - Arc<&[u8]>
    - Arc<Mutex<&mut [u8]>>
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: TransportEncap::decap
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/mod_test.common.inc.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: crate::error::SpdmResult
    signature: 'async fn decap(&mut self,_transport_buffer: Arc<&[u8]>,_spdm_buffer:
      Arc<Mutex<&mut [u8]>>,) -> crate::error::SpdmResult<(usize, bool)>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 3
    argNames:
    - _spdm_buffer
    - _app_buffer
    - _is_app_messagesage
    argTypes:
    - Arc<&[u8]>
    - Arc<Mutex<&mut [u8]>>
    - bool
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: TransportEncap::encap_app
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/mod_test.common.inc.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: crate::error::SpdmResult
    signature: 'async fn encap_app(&mut self,_spdm_buffer: Arc<&[u8]>,_app_buffer:
      Arc<Mutex<&mut [u8]>>,_is_app_messagesage: bool,) -> crate::error::SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 2
    argNames:
    - _app_buffer
    - _spdm_buffer
    argTypes:
    - Arc<&[u8]>
    - Arc<Mutex<&mut [u8]>>
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: TransportEncap::decap_app
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/mod_test.common.inc.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: crate::error::SpdmResult
    signature: 'async fn decap_app(&mut self,_app_buffer: Arc<&[u8]>,_spdm_buffer:
      Arc<Mutex<&mut [u8]>>,) -> crate::error::SpdmResult<(usize, bool)>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: TransportEncap::get_sequence_number_count
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/mod_test.common.inc.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: fn get_sequence_number_count(&mut self) -> u8
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: TransportEncap::get_max_random_count
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/mod_test.common.inc.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u16
    signature: fn get_max_random_count(&mut self) -> u16
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:35,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:35,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:40,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:40,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:43,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:43,1
    - Dst: Option::encode
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:50,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:50,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:52,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:52,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:58,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:58,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:63,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:63,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:66,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:66,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:70,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:70,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:76,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:76,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:82,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:82,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:87,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:87,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:90,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:90,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:92,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:92,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:94,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:94,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:97,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:97,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:102,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:102,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:106,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:106,1
    - Dst: Option::encode
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:107,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:107,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:110,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 186
    argCount: 2
    argNames:
    - context
    - bytes
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 111
      start: 27
    functionDepth: 8
    functionLinenumber: 27
    functionLinenumberEnd: 111
    functionName: SpdmNegotiateAlgorithmsRequestPayload::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/algorithm.rs
    functionUses: 0
    functionsReached:
    - take
    - map_err
    - iter
    - Result::map_err
    - Option::encode
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,context: &mut common::SpdmContext,bytes: &mut
      Writer,) -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:119,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:124,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:126,1
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:128,1
    - Dst: SpdmMeasurementSpecification::read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:129,1
    - Dst: SpdmAlgoOtherParams::read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:133,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:135,1
    - Dst: SpdmAlgoOtherParams::default
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:136,1
    - Dst: SpdmBaseAsymAlgo::read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:139,1
    - Dst: SpdmBaseHashAlgo::read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:140,1
    - Dst: SpdmPqcAsymAlgo::read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:144,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:147,1
    - Dst: SpdmPqcAsymAlgo::default
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:149,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:153,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:156,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:161,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:166,1
    - Dst: SpdmMelSpecification::read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:170,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:172,1
    - Dst: SpdmMelSpecification::default
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:173,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:177,1
    - Dst: SpdmAlgStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:177,1
    - Dst: SpdmAlgType::Unknown
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:185,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:186,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:186,1
    - Dst: SpdmAlgStruct::read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:187,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:188,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:188,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:256,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 191
    argCount: 2
    argNames:
    - context
    - r
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 266
      start: 113
    functionDepth: 9
    functionLinenumber: 113
    functionLinenumberEnd: 266
    functionName: SpdmNegotiateAlgorithmsRequestPayload::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/algorithm.rs
    functionUses: 7
    functionsReached:
    - SpdmAlgStruct::default
    - SpdmMelSpecification::default
    - u8::read
    - SpdmAlgoOtherParams::read
    - u16::read
    - gen_array_clone
    - get_u8
    - SpdmMelSpecification::read
    - SpdmAlgType::Unknown
    - iter_mut
    - SpdmBaseHashAlgo::read
    - SpdmAlgoOtherParams::default
    - Some
    - SpdmPqcAsymAlgo::read
    - SpdmPqcAsymAlgo::default
    - SpdmBaseAsymAlgo::read
    - take
    - SpdmAlgStruct::read
    - SpdmMeasurementSpecification::read
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(context: &mut common::SpdmContext,r: &mut Reader,) ->
      Option<SpdmNegotiateAlgorithmsRequestPayload>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:291,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:291,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:296,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:296,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:299,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:299,1
    - Dst: Option::encode
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:306,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:306,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:308,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:308,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:314,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:314,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:319,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:319,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:322,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:322,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:326,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:326,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:330,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:330,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:336,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:336,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:342,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:342,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:347,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:347,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:351,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:351,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:356,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:356,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:359,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:359,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:361,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:361,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:363,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:363,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:366,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:366,1
    - Dst: Option::encode
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:367,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:367,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:370,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 194
    argCount: 2
    argNames:
    - context
    - bytes
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 371
      start: 283
    functionDepth: 8
    functionLinenumber: 283
    functionLinenumberEnd: 371
    functionName: SpdmAlgorithmsResponsePayload::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/algorithm.rs
    functionUses: 0
    functionsReached:
    - take
    - map_err
    - iter
    - Result::map_err
    - Option::encode
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,context: &mut common::SpdmContext,bytes: &mut
      Writer,) -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:379,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:384,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:386,1
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:388,1
    - Dst: SpdmMeasurementSpecification::read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:390,1
    - Dst: is_no_more_than_one_selected
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:391,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:394,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:398,1
    - Dst: is_valid_one_select
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:402,1
    - Dst: SpdmAlgoOtherParams::read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:409,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:411,1
    - Dst: SpdmAlgoOtherParams::default
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:412,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:415,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:419,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:423,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:427,1
    - Dst: SpdmMeasurementHashAlgo::read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:432,1
    - Dst: is_no_more_than_one_selected
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:433,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:436,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:440,1
    - Dst: is_valid_one_select
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:444,1
    - Dst: SpdmBaseAsymAlgo::read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:449,1
    - Dst: is_no_more_than_one_selected
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:450,1
    - Dst: SpdmBaseHashAlgo::read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:454,1
    - Dst: is_no_more_than_one_selected
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:455,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:458,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:462,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:466,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:470,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:474,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:478,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:482,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:486,1
    - Dst: is_valid_one_select
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:490,1
    - Dst: SpdmPqcAsymAlgo::read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:497,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:500,1
    - Dst: SpdmPqcAsymAlgo::default
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:502,1
    - Dst: is_no_more_than_one_selected
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:504,1
    - Dst: is_valid_one_select
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:507,1
    - Dst: is_valid_one_select
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:507,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:510,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:514,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:518,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:522,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:526,1
    - Dst: is_valid_one_select
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:530,1
    - Dst: is_valid_one_select
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:531,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:537,1
    - Dst: SpdmMelSpecification::read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:542,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:544,1
    - Dst: SpdmMelSpecification::default
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:545,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:548,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:553,1
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:558,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:561,1
    - Dst: SpdmAlgStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:561,1
    - Dst: SpdmAlgType::Unknown
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:569,1
    - Dst: SpdmDheAlgo::default
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:570,1
    - Dst: SpdmReqAsymAlgo::default
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:571,1
    - Dst: SpdmPqcReqAsymAlgo::default
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:572,1
    - Dst: SpdmKemAlgo::default
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:573,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:574,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:574,1
    - Dst: SpdmAlgStruct::read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:575,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:576,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:576,1
    - Dst: is_no_more_than_one_selected
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:587,1
    - Dst: v::is_no_more_than_one_selected
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:597,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:600,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:604,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:608,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:612,1
    - Dst: v::is_valid_one_select
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:616,1
    - Dst: is_no_more_than_one_selected
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:627,1
    - Dst: v::is_no_more_than_one_selected
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:637,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:640,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:644,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:648,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:652,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:656,1
    - Dst: v::is_valid_one_select
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:660,1
    - Dst: is_no_more_than_one_selected
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:674,1
    - Dst: is_no_more_than_one_selected
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:687,1
    - Dst: is_valid_one_select
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:697,1
    - Dst: is_valid_one_select
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:697,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:700,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:704,1
    - Dst: is_valid_one_select
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:708,1
    - Dst: is_valid_one_select
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:709,1
    - Dst: is_valid_one_select
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:713,1
    - Dst: is_valid_one_select
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:713,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:716,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:720,1
    - Dst: is_valid_one_select
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:724,1
    - Dst: is_valid_one_select
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:725,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:741,1
    CyclomaticComplexity: 105
    EdgeCount: 105
    ICount: 571
    argCount: 2
    argNames:
    - context
    - r
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 752
      start: 373
    functionDepth: 9
    functionLinenumber: 373
    functionLinenumberEnd: 752
    functionName: SpdmAlgorithmsResponsePayload::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/algorithm.rs
    functionUses: 8
    functionsReached:
    - SpdmAlgStruct::default
    - SpdmMelSpecification::default
    - u8::read
    - SpdmAlgoOtherParams::read
    - u16::read
    - gen_array_clone
    - is_no_more_than_one_selected
    - get_u8
    - SpdmMelSpecification::read
    - SpdmAlgType::Unknown
    - iter_mut
    - SpdmReqAsymAlgo::default
    - v::is_valid_one_select
    - SpdmDheAlgo::default
    - SpdmBaseHashAlgo::read
    - SpdmAlgoOtherParams::default
    - SpdmPqcReqAsymAlgo::default
    - Some
    - SpdmPqcAsymAlgo::read
    - SpdmPqcAsymAlgo::default
    - SpdmKemAlgo::default
    - SpdmBaseAsymAlgo::read
    - take
    - SpdmAlgStruct::read
    - v::is_no_more_than_one_selected
    - contains
    - is_valid_one_select
    - SpdmMeasurementSpecification::read
    - SpdmMeasurementHashAlgo::read
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(context: &mut common::SpdmContext,r: &mut Reader,) ->
      Option<SpdmAlgorithmsResponsePayload>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:769,1
    - Dst: SpdmAlg::SpdmAlgoDhe
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:782,1
    - Dst: SpdmAlg::SpdmAlgoAead
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:786,1
    - Dst: SpdmAlg::SpdmAlgoReqAsym
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:790,1
    - Dst: SpdmAlg::SpdmAlgoKeySchedule
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:796,1
    - Dst: SpdmAlg::SpdmAlgoPqcReqAsym
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:802,1
    - Dst: SpdmAlg::SpdmAlgoKem
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:806,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:810,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:814,1
    - Dst: SpdmNegotiateAlgorithmsRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:817,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 875
      start: 767
    functionDepth: 10
    functionLinenumber: 767
    functionLinenumberEnd: 875
    functionName: tests::test_case0_spdm_negotiate_algorithms_request_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/algorithm.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - SpdmAlg::SpdmAlgoDhe
    - SpdmAlg::SpdmAlgoKeySchedule
    - Option::unwrap
    - Writer::init
    - SpdmAlg::SpdmAlgoAead
    - SpdmAlg::SpdmAlgoPqcReqAsym
    - SpdmAlg::SpdmAlgoKem
    - SpdmNegotiateAlgorithmsRequestPayload::spdm_read
    - Reader::init
    - SpdmAlg::SpdmAlgoReqAsym
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_negotiate_algorithms_request_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:880,1
    - Dst: SpdmMeasurementSpecification::empty
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:882,1
    - Dst: SpdmAlgoOtherParams::empty
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:883,1
    - Dst: SpdmBaseAsymAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:884,1
    - Dst: SpdmBaseHashAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:885,1
    - Dst: SpdmPqcAsymAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:886,1
    - Dst: SpdmMelSpecification::empty
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:887,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:889,1
    - Dst: SpdmAlgStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:890,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:895,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:899,1
    - Dst: SpdmNegotiateAlgorithmsRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:902,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:902,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 915
      start: 878
    functionDepth: 10
    functionLinenumber: 878
    functionLinenumberEnd: 915
    functionName: tests::test_case1_spdm_negotiate_algorithms_request_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/algorithm.rs
    functionUses: 0
    functionsReached:
    - SpdmMelSpecification::empty
    - create_spdm_context
    - SpdmAlgStruct::default
    - SpdmBaseAsymAlgo::empty
    - SpdmAlgoOtherParams::empty
    - SpdmBaseHashAlgo::empty
    - Option::unwrap
    - SpdmPqcAsymAlgo::empty
    - Writer::init
    - SpdmNegotiateAlgorithmsRequestPayload::spdm_read
    - gen_array_clone
    - SpdmMeasurementSpecification::empty
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_case1_spdm_negotiate_algorithms_request_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:919,1
    - Dst: SpdmAlgoOtherParams::empty
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:922,1
    - Dst: SpdmMelSpecification::empty
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:926,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:928,1
    - Dst: SpdmAlgStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:929,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:934,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:940,1
    - Dst: SpdmNegotiateAlgorithmsRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 945
      start: 917
    functionDepth: 10
    functionLinenumber: 917
    functionLinenumberEnd: 945
    functionName: tests::test_case2_spdm_negotiate_algorithms_request_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/algorithm.rs
    functionUses: 0
    functionsReached:
    - SpdmMelSpecification::empty
    - create_spdm_context
    - SpdmAlgStruct::default
    - SpdmAlgoOtherParams::empty
    - Writer::init
    - SpdmNegotiateAlgorithmsRequestPayload::spdm_read
    - gen_array_clone
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_case2_spdm_negotiate_algorithms_request_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmAlgoOtherParams::empty
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:951,1
    - Dst: SpdmPqcAsymAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:954,1
    - Dst: SpdmMelSpecification::empty
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:955,1
    - Dst: SpdmAlg::SpdmAlgoDhe
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:960,1
    - Dst: SpdmAlg::SpdmAlgoAead
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:964,1
    - Dst: SpdmAlg::SpdmAlgoReqAsym
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:968,1
    - Dst: SpdmAlg::SpdmAlgoKeySchedule
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:974,1
    - Dst: SpdmAlg::SpdmAlgoPqcReqAsym
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:980,1
    - Dst: SpdmAlgStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:982,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:987,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:989,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:994,1
    - Dst: SpdmNegotiateAlgorithmsRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:996,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 998
      start: 948
    functionDepth: 10
    functionLinenumber: 948
    functionLinenumberEnd: 998
    functionName: tests::test_case3_spdm_negotiate_algorithms_request_payload_rejects_v13_pqc_structs
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/algorithm.rs
    functionUses: 0
    functionsReached:
    - SpdmMelSpecification::empty
    - SpdmAlg::SpdmAlgoDhe
    - SpdmAlg::SpdmAlgoKeySchedule
    - SpdmAlgStruct::default
    - create_spdm_context
    - SpdmAlgoOtherParams::empty
    - SpdmPqcAsymAlgo::empty
    - SpdmAlg::SpdmAlgoAead
    - SpdmAlg::SpdmAlgoPqcReqAsym
    - Writer::init
    - SpdmNegotiateAlgorithmsRequestPayload::spdm_read
    - Reader::init
    - SpdmAlg::SpdmAlgoReqAsym
    linkageType: ''
    returnType: void
    signature: fn test_case3_spdm_negotiate_algorithms_request_payload_rejects_v13_pqc_structs()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1002,1
    - Dst: SpdmPqcAsymAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1010,1
    - Dst: SpdmAlg::SpdmAlgoDhe
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1016,1
    - Dst: SpdmAlg::SpdmAlgoAead
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1020,1
    - Dst: SpdmAlg::SpdmAlgoReqAsym
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1024,1
    - Dst: SpdmAlg::SpdmAlgoKeySchedule
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1030,1
    - Dst: SpdmAlg::SpdmAlgoPqcReqAsym
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1036,1
    - Dst: SpdmPqcReqAsymAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1036,1
    - Dst: SpdmAlg::SpdmAlgoKem
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1040,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1040,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1045,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1054,1
    - Dst: SpdmAlgorithmsResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1057,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1000
    functionDepth: 10
    functionLinenumber: 1000
    functionLinenumberEnd: 1119
    functionName: tests::test_case0_spdm_algorithms_response_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/algorithm.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - SpdmAlg::SpdmAlgoDhe
    - SpdmAlg::SpdmAlgoKeySchedule
    - SpdmPqcReqAsymAlgo::empty
    - SpdmAlgorithmsResponsePayload::spdm_read
    - Option::unwrap
    - SpdmPqcAsymAlgo::empty
    - Writer::init
    - SpdmAlg::SpdmAlgoAead
    - SpdmAlg::SpdmAlgoPqcReqAsym
    - SpdmAlg::SpdmAlgoKem
    - Reader::init
    - SpdmKemAlgo::empty
    - SpdmAlg::SpdmAlgoReqAsym
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_algorithms_response_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1123,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1134,1
    - Dst: SpdmAlgStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1135,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1140,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1146,1
    - Dst: SpdmAlgorithmsResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1149,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1155,1
    - Dst: SpdmAlgorithmsResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1158,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1164,1
    - Dst: SpdmAlgorithmsResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1121
    functionDepth: 10
    functionLinenumber: 1121
    functionLinenumberEnd: 1175
    functionName: tests::test_case1_spdm_algorithms_response_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/algorithm.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - SpdmAlgorithmsResponsePayload::spdm_read
    - SpdmAlgStruct::default
    - Writer::init
    - gen_array_clone
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_case1_spdm_algorithms_response_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1179,1
    - Dst: SpdmMeasurementSpecification::empty
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1181,1
    - Dst: SpdmAlgoOtherParams::empty
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1182,1
    - Dst: SpdmMeasurementHashAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1183,1
    - Dst: SpdmBaseAsymAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1184,1
    - Dst: SpdmBaseHashAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1185,1
    - Dst: SpdmPqcAsymAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1186,1
    - Dst: SpdmMelSpecification::empty
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1187,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1189,1
    - Dst: SpdmAlgStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1190,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1195,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1199,1
    - Dst: SpdmAlgorithmsResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1202,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1177
    functionDepth: 10
    functionLinenumber: 1177
    functionLinenumberEnd: 1223
    functionName: tests::test_case2_spdm_algorithms_response_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/algorithm.rs
    functionUses: 0
    functionsReached:
    - SpdmMelSpecification::empty
    - create_spdm_context
    - SpdmAlgStruct::default
    - SpdmAlgorithmsResponsePayload::spdm_read
    - SpdmBaseAsymAlgo::empty
    - SpdmAlgoOtherParams::empty
    - SpdmBaseHashAlgo::empty
    - Option::unwrap
    - SpdmPqcAsymAlgo::empty
    - Writer::init
    - SpdmMeasurementHashAlgo::empty
    - gen_array_clone
    - SpdmMeasurementSpecification::empty
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_case2_spdm_algorithms_response_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmPqcAsymAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1233,1
    - Dst: SpdmMelSpecification::empty
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1234,1
    - Dst: SpdmAlg::SpdmAlgoDhe
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1239,1
    - Dst: SpdmAlg::SpdmAlgoAead
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1243,1
    - Dst: SpdmAlg::SpdmAlgoReqAsym
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1247,1
    - Dst: SpdmAlg::SpdmAlgoKeySchedule
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1253,1
    - Dst: SpdmAlg::SpdmAlgoKem
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1259,1
    - Dst: SpdmAlgStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1261,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1266,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1268,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1277,1
    - Dst: SpdmAlgorithmsResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm.rs:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1226
    functionDepth: 10
    functionLinenumber: 1226
    functionLinenumberEnd: 1281
    functionName: tests::test_case3_spdm_algorithms_response_payload_rejects_v13_pqc_structs
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/algorithm.rs
    functionUses: 0
    functionsReached:
    - SpdmMelSpecification::empty
    - SpdmAlg::SpdmAlgoDhe
    - SpdmAlg::SpdmAlgoKeySchedule
    - SpdmAlgStruct::default
    - create_spdm_context
    - SpdmAlgorithmsResponsePayload::spdm_read
    - SpdmPqcAsymAlgo::empty
    - SpdmAlg::SpdmAlgoAead
    - Writer::init
    - SpdmAlg::SpdmAlgoKem
    - Reader::init
    - SpdmAlg::SpdmAlgoReqAsym
    linkageType: ''
    returnType: void
    signature: fn test_case3_spdm_algorithms_response_payload_rejects_v13_pqc_structs()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testlib::create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/finish_test.rs:15,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/finish_test.rs:22,1
    - Dst: SpdmFinishRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/finish_test.rs:23,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/finish_test.rs:29,1
    - Dst: SpdmFinishResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/finish_test.rs:30,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/finish_test.rs:40,1
    - Dst: SpdmFinishResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/finish_test.rs:41,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/finish_test.rs:50,1
    - Dst: SpdmFinishResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/finish_test.rs:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 14
    functionDepth: 11
    functionLinenumber: 14
    functionLinenumberEnd: 54
    functionName: test_finish_struct
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/finish_test.rs
    functionUses: 0
    functionsReached:
    - Reader::init
    - testlib::create_spdm_context
    - SpdmFinishResponsePayload::spdm_read
    - SpdmFinishRequestPayload::spdm_read
    linkageType: ''
    returnType: void
    signature: fn test_finish_struct()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmVdmFlags::bits
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:35,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 4
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: SpdmVdmFlags::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/vendor.rs
    functionUses: 0
    functionsReached:
    - Vec::encode
    - SpdmVdmFlags::bits
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:39,1
    - Dst: SpdmVdmFlags::from_bits
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 9
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: SpdmVdmFlags::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/vendor.rs
    functionUses: 2
    functionsReached:
    - u8::read
    - SpdmVdmFlags::from_bits
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<SpdmVdmFlags>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 81
    functionName: RegistryOrStandardsBodyID::get_default_vendor_id_len
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/vendor.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u16
    signature: pub fn get_default_vendor_id_len(&self) -> u16
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:93,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:94,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:94,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:95,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 98
      start: 91
    functionDepth: 8
    functionLinenumber: 91
    functionLinenumberEnd: 98
    functionName: VendorIDStruct::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/vendor.rs
    functionUses: 0
    functionsReached:
    - take
    - iter
    - Vec::encode
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:101,1
    - Dst: VendorIDStruct::iter_mut
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:103,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:103,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:104,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 107
      start: 100
    functionDepth: 9
    functionLinenumber: 100
    functionLinenumberEnd: 107
    functionName: VendorIDStruct::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/vendor.rs
    functionUses: 2
    functionsReached:
    - take
    - u8::read
    - VendorIDStruct::iter_mut
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<VendorIDStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:110,1
    - Dst: Self::read
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 10
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: VendorIDStruct::read_bytes
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/vendor.rs
    functionUses: 0
    functionsReached:
    - Reader::init
    - Self::read
    linkageType: ''
    returnType: Option
    signature: 'fn read_bytes(bytes: &[u8]) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - vid
    argTypes:
    - '&VendorIDStruct'
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: VendorIDStruct::eq
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/vendor.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'fn eq(&self, vid: &VendorIDStruct) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: VendorIDStruct::default
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/vendor.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:145,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:146,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:146,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:151,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 154
      start: 142
    functionDepth: 8
    functionLinenumber: 142
    functionLinenumberEnd: 154
    functionName: VendorDefinedReqPayloadStruct::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/vendor.rs
    functionUses: 0
    functionsReached:
    - take
    - iter
    - Vec::encode
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:158,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:164,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:164,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:168,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 175
      start: 156
    functionDepth: 9
    functionLinenumber: 156
    functionLinenumberEnd: 175
    functionName: VendorDefinedReqPayloadStruct::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/vendor.rs
    functionUses: 1
    functionsReached:
    - take
    - iter_mut
    - u8::read
    - u16::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<VendorDefinedReqPayloadStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:181,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:182,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:183,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:183,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:188,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:190,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 191
      start: 179
    functionDepth: 8
    functionLinenumber: 179
    functionLinenumberEnd: 191
    functionName: VendorDefinedReqPayloadStruct::encode_large
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/vendor.rs
    functionUses: 0
    functionsReached:
    - take
    - iter
    - Vec::encode
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode_large(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:194,1
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:195,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:201,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:201,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:205,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:207,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 212
      start: 193
    functionDepth: 9
    functionLinenumber: 193
    functionLinenumberEnd: 212
    functionName: VendorDefinedReqPayloadStruct::read_large
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/vendor.rs
    functionUses: 1
    functionsReached:
    - take
    - iter_mut
    - u32::read
    - u8::read
    - u16::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read_large(r: &mut Reader) -> Option<VendorDefinedReqPayloadStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:225,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:226,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:226,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:231,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 234
      start: 222
    functionDepth: 8
    functionLinenumber: 222
    functionLinenumberEnd: 234
    functionName: VendorDefinedRspPayloadStruct::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/vendor.rs
    functionUses: 0
    functionsReached:
    - take
    - iter
    - Vec::encode
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:238,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:244,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:244,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:248,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:250,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 255
      start: 236
    functionDepth: 9
    functionLinenumber: 236
    functionLinenumberEnd: 255
    functionName: VendorDefinedRspPayloadStruct::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/vendor.rs
    functionUses: 1
    functionsReached:
    - take
    - iter_mut
    - u8::read
    - u16::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<VendorDefinedRspPayloadStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:261,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:262,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:263,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:263,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:268,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:270,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 271
      start: 259
    functionDepth: 8
    functionLinenumber: 259
    functionLinenumberEnd: 271
    functionName: VendorDefinedRspPayloadStruct::encode_large
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/vendor.rs
    functionUses: 0
    functionsReached:
    - take
    - iter
    - Vec::encode
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode_large(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:274,1
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:275,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:281,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:281,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:285,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:287,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 292
      start: 273
    functionDepth: 9
    functionLinenumber: 273
    functionLinenumberEnd: 292
    functionName: VendorDefinedRspPayloadStruct::read_large
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/vendor.rs
    functionUses: 1
    functionsReached:
    - take
    - iter_mut
    - u32::read
    - u8::read
    - u16::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read_large(r: &mut Reader) -> Option<VendorDefinedRspPayloadStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:309,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:313,1
    - Dst: SpdmVdmFlags::default
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:321,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:323,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:323,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:324,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:324,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:325,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:325,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:329,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:329,1
    - Dst: encode_large
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:334,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:334,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:339,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:339,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:344,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 64
    argCount: 2
    argNames:
    - context
    - bytes
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 345
      start: 303
    functionDepth: 9
    functionLinenumber: 303
    functionLinenumberEnd: 345
    functionName: SpdmVendorDefinedRequestPayload::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/vendor.rs
    functionUses: 0
    functionsReached:
    - map_err
    - SpdmVdmFlags::default
    - contains
    - encode_large
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,context: &mut common::SpdmContext,bytes: &mut
      Writer,) -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmVdmFlags::read
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:351,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:352,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:353,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:356,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:360,1
    - Dst: RegistryOrStandardsBodyID::read
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:367,1
    - Dst: VendorIDStruct::read
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:368,1
    - Dst: VendorDefinedReqPayloadStruct::read_large
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:370,1
    - Dst: VendorDefinedReqPayloadStruct::read
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:372,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:375,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 2
    argNames:
    - context
    - r
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 380
      start: 347
    functionDepth: 10
    functionLinenumber: 347
    functionLinenumberEnd: 380
    functionName: SpdmVendorDefinedRequestPayload::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/vendor.rs
    functionUses: 1
    functionsReached:
    - VendorDefinedReqPayloadStruct::read
    - VendorIDStruct::read
    - SpdmVdmFlags::read
    - RegistryOrStandardsBodyID::read
    - u8::read
    - contains
    - VendorDefinedReqPayloadStruct::read_large
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(context: &mut common::SpdmContext,r: &mut Reader,) ->
      Option<SpdmVendorDefinedRequestPayload>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:397,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:401,1
    - Dst: SpdmVdmFlags::default
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:409,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:411,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:411,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:412,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:412,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:413,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:413,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:417,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:417,1
    - Dst: encode_large
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:422,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:422,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:427,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:427,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:432,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 64
    argCount: 2
    argNames:
    - context
    - bytes
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 433
      start: 391
    functionDepth: 9
    functionLinenumber: 391
    functionLinenumberEnd: 433
    functionName: SpdmVendorDefinedResponsePayload::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/vendor.rs
    functionUses: 0
    functionsReached:
    - map_err
    - SpdmVdmFlags::default
    - contains
    - encode_large
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,context: &mut common::SpdmContext,bytes: &mut
      Writer,) -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmVdmFlags::read
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:439,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:440,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:441,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:444,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:448,1
    - Dst: RegistryOrStandardsBodyID::read
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:455,1
    - Dst: VendorIDStruct::read
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:456,1
    - Dst: VendorDefinedRspPayloadStruct::read_large
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:458,1
    - Dst: VendorDefinedRspPayloadStruct::read
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:460,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:463,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 2
    argNames:
    - context
    - r
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 468
      start: 435
    functionDepth: 10
    functionLinenumber: 435
    functionLinenumberEnd: 468
    functionName: SpdmVendorDefinedResponsePayload::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/vendor.rs
    functionUses: 1
    functionsReached:
    - VendorDefinedRspPayloadStruct::read
    - VendorIDStruct::read
    - SpdmVdmFlags::read
    - RegistryOrStandardsBodyID::read
    - u8::read
    - contains
    - VendorDefinedRspPayloadStruct::read_large
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(context: &mut common::SpdmContext,r: &mut Reader,) ->
      Option<SpdmVendorDefinedResponsePayload>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_init_once
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:496,1
    - Dst: is_ok
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - context
    argTypes:
    - VendorDefinedStruct
    constantsTouched: []
    func_position:
      end: 497
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 497
    functionName: register_vendor_defined_struct
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/vendor.rs
    functionUses: 3
    functionsReached:
    - try_init_once
    - is_ok
    linkageType: ''
    returnType: bool
    signature: 'pub fn register_vendor_defined_struct(context: VendorDefinedStruct)
      -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:503,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - vendor_id_struct
    - vendor_defined_req_payload_struct
    argTypes:
    - '&VendorIDStruct'
    - '&VendorDefinedReqPayloadStruct'
    constantsTouched: []
    func_position:
      end: 512
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 512
    functionName: vendor_defined_request_handler
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/vendor.rs
    functionUses: 0
    functionsReached:
    - try_get_or_init
    - Err
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn vendor_defined_request_handler(vendor_id_struct: &VendorIDStruct,vendor_defined_req_payload_struct:
      &VendorDefinedReqPayloadStruct,) -> SpdmResult<VendorDefinedRspPayloadStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_init_once
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:544,1
    - Dst: is_ok
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - context
    argTypes:
    - VendorDefinedStructEx
    constantsTouched: []
    func_position:
      end: 545
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 545
    functionName: register_vendor_defined_struct_ex
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/vendor.rs
    functionUses: 0
    functionsReached:
    - try_init_once
    - is_ok
    linkageType: ''
    returnType: bool
    signature: 'pub fn register_vendor_defined_struct_ex(context: VendorDefinedStructEx)
      -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:553,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/message/vendor.rs:556,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - responder_context
    - session_id
    - req_bytes
    - rsp_bytes
    argTypes:
    - '&mut ResponderContext'
    - Option<u32>
    - '&[u8]'
    - '&''a mut [u8]'
    constantsTouched: []
    func_position:
      end: 558
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 558
    functionName: vendor_defined_request_handler_ex
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/vendor.rs
    functionUses: 0
    functionsReached:
    - try_get_or_init
    - Err
    linkageType: ''
    returnType: (SpdmResult, Option
    signature: 'pub fn vendor_defined_request_handler_ex<''a>(responder_context: &mut
      ResponderContext,session_id: Option<u32>,req_bytes: &[u8],rsp_bytes: &''a mut
      [u8],) -> (SpdmResult, Option<&''a [u8]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/version_test.rs:17,1
    - Dst: testlib::create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/version_test.rs:18,1
    - Dst: SpdmVersionResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/version_test.rs:19,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/version_test.rs:27,1
    - Dst: testlib::create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/version_test.rs:28,1
    - Dst: SpdmVersionResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/version_test.rs:29,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/version_test.rs:36,1
    - Dst: testlib::create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/version_test.rs:37,1
    - Dst: SpdmVersionResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/version_test.rs:38,1
    - Dst: Features::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/version_test.rs:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 11
    functionDepth: 10
    functionLinenumber: 11
    functionLinenumberEnd: 45
    functionName: test_case1_spdmversion_struct
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/version_test.rs
    functionUses: 0
    functionsReached:
    - SpdmVersionResponsePayload::spdm_read
    - Reader::init
    - testlib::create_spdm_context
    - Features::unwrap
    linkageType: ''
    returnType: void
    signature: fn test_case1_spdmversion_struct()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmFinishRequestAttributes::bits
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:26,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 4
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: SpdmFinishRequestAttributes::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/finish.rs
    functionUses: 0
    functionsReached:
    - SpdmFinishRequestAttributes::bits
    - Vec::encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:30,1
    - Dst: SpdmFinishRequestAttributes::from_bits
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 9
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: SpdmFinishRequestAttributes::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/finish.rs
    functionUses: 1
    functionsReached:
    - u8::read
    - SpdmFinishRequestAttributes::from_bits
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<SpdmFinishRequestAttributes>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:52,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:52,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:56,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:56,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:61,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:63,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:67,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:69,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:70,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 2
    argNames:
    - context
    - bytes
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 71
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 71
    functionName: SpdmFinishRequestPayload::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/finish.rs
    functionUses: 0
    functionsReached:
    - spdm_encode
    - map_err
    - contains
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,context: &mut common::SpdmContext,bytes: &mut
      Writer,) -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmFinishRequestAttributes::read
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:77,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:78,1
    - Dst: SpdmOpaqueStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:82,1
    - Dst: SpdmOpaqueStruct::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:84,1
    - Dst: SpdmSignatureStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:86,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:87,1
    - Dst: SpdmSignatureStruct::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:88,1
    - Dst: SpdmDigestStruct::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:90,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:92,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - context
    - r
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 99
      start: 73
    functionDepth: 10
    functionLinenumber: 73
    functionLinenumberEnd: 99
    functionName: SpdmFinishRequestPayload::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/finish.rs
    functionUses: 5
    functionsReached:
    - SpdmSignatureStruct::spdm_read
    - SpdmFinishRequestAttributes::read
    - u8::read
    - contains
    - SpdmOpaqueStruct::default
    - SpdmSignatureStruct::default
    - SpdmDigestStruct::spdm_read
    - SpdmOpaqueStruct::spdm_read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(context: &mut common::SpdmContext,r: &mut Reader,) ->
      Option<SpdmFinishRequestPayload>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:115,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:115,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:116,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:116,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:118,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:120,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:124,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:129,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:131,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 2
    argNames:
    - context
    - bytes
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 132
      start: 109
    functionDepth: 3
    functionLinenumber: 109
    functionLinenumberEnd: 132
    functionName: SpdmFinishResponsePayload::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/finish.rs
    functionUses: 0
    functionsReached:
    - spdm_encode
    - map_err
    - contains
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,context: &mut common::SpdmContext,bytes: &mut
      Writer,) -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:138,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:139,1
    - Dst: SpdmOpaqueStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:140,1
    - Dst: SpdmOpaqueStruct::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:142,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:144,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:148,1
    - Dst: SpdmDigestStruct::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:154,1
    - Dst: SpdmDigestStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:156,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:159,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - context
    - r
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 163
      start: 134
    functionDepth: 9
    functionLinenumber: 134
    functionLinenumberEnd: 163
    functionName: SpdmFinishResponsePayload::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/finish.rs
    functionUses: 5
    functionsReached:
    - SpdmDigestStruct::default
    - u8::read
    - contains
    - SpdmOpaqueStruct::default
    - SpdmDigestStruct::spdm_read
    - SpdmOpaqueStruct::spdm_read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(context: &mut common::SpdmContext,r: &mut Reader,) ->
      Option<SpdmFinishResponsePayload>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:182,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:192,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:200,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:206,1
    - Dst: SpdmFinishRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:209,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 229
      start: 180
    functionDepth: 11
    functionLinenumber: 180
    functionLinenumberEnd: 229
    functionName: tests::test_case0_spdm_finish_request_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/finish.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - Option::unwrap
    - Box::new
    - Writer::init
    - SpdmFinishRequestPayload::spdm_read
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_finish_request_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:233,1
    - Dst: SpdmFinishRequestAttributes::empty
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:235,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:243,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:251,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:257,1
    - Dst: SpdmFinishRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:260,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 231
    functionDepth: 11
    functionLinenumber: 231
    functionLinenumberEnd: 270
    functionName: tests::test_case1_spdm_finish_request_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/finish.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - Option::unwrap
    - Box::new
    - SpdmFinishRequestAttributes::empty
    - Writer::init
    - SpdmFinishRequestPayload::spdm_read
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_case1_spdm_finish_request_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:274,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:278,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:286,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:295,1
    - Dst: SpdmFinishResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:297,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 303
      start: 272
    functionDepth: 10
    functionLinenumber: 272
    functionLinenumberEnd: 303
    functionName: tests::test_case0_spdm_finish_response_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/finish.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - SpdmFinishResponsePayload::spdm_read
    - Option::unwrap
    - Box::new
    - Writer::init
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_finish_response_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:307,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:311,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:319,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:327,1
    - Dst: SpdmFinishResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:329,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/finish.rs:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 335
      start: 305
    functionDepth: 10
    functionLinenumber: 305
    functionLinenumberEnd: 335
    functionName: tests::test_case1_spdm_finish_response_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/finish.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - SpdmFinishResponsePayload::spdm_read
    - Option::unwrap
    - Box::new
    - Writer::init
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_case1_spdm_finish_response_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:29,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:33,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:39,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:39,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:40,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:40,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:42,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:42,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:43,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:43,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:44,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:44,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:48,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:48,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:53,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:53,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:56,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:56,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:60,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 88
    argCount: 2
    argNames:
    - context
    - bytes
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 61
      start: 23
    functionDepth: 3
    functionLinenumber: 23
    functionLinenumberEnd: 61
    functionName: SpdmGetCertificateRequestPayload::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/certificate.rs
    functionUses: 0
    functionsReached:
    - map_err
    - Ok
    - contains
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,context: &mut common::SpdmContext,bytes: &mut
      Writer,) -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:67,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:75,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:79,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:86,1
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:88,1
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:89,1
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:92,1
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:94,1
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:97,1
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:99,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:102,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 57
    argCount: 2
    argNames:
    - context
    - r
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 107
      start: 63
    functionDepth: 9
    functionLinenumber: 63
    functionLinenumberEnd: 107
    functionName: SpdmGetCertificateRequestPayload::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/certificate.rs
    functionUses: 6
    functionsReached:
    - u32::read
    - u8::read
    - contains
    - u16::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(context: &mut common::SpdmContext,r: &mut Reader,) ->
      Option<SpdmGetCertificateRequestPayload>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 125
    functionName: SpdmCertificateResponsePayload::default
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/certificate.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SpdmCertificateResponsePayload
    signature: fn default() -> SpdmCertificateResponsePayload
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:135,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:139,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:145,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:145,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:146,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:146,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:148,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:148,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:149,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:149,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:150,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:150,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:154,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:154,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:159,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:159,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:162,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:162,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:167,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:167,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:168,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:168,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:170,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 104
    argCount: 2
    argNames:
    - context
    - bytes
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 171
      start: 129
    functionDepth: 8
    functionLinenumber: 129
    functionLinenumberEnd: 171
    functionName: SpdmCertificateResponsePayload::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/certificate.rs
    functionUses: 0
    functionsReached:
    - take
    - map_err
    - iter
    - contains
    - Result::map_err
    - Vec::encode
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,context: &mut common::SpdmContext,bytes: &mut
      Writer,) -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:177,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:185,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:189,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:196,1
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:198,1
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:199,1
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:202,1
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:204,1
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:207,1
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:209,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:219,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:219,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:220,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:222,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 71
    argCount: 2
    argNames:
    - context
    - r
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 223
      start: 173
    functionDepth: 9
    functionLinenumber: 173
    functionLinenumberEnd: 223
    functionName: SpdmCertificateResponsePayload::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/certificate.rs
    functionUses: 8
    functionsReached:
    - take
    - iter_mut
    - u32::read
    - u8::read
    - contains
    - u16::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(context: &mut common::SpdmContext,r: &mut Reader,) ->
      Option<SpdmCertificateResponsePayload>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:240,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:247,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:250,1
    - Dst: SpdmGetCertificateRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:253,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 258
      start: 238
    functionDepth: 10
    functionLinenumber: 238
    functionLinenumberEnd: 258
    functionName: tests::test_case0_spdm_get_certificate_request_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/certificate.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - Option::unwrap
    - Writer::init
    - Reader::init
    - SpdmGetCertificateRequestPayload::spdm_read
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_get_certificate_request_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:262,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:270,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:273,1
    - Dst: SpdmCertificateResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:276,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/certificate.rs:276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 260
    functionDepth: 10
    functionLinenumber: 260
    functionLinenumberEnd: 286
    functionName: tests::test_case0_spdm_certificate_response_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/certificate.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - SpdmCertificateResponsePayload::spdm_read
    - Option::unwrap
    - Writer::init
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_certificate_response_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmErrorCode::Unknown
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: SpdmErrorCode::default
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/error.rs
    functionUses: 0
    functionsReached:
    - SpdmErrorCode::Unknown
    linkageType: ''
    returnType: SpdmErrorCode
    signature: fn default() -> SpdmErrorCode
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - _context
    - _bytes
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: SpdmErrorResponseNoneExtData::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/error.rs
    functionUses: 0
    functionsReached:
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,_context: &mut common::SpdmContext,_bytes: &mut
      Writer,) -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _context
    - _r
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: SpdmErrorResponseNoneExtData::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/error.rs
    functionUses: 1
    functionsReached:
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(_context: &mut common::SpdmContext,_r: &mut Reader,)
      -> Option<SpdmErrorResponseNoneExtData>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:75,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:76,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:77,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:78,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: SpdmErrorResponseNotReadyExtData::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/error.rs
    functionUses: 0
    functionsReached:
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:83,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:84,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:85,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:86,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 93
      start: 82
    functionDepth: 9
    functionLinenumber: 82
    functionLinenumberEnd: 93
    functionName: SpdmErrorResponseNotReadyExtData::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/error.rs
    functionUses: 0
    functionsReached:
    - u8::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<SpdmErrorResponseNotReadyExtData>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:103,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:103,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:107,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:107,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:111,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:111,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:115,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:115,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 2
    argNames:
    - _context
    - bytes
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 120
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 120
    functionName: SpdmErrorResponseNotReadyExtData::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/error.rs
    functionUses: 0
    functionsReached:
    - map_err
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,_context: &mut common::SpdmContext,bytes: &mut
      Writer,) -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:126,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:127,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:128,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:129,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - _context
    - r
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 137
      start: 122
    functionDepth: 9
    functionLinenumber: 122
    functionLinenumberEnd: 137
    functionName: SpdmErrorResponseNotReadyExtData::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/error.rs
    functionUses: 2
    functionsReached:
    - u8::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(_context: &mut common::SpdmContext,r: &mut Reader,) ->
      Option<SpdmErrorResponseNotReadyExtData>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:152,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:152,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:153,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:153,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - _context
    - bytes
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 156
      start: 147
    functionDepth: 8
    functionLinenumber: 147
    functionLinenumberEnd: 156
    functionName: SpdmErrorResponseVendorExtData::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/error.rs
    functionUses: 0
    functionsReached:
    - take
    - iter
    - Result::map_err
    - Vec::encode
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,_context: &mut common::SpdmContext,bytes: &mut
      Writer,) -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:166,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - _context
    - r
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 179
      start: 158
    functionDepth: 9
    functionLinenumber: 158
    functionLinenumberEnd: 179
    functionName: SpdmErrorResponseVendorExtData::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/error.rs
    functionUses: 3
    functionsReached:
    - u8::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(_context: &mut common::SpdmContext,r: &mut Reader,) ->
      Option<SpdmErrorResponseVendorExtData>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmErrorResponseExtData::SpdmErrorExtDataNone
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: SpdmErrorResponseExtData::default
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/error.rs
    functionUses: 1
    functionsReached:
    - SpdmErrorResponseExtData::SpdmErrorExtDataNone
    linkageType: ''
    returnType: SpdmErrorResponseExtData
    signature: fn default() -> SpdmErrorResponseExtData
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:208,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:208,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:212,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:212,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:219,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:222,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:225,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:229,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 2
    argNames:
    - context
    - bytes
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 230
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 230
    functionName: SpdmErrorResponsePayload::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/error.rs
    functionUses: 0
    functionsReached:
    - map_err
    - spdm_encode
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,context: &mut common::SpdmContext,bytes: &mut
      Writer,) -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmErrorCode::read
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:236,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:237,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:241,1
    - Dst: SpdmErrorResponseExtData::SpdmErrorExtDataNotReady
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:241,1
    - Dst: SpdmErrorResponseNotReadyExtData::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:242,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:246,1
    - Dst: SpdmErrorResponseExtData::SpdmErrorExtDataVendorDefined
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:246,1
    - Dst: SpdmErrorResponseVendorExtData::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:247,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:250,1
    - Dst: SpdmErrorResponseExtData::SpdmErrorExtDataNone
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:250,1
    - Dst: SpdmErrorResponseNoneExtData::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:251,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:257,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - context
    - r
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 262
      start: 232
    functionDepth: 10
    functionLinenumber: 232
    functionLinenumberEnd: 262
    functionName: SpdmErrorResponsePayload::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/error.rs
    functionUses: 3
    functionsReached:
    - SpdmErrorResponseVendorExtData::spdm_read
    - SpdmErrorResponseNoneExtData::spdm_read
    - SpdmErrorResponseExtData::SpdmErrorExtDataVendorDefined
    - u8::read
    - SpdmErrorResponseNotReadyExtData::spdm_read
    - SpdmErrorCode::read
    - SpdmErrorResponseExtData::SpdmErrorExtDataNotReady
    - SpdmErrorResponseExtData::SpdmErrorExtDataNone
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(context: &mut common::SpdmContext,r: &mut Reader,) ->
      Option<SpdmErrorResponsePayload>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:279,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:288,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:291,1
    - Dst: SpdmErrorResponseNotReadyExtData::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:294,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 300
      start: 277
    functionDepth: 10
    functionLinenumber: 277
    functionLinenumberEnd: 300
    functionName: tests::test_case0_spdm_error_response_not_ready_ext_data
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/error.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - Option::unwrap
    - Writer::init
    - SpdmErrorResponseNotReadyExtData::spdm_read
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_error_response_not_ready_ext_data()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:304,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:310,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:313,1
    - Dst: SpdmErrorResponseVendorExtData::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:316,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 302
    functionDepth: 10
    functionLinenumber: 302
    functionLinenumberEnd: 321
    functionName: tests::test_case0_spdm_error_response_vendor_ext_data
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/error.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - SpdmErrorResponseVendorExtData::spdm_read
    - Option::unwrap
    - Writer::init
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_error_response_vendor_ext_data()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:325,1
    - Dst: SpdmErrorResponseVendorExtData::default
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:326,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:328,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:331,1
    - Dst: SpdmErrorResponseVendorExtData::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:334,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 342
      start: 323
    functionDepth: 10
    functionLinenumber: 323
    functionLinenumberEnd: 342
    functionName: tests::test_case1_spdm_error_response_vendor_ext_data
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/error.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - SpdmErrorResponseVendorExtData::spdm_read
    - Option::unwrap
    - Writer::init
    - Reader::init
    - SpdmErrorResponseVendorExtData::default
    linkageType: ''
    returnType: void
    signature: fn test_case1_spdm_error_response_vendor_ext_data()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmErrorResponseExtData::SpdmErrorExtDataNotReady
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:348,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:358,1
    - Dst: new_spdm_response
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:360,1
    - Dst: SpdmErrorResponseExtData::default
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:379,1
    - Dst: SpdmErrorResponseExtData::SpdmErrorExtDataVendorDefined
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:381,1
    - Dst: new_spdm_response
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:387,1
    - Dst: SpdmErrorResponseExtData::default
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:404,1
    - Dst: SpdmErrorResponseExtData::SpdmErrorExtDataNone
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:407,1
    - Dst: new_spdm_response
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:408,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 409
      start: 344
    functionDepth: 12
    functionLinenumber: 344
    functionLinenumberEnd: 409
    functionName: tests::test_case0_spdm_error_response_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/error.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - SpdmErrorResponseExtData::SpdmErrorExtDataVendorDefined
    - SpdmErrorResponseExtData::SpdmErrorExtDataNotReady
    - new_spdm_response
    - SpdmErrorResponseExtData::default
    - SpdmErrorResponseExtData::SpdmErrorExtDataNone
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_error_response_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:416,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:418,1
    - Dst: SpdmErrorResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:420,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/error.rs:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - value
    - context
    argTypes:
    - SpdmErrorResponsePayload
    - '&mut common::SpdmContext'
    constantsTouched: []
    func_position:
      end: 421
      start: 411
    functionDepth: 11
    functionLinenumber: 411
    functionLinenumberEnd: 421
    functionName: tests::new_spdm_response
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/error.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Reader::init
    - Option::unwrap
    - SpdmErrorResponsePayload::spdm_read
    linkageType: ''
    returnType: SpdmErrorResponsePayload
    signature: 'fn new_spdm_response(value: SpdmErrorResponsePayload,context: &mut
      common::SpdmContext,) -> SpdmErrorResponsePayload'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmRequestResponseCode::Unknown
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: SpdmRequestResponseCode::default
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/mod.rs
    functionUses: 0
    functionsReached:
    - SpdmRequestResponseCode::Unknown
    linkageType: ''
    returnType: SpdmRequestResponseCode
    signature: fn default() -> SpdmRequestResponseCode
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:131,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:132,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 134
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 134
    functionName: SpdmMessageHeader::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/mod.rs
    functionUses: 0
    functionsReached:
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmVersion::read
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:137,1
    - Dst: SpdmRequestResponseCode::read
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:138,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 10
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: SpdmMessageHeader::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/mod.rs
    functionUses: 72
    functionsReached:
    - Some
    - SpdmRequestResponseCode::read
    - SpdmVersion::read
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<SpdmMessageHeader>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:156,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:157,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 159
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 159
    functionName: SpdmMessageGeneralPayload::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/mod.rs
    functionUses: 0
    functionsReached:
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:162,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:163,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 9
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: SpdmMessageGeneralPayload::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/mod.rs
    functionUses: 4
    functionsReached:
    - u8::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<SpdmMessageGeneralPayload>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:174,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:174,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:175,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:175,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - _context
    - bytes
    argTypes:
    - '&mut SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 177
      start: 169
    functionDepth: 3
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionName: SpdmMessageGeneralPayload::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/mod.rs
    functionUses: 0
    functionsReached:
    - map_err
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,_context: &mut SpdmContext,bytes: &mut Writer,)
      -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:180,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:181,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - _context
    - r
    argTypes:
    - '&mut SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 9
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: SpdmMessageGeneralPayload::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/mod.rs
    functionUses: 0
    functionsReached:
    - u8::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(_context: &mut SpdmContext, r: &mut Reader) -> Option<SpdmMessageGeneralPayload>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:273,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:277,1
    - Dst: SpdmMessagePayload::SpdmVersionResponse
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:277,1
    - Dst: SpdmVersionResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:278,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:282,1
    - Dst: SpdmMessagePayload::SpdmGetVersionRequest
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:282,1
    - Dst: SpdmGetVersionRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:283,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:288,1
    - Dst: SpdmMessagePayload::SpdmCapabilitiesResponse
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:288,1
    - Dst: SpdmCapabilitiesResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:289,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:293,1
    - Dst: SpdmMessagePayload::SpdmGetCapabilitiesRequest
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:293,1
    - Dst: SpdmGetCapabilitiesRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:294,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:299,1
    - Dst: SpdmMessagePayload::SpdmAlgorithmsResponse
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:299,1
    - Dst: SpdmAlgorithmsResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:300,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:304,1
    - Dst: SpdmMessagePayload::SpdmNegotiateAlgorithmsRequest
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:304,1
    - Dst: SpdmNegotiateAlgorithmsRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:305,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:310,1
    - Dst: SpdmMessagePayload::SpdmDigestsResponse
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:310,1
    - Dst: SpdmDigestsResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:311,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:315,1
    - Dst: SpdmMessagePayload::SpdmGetDigestsRequest
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:315,1
    - Dst: SpdmGetDigestsRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:316,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:321,1
    - Dst: SpdmMessagePayload::SpdmCertificateResponse
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:321,1
    - Dst: SpdmCertificateResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:322,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:326,1
    - Dst: SpdmMessagePayload::SpdmGetCertificateRequest
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:326,1
    - Dst: SpdmGetCertificateRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:327,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:332,1
    - Dst: SpdmMessagePayload::SpdmChallengeAuthResponse
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:332,1
    - Dst: SpdmChallengeAuthResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:333,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:337,1
    - Dst: SpdmMessagePayload::SpdmChallengeRequest
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:337,1
    - Dst: SpdmChallengeRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:338,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:343,1
    - Dst: SpdmMessagePayload::SpdmMeasurementsResponse
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:343,1
    - Dst: SpdmMeasurementsResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:344,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:348,1
    - Dst: SpdmMessagePayload::SpdmGetMeasurementsRequest
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:348,1
    - Dst: SpdmGetMeasurementsRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:349,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:354,1
    - Dst: SpdmMessagePayload::SpdmKeyExchangeResponse
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:354,1
    - Dst: SpdmKeyExchangeResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:355,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:359,1
    - Dst: SpdmMessagePayload::SpdmKeyExchangeRequest
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:359,1
    - Dst: SpdmKeyExchangeRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:360,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:365,1
    - Dst: SpdmMessagePayload::SpdmFinishResponse
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:365,1
    - Dst: SpdmFinishResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:366,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:370,1
    - Dst: SpdmMessagePayload::SpdmFinishRequest
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:370,1
    - Dst: SpdmFinishRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:371,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:376,1
    - Dst: SpdmMessagePayload::SpdmPskExchangeResponse
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:376,1
    - Dst: SpdmPskExchangeResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:377,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:381,1
    - Dst: SpdmMessagePayload::SpdmPskExchangeRequest
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:381,1
    - Dst: SpdmPskExchangeRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:382,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:387,1
    - Dst: SpdmMessagePayload::SpdmPskFinishResponse
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:387,1
    - Dst: SpdmPskFinishResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:388,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:392,1
    - Dst: SpdmMessagePayload::SpdmPskFinishRequest
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:392,1
    - Dst: SpdmPskFinishRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:393,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:398,1
    - Dst: SpdmMessagePayload::SpdmHeartbeatResponse
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:398,1
    - Dst: SpdmHeartbeatResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:399,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:403,1
    - Dst: SpdmMessagePayload::SpdmHeartbeatRequest
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:403,1
    - Dst: SpdmHeartbeatRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:404,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:409,1
    - Dst: SpdmMessagePayload::SpdmKeyUpdateResponse
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:409,1
    - Dst: SpdmKeyUpdateResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:410,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:414,1
    - Dst: SpdmMessagePayload::SpdmKeyUpdateRequest
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:414,1
    - Dst: SpdmKeyUpdateRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:415,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:420,1
    - Dst: SpdmMessagePayload::SpdmEndSessionResponse
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:420,1
    - Dst: SpdmEndSessionResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:421,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:425,1
    - Dst: SpdmMessagePayload::SpdmEndSessionRequest
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:425,1
    - Dst: SpdmEndSessionRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:426,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:432,1
    - Dst: SpdmMessagePayload::SpdmErrorResponse
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:432,1
    - Dst: SpdmErrorResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:433,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:440,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 123
    argCount: 2
    argNames:
    - context
    - r
    argTypes:
    - '&mut SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 441
      start: 269
    functionDepth: 11
    functionLinenumber: 269
    functionLinenumberEnd: 441
    functionName: SpdmMessage::read_with_detailed_error
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/mod.rs
    functionUses: 1
    functionsReached:
    - SpdmAlgorithmsResponsePayload::spdm_read
    - SpdmMessagePayload::SpdmPskFinishResponse
    - SpdmCapabilitiesResponsePayload::spdm_read
    - SpdmMessagePayload::SpdmKeyUpdateRequest
    - SpdmErrorResponsePayload::spdm_read
    - SpdmFinishRequestPayload::spdm_read
    - SpdmMessagePayload::SpdmAlgorithmsResponse
    - SpdmPskExchangeResponsePayload::spdm_read
    - SpdmChallengeAuthResponsePayload::spdm_read
    - SpdmGetVersionRequestPayload::spdm_read
    - SpdmMessagePayload::SpdmCapabilitiesResponse
    - SpdmGetCertificateRequestPayload::spdm_read
    - SpdmMessagePayload::SpdmFinishResponse
    - SpdmMessagePayload::SpdmGetDigestsRequest
    - SpdmMessagePayload::SpdmPskFinishRequest
    - SpdmMessagePayload::SpdmFinishRequest
    - SpdmMessagePayload::SpdmEndSessionResponse
    - SpdmFinishResponsePayload::spdm_read
    - SpdmMessagePayload::SpdmHeartbeatResponse
    - SpdmMeasurementsResponsePayload::spdm_read
    - SpdmEndSessionResponsePayload::spdm_read
    - SpdmGetMeasurementsRequestPayload::spdm_read
    - SpdmMessagePayload::SpdmEndSessionRequest
    - SpdmMessagePayload::SpdmPskExchangeRequest
    - SpdmVersionResponsePayload::spdm_read
    - SpdmMessagePayload::SpdmGetCertificateRequest
    - SpdmMessagePayload::SpdmErrorResponse
    - SpdmKeyUpdateResponsePayload::spdm_read
    - SpdmKeyExchangeRequestPayload::spdm_read
    - SpdmMessagePayload::SpdmVersionResponse
    - Some
    - SpdmMessagePayload::SpdmMeasurementsResponse
    - SpdmMessagePayload::SpdmPskExchangeResponse
    - SpdmHeartbeatRequestPayload::spdm_read
    - SpdmMessagePayload::SpdmChallengeRequest
    - SpdmMessagePayload::SpdmGetCapabilitiesRequest
    - SpdmMessagePayload::SpdmDigestsResponse
    - SpdmMessagePayload::SpdmGetMeasurementsRequest
    - SpdmMessagePayload::SpdmKeyUpdateResponse
    - SpdmMessageHeader::read
    - SpdmGetCapabilitiesRequestPayload::spdm_read
    - SpdmPskExchangeRequestPayload::spdm_read
    - SpdmEndSessionRequestPayload::spdm_read
    - SpdmKeyUpdateRequestPayload::spdm_read
    - SpdmMessagePayload::SpdmHeartbeatRequest
    - SpdmKeyExchangeResponsePayload::spdm_read
    - SpdmCertificateResponsePayload::spdm_read
    - SpdmPskFinishRequestPayload::spdm_read
    - SpdmMessagePayload::SpdmCertificateResponse
    - SpdmPskFinishResponsePayload::spdm_read
    - SpdmDigestsResponsePayload::spdm_read
    - SpdmNegotiateAlgorithmsRequestPayload::spdm_read
    - SpdmMessagePayload::SpdmChallengeAuthResponse
    - SpdmMessagePayload::SpdmKeyExchangeResponse
    - SpdmHeartbeatResponsePayload::spdm_read
    - SpdmChallengeRequestPayload::spdm_read
    - SpdmGetDigestsRequestPayload::spdm_read
    - SpdmMessagePayload::SpdmGetVersionRequest
    - SpdmMessagePayload::SpdmKeyExchangeRequest
    - SpdmMessagePayload::SpdmNegotiateAlgorithmsRequest
    linkageType: ''
    returnType: Option
    signature: 'pub fn read_with_detailed_error(context: &mut SpdmContext,r: &mut
      Reader,) -> Option<SpdmMessage>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:451,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:451,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:457,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:460,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:463,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:467,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:470,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:474,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:477,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:481,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:484,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:488,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:491,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:495,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:498,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:502,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:505,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:509,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:512,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:516,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:519,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:523,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:526,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:530,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:533,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:537,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:540,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:544,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:547,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:551,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:554,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:559,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:563,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:567,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:571,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:576,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:579,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:582,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:586,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:590,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:594,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:598,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:601,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 173
    argCount: 2
    argNames:
    - context
    - bytes
    argTypes:
    - '&mut SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 602
      start: 445
    functionDepth: 3
    functionLinenumber: 445
    functionLinenumberEnd: 602
    functionName: SpdmMessage::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/mod.rs
    functionUses: 0
    functionsReached:
    - map_err
    - spdm_encode
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,context: &mut SpdmContext,bytes: &mut Writer,)
      -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmMessage::read_with_detailed_error
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - context
    - r
    argTypes:
    - '&mut SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 606
      start: 604
    functionDepth: 12
    functionLinenumber: 604
    functionLinenumberEnd: 606
    functionName: SpdmMessage::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/mod.rs
    functionUses: 9
    functionsReached:
    - SpdmMessage::read_with_detailed_error
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(context: &mut SpdmContext, r: &mut Reader) -> Option<SpdmMessage>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:628,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:635,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:637,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 643
      start: 626
    functionDepth: 11
    functionLinenumber: 626
    functionLinenumberEnd: 643
    functionName: tests::test_case0_spdm_message_header
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/mod.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Reader::init
    - SpdmMessageHeader::read
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_message_header()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gen_array_clone
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:647,1
    - Dst: SpdmVersionStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:647,1
    - Dst: SpdmMessagePayload::SpdmVersionResponse
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:658,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:664,1
    - Dst: new_spdm_message
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:666,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 679
      start: 646
    functionDepth: 14
    functionLinenumber: 646
    functionLinenumberEnd: 679
    functionName: tests::test_case0_spdm_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/mod.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - new_spdm_message
    - SpdmVersionStruct::default
    - gen_array_clone
    - SpdmMessagePayload::SpdmVersionResponse
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_message()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmMessagePayload::SpdmGetCapabilitiesRequest
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:687,1
    - Dst: SpdmRequestCapabilityExFlags::default
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:694,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:699,1
    - Dst: new_spdm_message
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:702,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 714
      start: 681
    functionDepth: 14
    functionLinenumber: 681
    functionLinenumberEnd: 714
    functionName: tests::test_case1_spdm_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/mod.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - new_spdm_message
    - SpdmMessagePayload::SpdmGetCapabilitiesRequest
    - SpdmRequestCapabilityExFlags::default
    linkageType: ''
    returnType: void
    signature: fn test_case1_spdm_message()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmMessagePayload::SpdmCapabilitiesResponse
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:722,1
    - Dst: SpdmResponseCapabilityExFlags::default
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:728,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:733,1
    - Dst: new_spdm_message
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:736,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 745
      start: 716
    functionDepth: 14
    functionLinenumber: 716
    functionLinenumberEnd: 745
    functionName: tests::test_case2_spdm_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/mod.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - new_spdm_message
    - SpdmResponseCapabilityExFlags::default
    - SpdmMessagePayload::SpdmCapabilitiesResponse
    linkageType: ''
    returnType: void
    signature: fn test_case2_spdm_message()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmMessagePayload::SpdmNegotiateAlgorithmsRequest
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:753,1
    - Dst: SpdmAlgoOtherParams::empty
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:756,1
    - Dst: SpdmMelSpecification::empty
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:760,1
    - Dst: SpdmAlg::SpdmAlgoDhe
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:765,1
    - Dst: SpdmAlg::SpdmAlgoAead
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:769,1
    - Dst: SpdmAlg::SpdmAlgoReqAsym
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:773,1
    - Dst: SpdmAlg::SpdmAlgoKeySchedule
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:779,1
    - Dst: SpdmAlg::SpdmAlgoPqcReqAsym
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:785,1
    - Dst: SpdmAlg::SpdmAlgoKem
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:791,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:797,1
    - Dst: new_spdm_message
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:800,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 846
      start: 747
    functionDepth: 14
    functionLinenumber: 747
    functionLinenumberEnd: 846
    functionName: tests::test_case3_spdm_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/mod.rs
    functionUses: 0
    functionsReached:
    - SpdmMelSpecification::empty
    - SpdmAlg::SpdmAlgoDhe
    - SpdmAlg::SpdmAlgoReqAsym
    - SpdmAlg::SpdmAlgoKeySchedule
    - create_spdm_context
    - SpdmAlgoOtherParams::empty
    - new_spdm_message
    - SpdmAlg::SpdmAlgoAead
    - SpdmAlg::SpdmAlgoPqcReqAsym
    - SpdmAlg::SpdmAlgoKem
    - SpdmMessagePayload::SpdmNegotiateAlgorithmsRequest
    linkageType: ''
    returnType: void
    signature: fn test_case3_spdm_message()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmMessagePayload::SpdmAlgorithmsResponse
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:854,1
    - Dst: SpdmAlgoOtherParams::empty
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:856,1
    - Dst: SpdmPqcAsymAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:860,1
    - Dst: SpdmMelSpecification::empty
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:861,1
    - Dst: SpdmAlg::SpdmAlgoDhe
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:866,1
    - Dst: SpdmAlg::SpdmAlgoAead
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:870,1
    - Dst: SpdmAlg::SpdmAlgoReqAsym
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:874,1
    - Dst: SpdmAlg::SpdmAlgoKeySchedule
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:880,1
    - Dst: SpdmAlg::SpdmAlgoPqcReqAsym
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:886,1
    - Dst: SpdmPqcReqAsymAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:886,1
    - Dst: SpdmAlg::SpdmAlgoKem
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:890,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:890,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:895,1
    - Dst: new_spdm_message
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:903,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 950
      start: 848
    functionDepth: 14
    functionLinenumber: 848
    functionLinenumberEnd: 950
    functionName: tests::test_case4_spdm_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/mod.rs
    functionUses: 0
    functionsReached:
    - SpdmMelSpecification::empty
    - SpdmAlg::SpdmAlgoDhe
    - SpdmAlg::SpdmAlgoKeySchedule
    - SpdmPqcReqAsymAlgo::empty
    - create_spdm_context
    - SpdmAlgoOtherParams::empty
    - new_spdm_message
    - SpdmPqcAsymAlgo::empty
    - SpdmAlg::SpdmAlgoAead
    - SpdmAlg::SpdmAlgoPqcReqAsym
    - SpdmAlg::SpdmAlgoKem
    - SpdmMessagePayload::SpdmAlgorithmsResponse
    - SpdmKemAlgo::empty
    - SpdmAlg::SpdmAlgoReqAsym
    linkageType: ''
    returnType: void
    signature: fn test_case4_spdm_message()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmMessagePayload::SpdmCertificateResponse
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:958,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:965,1
    - Dst: new_spdm_message
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:967,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 980
      start: 952
    functionDepth: 14
    functionLinenumber: 952
    functionLinenumberEnd: 980
    functionName: tests::test_case5_spdm_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/mod.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - SpdmMessagePayload::SpdmCertificateResponse
    - new_spdm_message
    linkageType: ''
    returnType: void
    signature: fn test_case5_spdm_message()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmMessagePayload::SpdmChallengeRequest
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:988,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1001,1
    - Dst: new_spdm_message
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1004,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 982
    functionDepth: 14
    functionLinenumber: 982
    functionLinenumberEnd: 1022
    functionName: tests::test_case6_spdm_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/mod.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - new_spdm_message
    - SpdmMessagePayload::SpdmChallengeRequest
    linkageType: ''
    returnType: void
    signature: fn test_case6_spdm_message()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmMessagePayload::SpdmChallengeAuthResponse
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1030,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1037,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1044,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1060,1
    - Dst: new_spdm_message
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1066,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 76
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1024
    functionDepth: 14
    functionLinenumber: 1024
    functionLinenumberEnd: 1105
    functionName: tests::test_case7_spdm_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/mod.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - new_spdm_message
    - SpdmMessagePayload::SpdmChallengeAuthResponse
    - Box::new
    linkageType: ''
    returnType: void
    signature: fn test_case7_spdm_message()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmMessagePayload::SpdmGetMeasurementsRequest
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1113,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1128,1
    - Dst: new_spdm_message
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1107
    functionDepth: 14
    functionLinenumber: 1107
    functionLinenumberEnd: 1153
    functionName: tests::test_case8_spdm_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/mod.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - new_spdm_message
    - SpdmMessagePayload::SpdmGetMeasurementsRequest
    linkageType: ''
    returnType: void
    signature: fn test_case8_spdm_message()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1169,1
    - Dst: SpdmMessagePayload::SpdmMeasurementsResponse
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1180,1
    - Dst: u24::new
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1187,1
    - Dst: Writer::used
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1187,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1209,1
    - Dst: new_spdm_message
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1217,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 87
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1155
    functionDepth: 14
    functionLinenumber: 1155
    functionLinenumberEnd: 1245
    functionName: tests::test_case9_spdm_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/mod.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - Writer::used
    - new_spdm_message
    - Writer::init
    - SpdmMessagePayload::SpdmMeasurementsResponse
    - u24::new
    linkageType: ''
    returnType: void
    signature: fn test_case9_spdm_message()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmMessagePayload::SpdmKeyExchangeRequest
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1253,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1272,1
    - Dst: new_spdm_message
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1275,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1247
    functionDepth: 14
    functionLinenumber: 1247
    functionLinenumberEnd: 1298
    functionName: tests::test_case10_spdm_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/mod.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - new_spdm_message
    - SpdmMessagePayload::SpdmKeyExchangeRequest
    linkageType: ''
    returnType: void
    signature: fn test_case10_spdm_message()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmMessagePayload::SpdmFinishRequest
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1306,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1315,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1323,1
    - Dst: new_spdm_message
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1326,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1346
      start: 1300
    functionDepth: 14
    functionLinenumber: 1300
    functionLinenumberEnd: 1346
    functionName: tests::test_case12_spdm_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/mod.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - new_spdm_message
    - Box::new
    - SpdmMessagePayload::SpdmFinishRequest
    linkageType: ''
    returnType: void
    signature: fn test_case12_spdm_message()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmMessagePayload::SpdmFinishResponse
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1354,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1357,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1365,1
    - Dst: new_spdm_message
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1371,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1348
    functionDepth: 14
    functionLinenumber: 1348
    functionLinenumberEnd: 1382
    functionName: tests::test_case13_spdm_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/mod.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - new_spdm_message
    - SpdmMessagePayload::SpdmFinishResponse
    - Box::new
    linkageType: ''
    returnType: void
    signature: fn test_case13_spdm_message()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmMessagePayload::SpdmPskExchangeRequest
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1390,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1408,1
    - Dst: new_spdm_message
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1410,1
    - Dst: SpdmMessagePayload::SpdmPskExchangeResponse
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1442,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1447,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1459,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1463,1
    - Dst: new_spdm_message
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1466,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 91
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1499
      start: 1384
    functionDepth: 14
    functionLinenumber: 1384
    functionLinenumberEnd: 1499
    functionName: tests::test_case114_spdm_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/mod.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - new_spdm_message
    - Box::new
    - SpdmMessagePayload::SpdmPskExchangeRequest
    - SpdmMessagePayload::SpdmPskExchangeResponse
    linkageType: ''
    returnType: void
    signature: fn test_case114_spdm_message()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmMessagePayload::SpdmPskFinishRequest
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1507,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1510,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1518,1
    - Dst: new_spdm_message
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1520,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1501
    functionDepth: 14
    functionLinenumber: 1501
    functionLinenumberEnd: 1531
    functionName: tests::test_case15_spdm_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/mod.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - new_spdm_message
    - SpdmMessagePayload::SpdmPskFinishRequest
    - Box::new
    linkageType: ''
    returnType: void
    signature: fn test_case15_spdm_message()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmMessagePayload::SpdmKeyUpdateRequest
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1539,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1544,1
    - Dst: new_spdm_message
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1546,1
    - Dst: SpdmMessagePayload::SpdmKeyUpdateResponse
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1560,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1565,1
    - Dst: new_spdm_message
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1567,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1579
      start: 1533
    functionDepth: 14
    functionLinenumber: 1533
    functionLinenumberEnd: 1579
    functionName: tests::test_case17_spdm_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/mod.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - new_spdm_message
    - SpdmMessagePayload::SpdmKeyUpdateRequest
    - SpdmMessagePayload::SpdmKeyUpdateResponse
    linkageType: ''
    returnType: void
    signature: fn test_case17_spdm_message()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmMessagePayload::SpdmEndSessionRequest
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1587,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1592,1
    - Dst: new_spdm_message
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1593,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1604
      start: 1581
    functionDepth: 14
    functionLinenumber: 1581
    functionLinenumberEnd: 1604
    functionName: tests::test_case18_spdm_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/mod.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - SpdmMessagePayload::SpdmEndSessionRequest
    - new_spdm_message
    linkageType: ''
    returnType: void
    signature: fn test_case18_spdm_message()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmMessagePayload::SpdmErrorResponse
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1612,1
    - Dst: SpdmErrorResponseExtData::SpdmErrorExtDataNotReady
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1615,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1625,1
    - Dst: new_spdm_message
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1627,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1644
      start: 1606
    functionDepth: 14
    functionLinenumber: 1606
    functionLinenumberEnd: 1644
    functionName: tests::test_case19_spdm_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/mod.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - SpdmMessagePayload::SpdmErrorResponse
    - new_spdm_message
    - SpdmErrorResponseExtData::SpdmErrorExtDataNotReady
    linkageType: ''
    returnType: void
    signature: fn test_case19_spdm_message()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmMessagePayload::SpdmGetVersionRequest
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1652,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1655,1
    - Dst: new_spdm_message
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1657
      start: 1646
    functionDepth: 14
    functionLinenumber: 1646
    functionLinenumberEnd: 1657
    functionName: tests::test_case20_spdm_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/mod.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - new_spdm_message
    - SpdmMessagePayload::SpdmGetVersionRequest
    linkageType: ''
    returnType: void
    signature: fn test_case20_spdm_message()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmMessagePayload::SpdmGetDigestsRequest
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1665,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1668,1
    - Dst: new_spdm_message
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1670
      start: 1659
    functionDepth: 14
    functionLinenumber: 1659
    functionLinenumberEnd: 1670
    functionName: tests::test_case21_spdm_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/mod.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - new_spdm_message
    - SpdmMessagePayload::SpdmGetDigestsRequest
    linkageType: ''
    returnType: void
    signature: fn test_case21_spdm_message()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmMessagePayload::SpdmGetCertificateRequest
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1678,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1687,1
    - Dst: new_spdm_message
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1688,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1698
      start: 1672
    functionDepth: 14
    functionLinenumber: 1672
    functionLinenumberEnd: 1698
    functionName: tests::test_case22_spdm_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/mod.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - SpdmMessagePayload::SpdmGetCertificateRequest
    - new_spdm_message
    linkageType: ''
    returnType: void
    signature: fn test_case22_spdm_message()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmMessagePayload::SpdmPskFinishResponse
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1706,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1713,1
    - Dst: new_spdm_message
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1715
      start: 1700
    functionDepth: 14
    functionLinenumber: 1700
    functionLinenumberEnd: 1715
    functionName: tests::test_case23_spdm_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/mod.rs
    functionUses: 0
    functionsReached:
    - SpdmMessagePayload::SpdmPskFinishResponse
    - create_spdm_context
    - new_spdm_message
    linkageType: ''
    returnType: void
    signature: fn test_case23_spdm_message()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmMessagePayload::SpdmHeartbeatRequest
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1723,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1725,1
    - Dst: new_spdm_message
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1727
      start: 1717
    functionDepth: 14
    functionLinenumber: 1717
    functionLinenumberEnd: 1727
    functionName: tests::test_case24_spdm_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/mod.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - new_spdm_message
    - SpdmMessagePayload::SpdmHeartbeatRequest
    linkageType: ''
    returnType: void
    signature: fn test_case24_spdm_message()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmMessagePayload::SpdmEndSessionResponse
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1735,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1738
      start: 1729
    functionDepth: 7
    functionLinenumber: 1729
    functionLinenumberEnd: 1738
    functionName: tests::test_case25_spdm_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/mod.rs
    functionUses: 0
    functionsReached:
    - SpdmMessagePayload::SpdmEndSessionResponse
    - create_spdm_context
    linkageType: ''
    returnType: void
    signature: fn test_case25_spdm_message()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmRequestResponseCode::Unknown
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1744,1
    - Dst: SpdmMessagePayload::SpdmEndSessionResponse
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1746,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1748,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1750,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1752,1
    - Dst: SpdmMessage::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1755
      start: 1740
    functionDepth: 13
    functionLinenumber: 1740
    functionLinenumberEnd: 1755
    functionName: tests::test_case26_spdm_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/mod.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - SpdmMessagePayload::SpdmEndSessionResponse
    - Writer::init
    - SpdmRequestResponseCode::Unknown
    - Reader::init
    - SpdmMessage::spdm_read
    linkageType: ''
    returnType: void
    signature: fn test_case26_spdm_message()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmMessagePayload::SpdmDigestsResponse
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1764,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1766,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1769,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1774,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1775,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1779,1
    - Dst: SpdmKeyUsageMask::empty
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1779,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1782,1
    - Dst: new_spdm_message
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1784,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1794
      start: 1758
    functionDepth: 14
    functionLinenumber: 1758
    functionLinenumberEnd: 1794
    functionName: tests::test_case27_spdm_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/mod.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - new_spdm_message
    - SpdmMessagePayload::SpdmDigestsResponse
    - SpdmKeyUsageMask::empty
    - Box::new
    - gen_array_clone
    linkageType: ''
    returnType: void
    signature: fn test_case27_spdm_message()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmMessagePayload::SpdmHeartbeatResponse
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1802,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1804,1
    - Dst: new_spdm_message
      Src: /src/spdm-rs/spdmlib/src/message/mod.rs:1805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1806
      start: 1796
    functionDepth: 14
    functionLinenumber: 1796
    functionLinenumberEnd: 1806
    functionName: tests::test_case28_spdm_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/mod.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - SpdmMessagePayload::SpdmHeartbeatResponse
    - new_spdm_message
    linkageType: ''
    returnType: void
    signature: fn test_case28_spdm_message()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmKeyUpdateOperation::Unknown
      Src: /src/spdm-rs/spdmlib/src/message/key_update.rs:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: SpdmKeyUpdateOperation::default
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/key_update.rs
    functionUses: 0
    functionsReached:
    - SpdmKeyUpdateOperation::Unknown
    linkageType: ''
    returnType: SpdmKeyUpdateOperation
    signature: fn default() -> SpdmKeyUpdateOperation
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/key_update.rs:39,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/key_update.rs:39,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/key_update.rs:43,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/key_update.rs:43,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/key_update.rs:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - _context
    - bytes
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 48
      start: 33
    functionDepth: 3
    functionLinenumber: 33
    functionLinenumberEnd: 48
    functionName: SpdmKeyUpdateRequestPayload::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/key_update.rs
    functionUses: 0
    functionsReached:
    - map_err
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,_context: &mut common::SpdmContext,bytes: &mut
      Writer,) -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmKeyUpdateOperation::read
      Src: /src/spdm-rs/spdmlib/src/message/key_update.rs:54,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/key_update.rs:55,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/key_update.rs:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - _context
    - r
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 68
      start: 50
    functionDepth: 10
    functionLinenumber: 50
    functionLinenumberEnd: 68
    functionName: SpdmKeyUpdateRequestPayload::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/key_update.rs
    functionUses: 4
    functionsReached:
    - u8::read
    - Some
    - SpdmKeyUpdateOperation::read
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(_context: &mut common::SpdmContext,r: &mut Reader,) ->
      Option<SpdmKeyUpdateRequestPayload>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/key_update.rs:84,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/key_update.rs:84,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/key_update.rs:88,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/key_update.rs:88,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/key_update.rs:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - _context
    - bytes
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: SpdmKeyUpdateResponsePayload::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/key_update.rs
    functionUses: 0
    functionsReached:
    - map_err
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,_context: &mut common::SpdmContext,bytes: &mut
      Writer,) -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmKeyUpdateOperation::read
      Src: /src/spdm-rs/spdmlib/src/message/key_update.rs:99,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/key_update.rs:100,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/key_update.rs:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - _context
    - r
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 113
      start: 95
    functionDepth: 10
    functionLinenumber: 95
    functionLinenumberEnd: 113
    functionName: SpdmKeyUpdateResponsePayload::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/key_update.rs
    functionUses: 4
    functionsReached:
    - u8::read
    - Some
    - SpdmKeyUpdateOperation::read
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(_context: &mut common::SpdmContext,r: &mut Reader,) ->
      Option<SpdmKeyUpdateResponsePayload>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/key_update.rs:130,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/key_update.rs:136,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/key_update.rs:139,1
    - Dst: SpdmKeyUpdateRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/key_update.rs:142,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/key_update.rs:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 128
    functionDepth: 11
    functionLinenumber: 128
    functionLinenumberEnd: 149
    functionName: tests::test_case0_spdm_key_update_request_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/key_update.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - Option::unwrap
    - Writer::init
    - SpdmKeyUpdateRequestPayload::spdm_read
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_key_update_request_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/key_update.rs:153,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/key_update.rs:159,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/key_update.rs:162,1
    - Dst: SpdmKeyUpdateResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/key_update.rs:165,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/key_update.rs:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 151
    functionDepth: 11
    functionLinenumber: 151
    functionLinenumberEnd: 172
    functionName: tests::test_case0_spdm_key_update_response_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/key_update.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - Option::unwrap
    - Writer::init
    - Reader::init
    - SpdmKeyUpdateResponsePayload::spdm_read
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_key_update_response_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:33,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:33,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:37,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:37,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:42,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:42,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:47,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:47,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:50,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:50,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:52,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:52,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:58,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:58,1
    - Dst: Bytes::extend_from_slice
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:66,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:66,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:70,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 87
    argCount: 2
    argNames:
    - context
    - bytes
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 71
      start: 25
    functionDepth: 5
    functionLinenumber: 25
    functionLinenumberEnd: 71
    functionName: SpdmChunkSendRequestPayload::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/chunk_send.rs
    functionUses: 0
    functionsReached:
    - map_err
    - unwrap
    - Bytes::extend_from_slice
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,context: &mut common::SpdmContext,bytes: &mut
      Writer,) -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmChunkSenderAttributes::read
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:78,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:79,1
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:81,1
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:83,1
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:86,1
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:88,1
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:90,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:109,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:110,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:115,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 74
    argCount: 2
    argNames:
    - context
    - r
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 122
      start: 73
    functionDepth: 10
    functionLinenumber: 73
    functionLinenumberEnd: 122
    functionName: SpdmChunkSendRequestPayload::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/chunk_send.rs
    functionUses: 2
    functionsReached:
    - take
    - u32::read
    - SpdmChunkSenderAttributes::read
    - u8::read
    - u16::read
    - copy_from_slice
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(context: &mut common::SpdmContext,r: &mut Reader,) ->
      Option<SpdmChunkSendRequestPayload>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmChunkSenderAttributes::bits
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:135,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 4
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: SpdmChunkSenderAttributes::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/chunk_send.rs
    functionUses: 0
    functionsReached:
    - SpdmChunkSenderAttributes::bits
    - Vec::encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:139,1
    - Dst: SpdmChunkSenderAttributes::from_bits
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 9
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: SpdmChunkSenderAttributes::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/chunk_send.rs
    functionUses: 2
    functionsReached:
    - SpdmChunkSenderAttributes::from_bits
    - u8::read
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<SpdmChunkSenderAttributes>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:161,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:161,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:165,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:165,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:170,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:170,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:175,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:175,1
    - Dst: Bytes::extend_from_slice
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:180,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:180,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:187,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 55
    argCount: 2
    argNames:
    - context
    - bytes
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 188
      start: 154
    functionDepth: 5
    functionLinenumber: 154
    functionLinenumberEnd: 188
    functionName: SpdmChunkSendAckResponsePayload::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/chunk_send.rs
    functionUses: 0
    functionsReached:
    - map_err
    - unwrap
    - Bytes::extend_from_slice
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,context: &mut common::SpdmContext,bytes: &mut
      Writer,) -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmChunkReceiverAttributes::read
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:195,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:196,1
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:198,1
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:200,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:204,1
    - Dst: left
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:206,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:210,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:211,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:220,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 56
    argCount: 2
    argNames:
    - context
    - r
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 226
      start: 190
    functionDepth: 10
    functionLinenumber: 190
    functionLinenumberEnd: 226
    functionName: SpdmChunkSendAckResponsePayload::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/chunk_send.rs
    functionUses: 2
    functionsReached:
    - take
    - left
    - u32::read
    - u8::read
    - contains
    - u16::read
    - SpdmChunkReceiverAttributes::read
    - copy_from_slice
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(context: &mut common::SpdmContext,r: &mut Reader,) ->
      Option<SpdmChunkSendAckResponsePayload>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmChunkReceiverAttributes::bits
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:239,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 240
      start: 238
    functionDepth: 4
    functionLinenumber: 238
    functionLinenumberEnd: 240
    functionName: SpdmChunkReceiverAttributes::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/chunk_send.rs
    functionUses: 0
    functionsReached:
    - Vec::encode
    - SpdmChunkReceiverAttributes::bits
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:243,1
    - Dst: SpdmChunkReceiverAttributes::from_bits
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send.rs:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 9
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: SpdmChunkReceiverAttributes::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/chunk_send.rs
    functionUses: 1
    functionsReached:
    - SpdmChunkReceiverAttributes::from_bits
    - u8::read
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<SpdmChunkReceiverAttributes>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get.rs:26,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get.rs:26,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get.rs:27,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get.rs:27,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get.rs:32,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get.rs:32,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get.rs:37,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get.rs:37,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get.rs:41,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 39
    argCount: 2
    argNames:
    - context
    - bytes
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 42
      start: 19
    functionDepth: 3
    functionLinenumber: 19
    functionLinenumberEnd: 42
    functionName: SpdmChunkGetRequestPayload::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/chunk_get.rs
    functionUses: 0
    functionsReached:
    - map_err
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,context: &mut common::SpdmContext,bytes: &mut
      Writer,) -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get.rs:49,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get.rs:50,1
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get.rs:52,1
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get.rs:54,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get.rs:56,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - context
    - r
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 60
      start: 44
    functionDepth: 9
    functionLinenumber: 44
    functionLinenumberEnd: 60
    functionName: SpdmChunkGetRequestPayload::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/chunk_get.rs
    functionUses: 2
    functionsReached:
    - u16::read
    - u32::read
    - u8::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(context: &mut common::SpdmContext,r: &mut Reader,) ->
      Option<SpdmChunkGetRequestPayload>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get.rs:80,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get.rs:80,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get.rs:84,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get.rs:84,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get.rs:89,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get.rs:89,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get.rs:94,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get.rs:94,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get.rs:97,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get.rs:97,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get.rs:99,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get.rs:99,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get.rs:104,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get.rs:104,1
    - Dst: Bytes::extend_from_slice
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get.rs:111,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get.rs:111,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get.rs:113,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 87
    argCount: 2
    argNames:
    - context
    - bytes
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 114
      start: 73
    functionDepth: 5
    functionLinenumber: 73
    functionLinenumberEnd: 114
    functionName: SpdmChunkResponsePayload::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/chunk_get.rs
    functionUses: 0
    functionsReached:
    - map_err
    - unwrap
    - Bytes::extend_from_slice
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,context: &mut common::SpdmContext,bytes: &mut
      Writer,) -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmChunkSenderAttributes::read
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get.rs:121,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get.rs:122,1
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get.rs:124,1
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get.rs:126,1
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get.rs:129,1
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get.rs:131,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get.rs:133,1
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get.rs:133,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get.rs:137,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get.rs:145,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/chunk_get.rs:151,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 69
    argCount: 2
    argNames:
    - context
    - r
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 158
      start: 116
    functionDepth: 10
    functionLinenumber: 116
    functionLinenumberEnd: 158
    functionName: SpdmChunkResponsePayload::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/chunk_get.rs
    functionUses: 2
    functionsReached:
    - take
    - u32::read
    - SpdmChunkSenderAttributes::read
    - u8::read
    - u16::read
    - copy_from_slice
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(context: &mut common::SpdmContext,r: &mut Reader,) ->
      Option<SpdmChunkResponsePayload>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testlib::create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/measurement_test.rs:17,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/measurement_test.rs:23,1
    - Dst: SpdmNonceStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/measurement_test.rs:27,1
    - Dst: SpdmMeasurementContextStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/measurement_test.rs:29,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/measurement_test.rs:35,1
    - Dst: SpdmNonceStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/measurement_test.rs:39,1
    - Dst: SpdmMeasurementContextStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/measurement_test.rs:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 16
    functionDepth: 7
    functionLinenumber: 16
    functionLinenumberEnd: 45
    functionName: test_measurement_struct
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/measurement_test.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - testlib::create_spdm_context
    - SpdmNonceStruct::default
    - SpdmMeasurementContextStruct::default
    linkageType: ''
    returnType: void
    signature: fn test_measurement_struct()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testlib::create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/measurement_test.rs:49,1
    - Dst: set_bits
      Src: /src/spdm-rs/spdmlib/src/message/measurement_test.rs:53,1
    - Dst: set_bits
      Src: /src/spdm-rs/spdmlib/src/message/measurement_test.rs:54,1
    - Dst: LittleEndian::write_u24
      Src: /src/spdm-rs/spdmlib/src/message/measurement_test.rs:56,1
    - Dst: LittleEndian::write_u16
      Src: /src/spdm-rs/spdmlib/src/message/measurement_test.rs:57,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/measurement_test.rs:63,1
    - Dst: SpdmMeasurementsResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/measurement_test.rs:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 10
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: test_measurement_response
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/measurement_test.rs
    functionUses: 0
    functionsReached:
    - testlib::create_spdm_context
    - LittleEndian::write_u24
    - set_bits
    - SpdmMeasurementsResponsePayload::spdm_read
    - LittleEndian::write_u16
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_measurement_response()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testlib::create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/end_session_test.rs:12,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/end_session_test.rs:17,1
    - Dst: SpdmEndSessionRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/end_session_test.rs:18,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/end_session_test.rs:24,1
    - Dst: SpdmEndSessionResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/end_session_test.rs:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 11
    functionDepth: 11
    functionLinenumber: 11
    functionLinenumberEnd: 28
    functionName: test_end_session_struct
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/end_session_test.rs
    functionUses: 0
    functionsReached:
    - Reader::init
    - testlib::create_spdm_context
    - SpdmEndSessionRequestPayload::spdm_read
    - SpdmEndSessionResponsePayload::spdm_read
    linkageType: ''
    returnType: void
    signature: fn test_end_session_struct()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testlib::create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/heartbeat_test.rs:12,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/heartbeat_test.rs:17,1
    - Dst: SpdmHeartbeatRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/heartbeat_test.rs:18,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/heartbeat_test.rs:24,1
    - Dst: SpdmHeartbeatResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/heartbeat_test.rs:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 11
    functionDepth: 10
    functionLinenumber: 11
    functionLinenumberEnd: 28
    functionName: test_heartbeat_struct
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/heartbeat_test.rs
    functionUses: 0
    functionsReached:
    - SpdmHeartbeatResponsePayload::spdm_read
    - Reader::init
    - testlib::create_spdm_context
    - SpdmHeartbeatRequestPayload::spdm_read
    linkageType: ''
    returnType: void
    signature: fn test_heartbeat_struct()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testlib::create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/certificate_test.rs:13,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/certificate_test.rs:17,1
    - Dst: LittleEndian::write_u16
      Src: /src/spdm-rs/spdmlib/src/message/certificate_test.rs:29,1
    - Dst: LittleEndian::write_u16
      Src: /src/spdm-rs/spdmlib/src/message/certificate_test.rs:30,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/certificate_test.rs:32,1
    - Dst: SpdmCertificateResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/certificate_test.rs:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 12
    functionDepth: 10
    functionLinenumber: 12
    functionLinenumberEnd: 36
    functionName: test_certificate_struct
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/certificate_test.rs
    functionUses: 0
    functionsReached:
    - testlib::create_spdm_context
    - SpdmCertificateResponsePayload::spdm_read
    - Writer::init
    - LittleEndian::write_u16
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_certificate_struct()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testlib::create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/certificate_test.rs:40,1
    - Dst: LittleEndian::write_u16
      Src: /src/spdm-rs/spdmlib/src/message/certificate_test.rs:47,1
    - Dst: LittleEndian::write_u16
      Src: /src/spdm-rs/spdmlib/src/message/certificate_test.rs:48,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/certificate_test.rs:50,1
    - Dst: SpdmCertificateResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/certificate_test.rs:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 39
    functionDepth: 10
    functionLinenumber: 39
    functionLinenumberEnd: 53
    functionName: test_certificate_struct_negative
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/certificate_test.rs
    functionUses: 0
    functionsReached:
    - Reader::init
    - testlib::create_spdm_context
    - LittleEndian::write_u16
    - SpdmCertificateResponsePayload::spdm_read
    linkageType: ''
    returnType: void
    signature: fn test_certificate_struct_negative()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:32,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:32,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:36,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:36,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:37,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:37,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:42,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:42,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:47,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:47,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:52,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:52,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:58,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:58,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:64,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:64,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:66,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:66,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:72,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:72,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:74,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:74,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:75,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:75,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:77,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 105
    argCount: 2
    argNames:
    - _context
    - bytes
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 78
      start: 26
    functionDepth: 8
    functionLinenumber: 26
    functionLinenumberEnd: 78
    functionName: SpdmPskExchangeRequestPayload::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs
    functionUses: 0
    functionsReached:
    - take
    - map_err
    - iter
    - Result::map_err
    - Vec::encode
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,_context: &mut common::SpdmContext,bytes: &mut
      Writer,) -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmMeasurementSummaryHashType::read
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:84,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:89,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:93,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:103,1
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:104,1
    - Dst: SpdmPskHintStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:106,1
    - Dst: SpdmPskContextStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:107,1
    - Dst: SpdmOpaqueStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:108,1
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:110,1
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:114,1
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:118,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:123,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:123,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:124,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:126,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:126,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:131,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:133,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:133,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:134,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:137,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 108
    argCount: 2
    argNames:
    - context
    - r
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 144
      start: 80
    functionDepth: 10
    functionLinenumber: 80
    functionLinenumberEnd: 144
    functionName: SpdmPskExchangeRequestPayload::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs
    functionUses: 4
    functionsReached:
    - take
    - iter_mut
    - u8::read
    - SpdmMeasurementSummaryHashType::read
    - contains
    - u16::read
    - SpdmOpaqueStruct::default
    - SpdmPskHintStruct::default
    - SpdmPskContextStruct::default
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(context: &mut common::SpdmContext,r: &mut Reader,) ->
      Option<SpdmPskExchangeRequestPayload>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:164,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:164,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:168,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:168,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:169,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:169,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:173,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:173,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:175,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:180,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:180,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:182,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:182,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:188,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:188,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:195,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:198,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:198,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:204,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:204,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:207,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:207,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:208,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:208,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:210,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:211,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 115
    argCount: 2
    argNames:
    - context
    - bytes
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 212
      start: 158
    functionDepth: 8
    functionLinenumber: 158
    functionLinenumberEnd: 212
    functionName: SpdmPskExchangeResponsePayload::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs
    functionUses: 0
    functionsReached:
    - take
    - spdm_encode
    - map_err
    - iter
    - contains
    - Result::map_err
    - Vec::encode
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,context: &mut common::SpdmContext,bytes: &mut
      Writer,) -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:218,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:219,1
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:221,1
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:222,1
    - Dst: SpdmPskContextStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:224,1
    - Dst: SpdmOpaqueStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:225,1
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:227,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:228,1
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:241,1
    - Dst: SpdmDigestStruct::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:247,1
    - Dst: SpdmDigestStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:249,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:252,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:252,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:257,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:259,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:259,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:260,1
    - Dst: SpdmDigestStruct::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:262,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:264,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 94
    argCount: 2
    argNames:
    - context
    - r
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 272
      start: 214
    functionDepth: 9
    functionLinenumber: 214
    functionLinenumberEnd: 272
    functionName: SpdmPskExchangeResponsePayload::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs
    functionUses: 4
    functionsReached:
    - take
    - iter_mut
    - u8::read
    - contains
    - u16::read
    - SpdmOpaqueStruct::default
    - SpdmDigestStruct::spdm_read
    - SpdmPskContextStruct::default
    - SpdmDigestStruct::default
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(context: &mut common::SpdmContext,r: &mut Reader,) ->
      Option<SpdmPskExchangeResponsePayload>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:295,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:314,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:317,1
    - Dst: SpdmPskExchangeRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:323,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:323,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 351
      start: 290
    functionDepth: 11
    functionLinenumber: 290
    functionLinenumberEnd: 351
    functionName: tests::test_case0_spdm_psk_exchange_request_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - Option::unwrap
    - Writer::init
    - SpdmPskExchangeRequestPayload::spdm_read
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_psk_exchange_request_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:355,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:374,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:377,1
    - Dst: SpdmPskExchangeRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:380,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:380,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 399
      start: 353
    functionDepth: 11
    functionLinenumber: 353
    functionLinenumberEnd: 399
    functionName: tests::test_case1_spdm_psk_exchange_request_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - Option::unwrap
    - Writer::init
    - SpdmPskExchangeRequestPayload::spdm_read
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_case1_spdm_psk_exchange_request_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:407,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:413,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:425,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:429,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:435,1
    - Dst: SpdmPskExchangeResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:444,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:444,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:482,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:487,1
    - Dst: SpdmPskExchangeResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:493,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:493,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 86
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 500
      start: 401
    functionDepth: 10
    functionLinenumber: 401
    functionLinenumberEnd: 500
    functionName: tests::test_case0_spdm_psk_exchange_response_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - Option::unwrap
    - Box::new
    - Writer::init
    - SpdmPskExchangeResponsePayload::spdm_read
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_psk_exchange_response_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:504,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:510,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:522,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:526,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:534,1
    - Dst: SpdmPskExchangeResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:537,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs:537,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 566
      start: 502
    functionDepth: 10
    functionLinenumber: 502
    functionLinenumberEnd: 566
    functionName: tests::test_case1_spdm_psk_exchange_response_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - Option::unwrap
    - Box::new
    - Writer::init
    - SpdmPskExchangeResponsePayload::spdm_read
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_case1_spdm_psk_exchange_response_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/respond_if_ready.rs:20,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/respond_if_ready.rs:20,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/respond_if_ready.rs:21,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/respond_if_ready.rs:21,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/respond_if_ready.rs:22,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - _context
    - bytes
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 23
      start: 15
    functionDepth: 3
    functionLinenumber: 15
    functionLinenumberEnd: 23
    functionName: SpdmRespondIfReadyRequestPayload::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/respond_if_ready.rs
    functionUses: 0
    functionsReached:
    - map_err
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,_context: &mut common::SpdmContext,bytes: &mut
      Writer,) -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/respond_if_ready.rs:29,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/respond_if_ready.rs:30,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/respond_if_ready.rs:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - _context
    - r
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 9
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: SpdmRespondIfReadyRequestPayload::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/respond_if_ready.rs
    functionUses: 0
    functionsReached:
    - u8::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(_context: &mut common::SpdmContext,r: &mut Reader,) ->
      Option<SpdmRespondIfReadyRequestPayload>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/respond_if_ready.rs:45,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/respond_if_ready.rs:45,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/respond_if_ready.rs:46,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/respond_if_ready.rs:46,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/respond_if_ready.rs:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - _context
    - bytes
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 3
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: SpdmRespondIfReadyRespondPayload::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/respond_if_ready.rs
    functionUses: 0
    functionsReached:
    - map_err
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,_context: &mut common::SpdmContext,bytes: &mut
      Writer,) -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/respond_if_ready.rs:54,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/respond_if_ready.rs:55,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/respond_if_ready.rs:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - _context
    - r
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 9
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: SpdmRespondIfReadyRespondPayload::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/respond_if_ready.rs
    functionUses: 0
    functionsReached:
    - u8::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(_context: &mut common::SpdmContext,r: &mut Reader,) ->
      Option<SpdmRespondIfReadyRespondPayload>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated.rs:23,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated.rs:23,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated.rs:24,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated.rs:24,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated.rs:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - _context
    - bytes
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 26
      start: 17
    functionDepth: 3
    functionLinenumber: 17
    functionLinenumberEnd: 26
    functionName: SpdmGetEncapsulatedRequestPayload::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/encapsulated.rs
    functionUses: 0
    functionsReached:
    - map_err
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,_context: &mut common::SpdmContext,bytes: &mut
      Writer,) -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated.rs:32,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated.rs:33,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated.rs:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - _context
    - r
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 9
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: SpdmGetEncapsulatedRequestPayload::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/encapsulated.rs
    functionUses: 2
    functionsReached:
    - u8::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(_context: &mut common::SpdmContext,r: &mut Reader,) ->
      Option<SpdmGetEncapsulatedRequestPayload>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated.rs:51,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated.rs:51,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated.rs:55,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated.rs:55,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated.rs:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - _context
    - bytes
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 57
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 57
    functionName: SpdmEncapsulatedRequestPayload::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/encapsulated.rs
    functionUses: 0
    functionsReached:
    - map_err
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,_context: &mut common::SpdmContext,bytes: &mut
      Writer,) -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated.rs:63,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated.rs:64,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated.rs:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - _context
    - r
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 9
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: SpdmEncapsulatedRequestPayload::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/encapsulated.rs
    functionUses: 3
    functionsReached:
    - u8::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(_context: &mut common::SpdmContext,r: &mut Reader,) ->
      Option<SpdmEncapsulatedRequestPayload>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated.rs:82,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated.rs:82,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated.rs:86,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated.rs:86,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated.rs:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - _context
    - bytes
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 88
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 88
    functionName: SpdmDeliverEncapsulatedResponsePayload::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/encapsulated.rs
    functionUses: 0
    functionsReached:
    - map_err
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,_context: &mut common::SpdmContext,bytes: &mut
      Writer,) -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated.rs:94,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated.rs:95,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated.rs:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - _context
    - r
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 98
      start: 90
    functionDepth: 9
    functionLinenumber: 90
    functionLinenumberEnd: 98
    functionName: SpdmDeliverEncapsulatedResponsePayload::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/encapsulated.rs
    functionUses: 4
    functionsReached:
    - u8::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(_context: &mut common::SpdmContext,r: &mut Reader,) ->
      Option<SpdmDeliverEncapsulatedResponsePayload>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated.rs:115,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated.rs:115,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated.rs:119,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated.rs:119,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated.rs:125,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated.rs:125,1
    - Dst: u24::new
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated.rs:129,1
    - Dst: u24::encode
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated.rs:129,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated.rs:129,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated.rs:134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 2
    argNames:
    - context
    - bytes
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 135
      start: 109
    functionDepth: 3
    functionLinenumber: 109
    functionLinenumberEnd: 135
    functionName: SpdmEncapsulatedResponseAckPayload::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/encapsulated.rs
    functionUses: 0
    functionsReached:
    - map_err
    - encode
    - Result::map_err
    - u24::encode
    - Ok
    - u24::new
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,context: &mut common::SpdmContext,bytes: &mut
      Writer,) -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated.rs:141,1
    - Dst: SpdmEncapsulatedResponseAckPayloadType::read
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated.rs:142,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated.rs:146,1
    - Dst: u24::read
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated.rs:147,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated.rs:150,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - context
    - r
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 155
      start: 137
    functionDepth: 9
    functionLinenumber: 137
    functionLinenumberEnd: 155
    functionName: SpdmEncapsulatedResponseAckPayload::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/encapsulated.rs
    functionUses: 5
    functionsReached:
    - SpdmEncapsulatedResponseAckPayloadType::read
    - u8::read
    - u24::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(context: &mut common::SpdmContext,r: &mut Reader,) ->
      Option<SpdmEncapsulatedResponseAckPayload>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 171
    functionName: SpdmEncapsulatedResponseAckPayloadType::default
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/encapsulated.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SpdmEncapsulatedResponseAckPayloadType
    signature: fn default() -> SpdmEncapsulatedResponseAckPayloadType
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testlib::create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange_test.rs:16,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange_test.rs:24,1
    - Dst: LittleEndian::write_u16
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange_test.rs:26,1
    - Dst: LittleEndian::write_u16
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange_test.rs:27,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange_test.rs:31,1
    - Dst: SpdmKeyExchangeRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange_test.rs:32,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange_test.rs:39,1
    - Dst: LittleEndian::write_u16
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange_test.rs:41,1
    - Dst: LittleEndian::write_u16
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange_test.rs:42,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange_test.rs:46,1
    - Dst: SpdmKeyExchangeRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange_test.rs:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 15
    functionDepth: 11
    functionLinenumber: 15
    functionLinenumberEnd: 50
    functionName: test_key_exchange_req_struct
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/key_exchange_test.rs
    functionUses: 0
    functionsReached:
    - testlib::create_spdm_context
    - get_u8
    - LittleEndian::write_u16
    - Reader::init
    - SpdmKeyExchangeRequestPayload::spdm_read
    linkageType: ''
    returnType: void
    signature: fn test_key_exchange_req_struct()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testlib::create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange_test.rs:54,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange_test.rs:63,1
    - Dst: LittleEndian::write_u16
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange_test.rs:65,1
    - Dst: LittleEndian::write_u16
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange_test.rs:66,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange_test.rs:70,1
    - Dst: SpdmKeyExchangeRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange_test.rs:71,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange_test.rs:78,1
    - Dst: LittleEndian::write_u16
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange_test.rs:80,1
    - Dst: LittleEndian::write_u16
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange_test.rs:81,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange_test.rs:85,1
    - Dst: SpdmKeyExchangeRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange_test.rs:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 85
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 53
    functionDepth: 11
    functionLinenumber: 53
    functionLinenumberEnd: 88
    functionName: test_key_exchange_req_struct_extend
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/key_exchange_test.rs
    functionUses: 0
    functionsReached:
    - testlib::create_spdm_context
    - get_u8
    - LittleEndian::write_u16
    - Reader::init
    - SpdmKeyExchangeRequestPayload::spdm_read
    linkageType: ''
    returnType: void
    signature: fn test_key_exchange_req_struct_extend()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testlib::create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange_test.rs:92,1
    - Dst: LittleEndian::write_u16
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange_test.rs:104,1
    - Dst: LittleEndian::write_u16
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange_test.rs:110,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange_test.rs:115,1
    - Dst: SpdmKeyExchangeResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange_test.rs:116,1
    - Dst: LittleEndian::write_u16
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange_test.rs:124,1
    - Dst: LittleEndian::write_u16
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange_test.rs:130,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange_test.rs:135,1
    - Dst: SpdmKeyExchangeResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange_test.rs:136,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange_test.rs:142,1
    - Dst: SpdmKeyExchangeResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange_test.rs:143,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange_test.rs:147,1
    - Dst: SpdmKeyExchangeResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange_test.rs:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 111
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 91
    functionDepth: 10
    functionLinenumber: 91
    functionLinenumberEnd: 150
    functionName: test_key_exchange_rsp_struct
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/key_exchange_test.rs
    functionUses: 0
    functionsReached:
    - Reader::init
    - testlib::create_spdm_context
    - LittleEndian::write_u16
    - SpdmKeyExchangeResponsePayload::spdm_read
    linkageType: ''
    returnType: void
    signature: fn test_key_exchange_rsp_struct()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testlib::create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange_test.rs:154,1
    - Dst: LittleEndian::write_u16
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange_test.rs:167,1
    - Dst: LittleEndian::write_u16
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange_test.rs:173,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange_test.rs:178,1
    - Dst: SpdmKeyExchangeResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange_test.rs:179,1
    - Dst: LittleEndian::write_u16
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange_test.rs:188,1
    - Dst: LittleEndian::write_u16
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange_test.rs:194,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange_test.rs:199,1
    - Dst: SpdmKeyExchangeResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/key_exchange_test.rs:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 96
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 153
    functionDepth: 10
    functionLinenumber: 153
    functionLinenumberEnd: 203
    functionName: test_key_exchange_rsp_struct_extend
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/key_exchange_test.rs
    functionUses: 0
    functionsReached:
    - Reader::init
    - testlib::create_spdm_context
    - LittleEndian::write_u16
    - SpdmKeyExchangeResponsePayload::spdm_read
    linkageType: ''
    returnType: void
    signature: fn test_key_exchange_rsp_struct_extend()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:26,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:26,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:27,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:27,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - _context
    - bytes
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 29
      start: 20
    functionDepth: 3
    functionLinenumber: 20
    functionLinenumberEnd: 29
    functionName: SpdmGetDigestsRequestPayload::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/digest.rs
    functionUses: 0
    functionsReached:
    - map_err
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,_context: &mut common::SpdmContext,bytes: &mut
      Writer,) -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:35,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:36,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - _context
    - r
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 9
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: SpdmGetDigestsRequestPayload::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/digest.rs
    functionUses: 6
    functionsReached:
    - u8::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(_context: &mut common::SpdmContext,r: &mut Reader,) ->
      Option<SpdmGetDigestsRequestPayload>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:61,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:61,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:66,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:66,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:69,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:69,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:81,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:81,1
    - Dst: Digest::spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:82,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:88,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:88,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:89,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:89,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:93,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:93,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:94,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:94,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:98,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:98,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:99,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:99,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:104,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 108
    argCount: 2
    argNames:
    - context
    - bytes
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 105
      start: 53
    functionDepth: 8
    functionLinenumber: 53
    functionLinenumberEnd: 105
    functionName: SpdmDigestsResponsePayload::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/digest.rs
    functionUses: 0
    functionsReached:
    - take
    - map_err
    - Digest::spdm_encode
    - iter
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,context: &mut common::SpdmContext,bytes: &mut
      Writer,) -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:113,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:115,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:118,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:127,1
    - Dst: SpdmDigestStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:127,1
    - Dst: '[T; N]::iter_mut'
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:128,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:128,1
    - Dst: SpdmDigestStruct::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:129,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:132,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:133,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:137,1
    - Dst: SpdmKeyUsageMask::empty
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:137,1
    - Dst: '[T; N]::iter_mut'
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:141,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:141,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:142,1
    - Dst: '[T; N]::iter_mut'
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:144,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:144,1
    - Dst: SpdmCertificateModelType::read
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:145,1
    - Dst: '[T; N]::iter_mut'
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:147,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:147,1
    - Dst: SpdmKeyUsageMask::read
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:148,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:152,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 87
    argCount: 2
    argNames:
    - context
    - r
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 160
      start: 107
    functionDepth: 9
    functionLinenumber: 107
    functionLinenumberEnd: 160
    functionName: SpdmDigestsResponsePayload::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/digest.rs
    functionUses: 11
    functionsReached:
    - take
    - '[T; N]::iter_mut'
    - SpdmKeyUsageMask::read
    - u8::read
    - SpdmKeyUsageMask::empty
    - SpdmDigestStruct::spdm_read
    - gen_array_clone
    - SpdmCertificateModelType::read
    - SpdmDigestStruct::default
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(context: &mut common::SpdmContext,r: &mut Reader,) ->
      Option<SpdmDigestsResponsePayload>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:179,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:183,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:186,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:191,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:192,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:196,1
    - Dst: SpdmKeyUsageMask::empty
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:196,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:204,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:209,1
    - Dst: SpdmDigestsResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:212,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:212,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 177
    functionDepth: 10
    functionLinenumber: 177
    functionLinenumberEnd: 224
    functionName: tests::test_case0_spdm_digests_response_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/digest.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - SpdmKeyUsageMask::empty
    - Option::unwrap
    - Box::new
    - Writer::init
    - SpdmDigestsResponsePayload::spdm_read
    - gen_array_clone
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_digests_response_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:229,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:232,1
    - Dst: SpdmDigestStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:232,1
    - Dst: SpdmDigestsResponsePayload::default
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:233,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:236,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:240,1
    - Dst: SpdmDigestsResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:241,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:241,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:244,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:247,1
    - Dst: SpdmDigestStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:247,1
    - Dst: SpdmDigestsResponsePayload::default
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:248,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 227
    functionDepth: 10
    functionLinenumber: 227
    functionLinenumberEnd: 255
    functionName: tests::test_case1_spdm_digests_response_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/digest.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - Option::unwrap
    - Writer::init
    - SpdmDigestsResponsePayload::spdm_read
    - SpdmDigestsResponsePayload::default
    - gen_array_clone
    - Reader::init
    - SpdmDigestStruct::default
    linkageType: ''
    returnType: void
    signature: fn test_case1_spdm_digests_response_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:259,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:262,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:265,1
    - Dst: SpdmGetDigestsRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/digest.rs:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 257
    functionDepth: 10
    functionLinenumber: 257
    functionLinenumberEnd: 267
    functionName: tests::test_case0_spdm_get_digests_request_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/digest.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - create_spdm_context
    - SpdmGetDigestsRequestPayload::spdm_read
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_get_digests_request_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testlib::create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated_test.rs:12,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated_test.rs:17,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated_test.rs:18,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated_test.rs:18,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated_test.rs:23,1
    - Dst: SpdmGetEncapsulatedRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated_test.rs:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 11
    functionDepth: 10
    functionLinenumber: 11
    functionLinenumberEnd: 26
    functionName: test_get_encapsulated_request_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/encapsulated_test.rs
    functionUses: 0
    functionsReached:
    - spdm_encode
    - testlib::create_spdm_context
    - unwrap
    - SpdmGetEncapsulatedRequestPayload::spdm_read
    - Writer::init
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_get_encapsulated_request_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testlib::create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated_test.rs:30,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated_test.rs:35,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated_test.rs:36,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated_test.rs:36,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated_test.rs:39,1
    - Dst: SpdmEncapsulatedRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated_test.rs:40,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated_test.rs:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 29
    functionDepth: 10
    functionLinenumber: 29
    functionLinenumberEnd: 42
    functionName: test_encapsulated_request_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/encapsulated_test.rs
    functionUses: 0
    functionsReached:
    - spdm_encode
    - testlib::create_spdm_context
    - SpdmEncapsulatedRequestPayload::spdm_read
    - unwrap
    - Option::unwrap
    - Writer::init
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_encapsulated_request_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testlib::create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated_test.rs:46,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated_test.rs:51,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated_test.rs:52,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated_test.rs:52,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated_test.rs:57,1
    - Dst: SpdmDeliverEncapsulatedResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated_test.rs:59,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated_test.rs:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 45
    functionDepth: 10
    functionLinenumber: 45
    functionLinenumberEnd: 61
    functionName: test_deliver_encapsulated_response_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/encapsulated_test.rs
    functionUses: 0
    functionsReached:
    - spdm_encode
    - testlib::create_spdm_context
    - SpdmDeliverEncapsulatedResponsePayload::spdm_read
    - unwrap
    - Option::unwrap
    - Writer::init
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_deliver_encapsulated_response_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testlib::create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated_test.rs:65,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated_test.rs:75,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated_test.rs:76,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated_test.rs:76,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated_test.rs:81,1
    - Dst: SpdmEncapsulatedResponseAckPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated_test.rs:83,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated_test.rs:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 64
    functionDepth: 10
    functionLinenumber: 64
    functionLinenumberEnd: 90
    functionName: test_encapsulated_response_ack_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/encapsulated_test.rs
    functionUses: 0
    functionsReached:
    - spdm_encode
    - testlib::create_spdm_context
    - SpdmEncapsulatedResponseAckPayload::spdm_read
    - unwrap
    - Option::unwrap
    - Writer::init
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_encapsulated_response_ack_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testlib::create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated_test.rs:94,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated_test.rs:104,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated_test.rs:105,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated_test.rs:105,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated_test.rs:110,1
    - Dst: SpdmEncapsulatedResponseAckPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated_test.rs:112,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/encapsulated_test.rs:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 93
    functionDepth: 10
    functionLinenumber: 93
    functionLinenumberEnd: 114
    functionName: test_encapsulated_response_ack_payload_ver11
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/encapsulated_test.rs
    functionUses: 0
    functionsReached:
    - spdm_encode
    - testlib::create_spdm_context
    - SpdmEncapsulatedResponseAckPayload::spdm_read
    - unwrap
    - Option::unwrap
    - Writer::init
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_encapsulated_response_ack_payload_ver11()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmEndSessionRequestAttributes::bits
      Src: /src/spdm-rs/spdmlib/src/message/end_session.rs:20,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/message/end_session.rs:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 4
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: SpdmEndSessionRequestAttributes::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/end_session.rs
    functionUses: 0
    functionsReached:
    - SpdmEndSessionRequestAttributes::bits
    - Vec::encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/end_session.rs:24,1
    - Dst: SpdmEndSessionRequestAttributes::from_bits
      Src: /src/spdm-rs/spdmlib/src/message/end_session.rs:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 29
      start: 23
    functionDepth: 9
    functionLinenumber: 23
    functionLinenumberEnd: 29
    functionName: SpdmEndSessionRequestAttributes::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/end_session.rs
    functionUses: 1
    functionsReached:
    - SpdmEndSessionRequestAttributes::from_bits
    - u8::read
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<SpdmEndSessionRequestAttributes>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/end_session.rs:44,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/end_session.rs:44,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/end_session.rs:48,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/end_session.rs:48,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/end_session.rs:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - _context
    - bytes
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: SpdmEndSessionRequestPayload::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/end_session.rs
    functionUses: 0
    functionsReached:
    - map_err
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,_context: &mut common::SpdmContext,bytes: &mut
      Writer,) -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmEndSessionRequestAttributes::read
      Src: /src/spdm-rs/spdmlib/src/message/end_session.rs:56,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/end_session.rs:57,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/end_session.rs:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - _context
    - r
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 10
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: SpdmEndSessionRequestPayload::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/end_session.rs
    functionUses: 4
    functionsReached:
    - u8::read
    - SpdmEndSessionRequestAttributes::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(_context: &mut common::SpdmContext,r: &mut Reader,) ->
      Option<SpdmEndSessionRequestPayload>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/end_session.rs:74,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/end_session.rs:74,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/end_session.rs:75,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/end_session.rs:75,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/end_session.rs:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - _context
    - bytes
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: SpdmEndSessionResponsePayload::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/end_session.rs
    functionUses: 0
    functionsReached:
    - map_err
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,_context: &mut common::SpdmContext,bytes: &mut
      Writer,) -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/end_session.rs:83,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/end_session.rs:84,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/end_session.rs:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - _context
    - r
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 87
      start: 79
    functionDepth: 9
    functionLinenumber: 79
    functionLinenumberEnd: 87
    functionName: SpdmEndSessionResponsePayload::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/end_session.rs
    functionUses: 4
    functionsReached:
    - u8::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(_context: &mut common::SpdmContext,r: &mut Reader,) ->
      Option<SpdmEndSessionResponsePayload>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/end_session.rs:104,1
    - Dst: SpdmEndSessionRequestAttributes::all
      Src: /src/spdm-rs/spdmlib/src/message/end_session.rs:105,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/end_session.rs:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 114
    functionName: tests::test_case0_spdm_end_session_request_attributes
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/end_session.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Reader::init
    - SpdmEndSessionRequestAttributes::all
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_end_session_request_attributes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/end_session.rs:118,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/end_session.rs:124,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/end_session.rs:127,1
    - Dst: SpdmEndSessionRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/end_session.rs:130,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/end_session.rs:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 116
    functionDepth: 11
    functionLinenumber: 116
    functionLinenumberEnd: 136
    functionName: tests::test_case0_spdm_end_session_request_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/end_session.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - Option::unwrap
    - Writer::init
    - SpdmEndSessionRequestPayload::spdm_read
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_end_session_request_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/end_session.rs:140,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/end_session.rs:143,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/end_session.rs:146,1
    - Dst: SpdmEndSessionResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/end_session.rs:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 138
    functionDepth: 10
    functionLinenumber: 138
    functionLinenumberEnd: 148
    functionName: tests::test_case0_spdm_end_session_response_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/end_session.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - create_spdm_context
    - SpdmEndSessionResponsePayload::spdm_read
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_end_session_response_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testlib::create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/challenge_test.rs:16,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/challenge_test.rs:22,1
    - Dst: SpdmNonceStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/challenge_test.rs:27,1
    - Dst: SpdmChallengeContextStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/challenge_test.rs:28,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/challenge_test.rs:36,1
    - Dst: SpdmNonceStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/challenge_test.rs:41,1
    - Dst: SpdmChallengeContextStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/challenge_test.rs:42,1
    - Dst: LittleEndian::write_u16
      Src: /src/spdm-rs/spdmlib/src/message/challenge_test.rs:57,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/challenge_test.rs:61,1
    - Dst: SpdmChallengeAuthResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/challenge_test.rs:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 15
    functionDepth: 10
    functionLinenumber: 15
    functionLinenumberEnd: 64
    functionName: test_challenge_struct
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/challenge_test.rs
    functionUses: 0
    functionsReached:
    - testlib::create_spdm_context
    - Writer::init
    - LittleEndian::write_u16
    - SpdmNonceStruct::default
    - Reader::init
    - SpdmChallengeContextStruct::default
    - SpdmChallengeAuthResponsePayload::spdm_read
    linkageType: ''
    returnType: void
    signature: fn test_challenge_struct()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testlib::create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/challenge_test.rs:68,1
    - Dst: LittleEndian::write_u16
      Src: /src/spdm-rs/spdmlib/src/message/challenge_test.rs:82,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/challenge_test.rs:86,1
    - Dst: SpdmChallengeAuthResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/challenge_test.rs:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 67
    functionDepth: 10
    functionLinenumber: 67
    functionLinenumberEnd: 90
    functionName: test_challenge_struct_opaque_data_length_negative
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/challenge_test.rs
    functionUses: 0
    functionsReached:
    - Reader::init
    - testlib::create_spdm_context
    - LittleEndian::write_u16
    - SpdmChallengeAuthResponsePayload::spdm_read
    linkageType: ''
    returnType: void
    signature: fn test_challenge_struct_opaque_data_length_negative()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testlib::create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:14,1
    - Dst: LittleEndian::write_u16
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:20,1
    - Dst: bits
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:21,1
    - Dst: LittleEndian::write_u32
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:23,1
    - Dst: bits
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:25,1
    - Dst: LittleEndian::write_u32
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:27,1
    - Dst: bits
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:29,1
    - Dst: LittleEndian::write_u32
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:31,1
    - Dst: bits
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:33,1
    - Dst: set_bits
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:43,1
    - Dst: set_bits
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:44,1
    - Dst: LittleEndian::write_u16
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:45,1
    - Dst: bits
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:45,1
    - Dst: set_bits
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:49,1
    - Dst: set_bits
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:50,1
    - Dst: LittleEndian::write_u16
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:51,1
    - Dst: bits
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:51,1
    - Dst: set_bits
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:55,1
    - Dst: set_bits
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:56,1
    - Dst: LittleEndian::write_u16
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:57,1
    - Dst: bits
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:59,1
    - Dst: set_bits
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:64,1
    - Dst: set_bits
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:65,1
    - Dst: LittleEndian::write_u16
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:66,1
    - Dst: bits
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:68,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:71,1
    - Dst: SpdmAlgorithmsResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:72,1
    - Dst: LittleEndian::write_u16
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:78,1
    - Dst: bits
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:79,1
    - Dst: LittleEndian::write_u32
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:81,1
    - Dst: bits
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:83,1
    - Dst: LittleEndian::write_u32
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:85,1
    - Dst: bits
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:87,1
    - Dst: LittleEndian::write_u32
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:89,1
    - Dst: bits
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:91,1
    - Dst: set_bits
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:101,1
    - Dst: set_bits
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:102,1
    - Dst: LittleEndian::write_u16
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:103,1
    - Dst: bits
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:103,1
    - Dst: set_bits
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:107,1
    - Dst: set_bits
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:108,1
    - Dst: LittleEndian::write_u16
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:109,1
    - Dst: bits
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:109,1
    - Dst: set_bits
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:113,1
    - Dst: set_bits
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:114,1
    - Dst: LittleEndian::write_u16
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:115,1
    - Dst: bits
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:117,1
    - Dst: set_bits
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:122,1
    - Dst: set_bits
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:123,1
    - Dst: LittleEndian::write_u16
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:124,1
    - Dst: bits
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:126,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:129,1
    - Dst: SpdmAlgorithmsResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 271
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 13
    functionDepth: 10
    functionLinenumber: 13
    functionLinenumberEnd: 132
    functionName: test_negotiate_struct
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs
    functionUses: 0
    functionsReached:
    - SpdmAlgorithmsResponsePayload::spdm_read
    - testlib::create_spdm_context
    - LittleEndian::write_u32
    - set_bits
    - bits
    - LittleEndian::write_u16
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_negotiate_struct()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testlib::create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:136,1
    - Dst: LittleEndian::write_u16
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:140,1
    - Dst: bits
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:141,1
    - Dst: LittleEndian::write_u32
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:143,1
    - Dst: bits
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:145,1
    - Dst: LittleEndian::write_u32
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:147,1
    - Dst: bits
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:149,1
    - Dst: LittleEndian::write_u32
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:151,1
    - Dst: bits
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:153,1
    - Dst: set_bits
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:163,1
    - Dst: set_bits
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:164,1
    - Dst: LittleEndian::write_u16
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:165,1
    - Dst: bits
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:165,1
    - Dst: set_bits
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:169,1
    - Dst: set_bits
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:170,1
    - Dst: LittleEndian::write_u16
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:171,1
    - Dst: bits
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:171,1
    - Dst: set_bits
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:175,1
    - Dst: set_bits
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:176,1
    - Dst: LittleEndian::write_u16
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:177,1
    - Dst: bits
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:179,1
    - Dst: set_bits
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:184,1
    - Dst: set_bits
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:185,1
    - Dst: LittleEndian::write_u16
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:186,1
    - Dst: bits
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:188,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:191,1
    - Dst: SpdmAlgorithmsResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 134
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 135
    functionDepth: 10
    functionLinenumber: 135
    functionLinenumberEnd: 194
    functionName: test_negotiate_struct_response_negative_ext_alg_count_2
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs
    functionUses: 0
    functionsReached:
    - SpdmAlgorithmsResponsePayload::spdm_read
    - testlib::create_spdm_context
    - LittleEndian::write_u32
    - set_bits
    - bits
    - LittleEndian::write_u16
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_negotiate_struct_response_negative_ext_alg_count_2()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/psk_finish.rs:26,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/psk_finish.rs:26,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/psk_finish.rs:27,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/psk_finish.rs:27,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/psk_finish.rs:29,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/psk_finish.rs:31,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/psk_finish.rs:32,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 2
    argNames:
    - context
    - bytes
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 33
      start: 20
    functionDepth: 3
    functionLinenumber: 20
    functionLinenumberEnd: 33
    functionName: SpdmPskFinishRequestPayload::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/psk_finish.rs
    functionUses: 0
    functionsReached:
    - map_err
    - spdm_encode
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,context: &mut common::SpdmContext,bytes: &mut
      Writer,) -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/psk_finish.rs:39,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/psk_finish.rs:40,1
    - Dst: SpdmOpaqueStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/psk_finish.rs:41,1
    - Dst: SpdmOpaqueStruct::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/psk_finish.rs:43,1
    - Dst: SpdmDigestStruct::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/psk_finish.rs:45,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/psk_finish.rs:47,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - context
    - r
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 51
      start: 35
    functionDepth: 9
    functionLinenumber: 35
    functionLinenumberEnd: 51
    functionName: SpdmPskFinishRequestPayload::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/psk_finish.rs
    functionUses: 3
    functionsReached:
    - u8::read
    - SpdmOpaqueStruct::default
    - SpdmDigestStruct::spdm_read
    - SpdmOpaqueStruct::spdm_read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(context: &mut common::SpdmContext,r: &mut Reader,) ->
      Option<SpdmPskFinishRequestPayload>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/psk_finish.rs:66,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/psk_finish.rs:66,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/psk_finish.rs:67,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/psk_finish.rs:67,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/psk_finish.rs:69,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/psk_finish.rs:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - context
    - bytes
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 72
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 72
    functionName: SpdmPskFinishResponsePayload::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/psk_finish.rs
    functionUses: 0
    functionsReached:
    - map_err
    - spdm_encode
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,context: &mut common::SpdmContext,bytes: &mut
      Writer,) -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/psk_finish.rs:78,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/psk_finish.rs:79,1
    - Dst: SpdmOpaqueStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/psk_finish.rs:80,1
    - Dst: SpdmOpaqueStruct::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/psk_finish.rs:82,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/psk_finish.rs:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - context
    - r
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 86
      start: 74
    functionDepth: 9
    functionLinenumber: 74
    functionLinenumberEnd: 86
    functionName: SpdmPskFinishResponsePayload::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/psk_finish.rs
    functionUses: 3
    functionsReached:
    - SpdmOpaqueStruct::default
    - u8::read
    - SpdmOpaqueStruct::spdm_read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(context: &mut common::SpdmContext,r: &mut Reader,) ->
      Option<SpdmPskFinishResponsePayload>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/psk_finish.rs:105,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/message/psk_finish.rs:109,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/psk_finish.rs:117,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/psk_finish.rs:122,1
    - Dst: SpdmPskFinishRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/psk_finish.rs:125,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/psk_finish.rs:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 103
    functionDepth: 10
    functionLinenumber: 103
    functionLinenumberEnd: 135
    functionName: tests::test_case0_spdm_psk_finish_request_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/psk_finish.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - SpdmPskFinishRequestPayload::spdm_read
    - Option::unwrap
    - Box::new
    - Writer::init
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_psk_finish_request_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/psk_finish.rs:139,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/psk_finish.rs:147,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/psk_finish.rs:150,1
    - Dst: SpdmPskFinishResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/psk_finish.rs:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 137
    functionDepth: 10
    functionLinenumber: 137
    functionLinenumberEnd: 152
    functionName: tests::test_case0_spdm_psk_finish_response_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/psk_finish.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - create_spdm_context
    - SpdmPskFinishResponsePayload::spdm_read
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_psk_finish_response_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testlib::create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send_test.rs:13,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send_test.rs:18,1
    - Dst: SpdmChunkSenderAttributes::default
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send_test.rs:29,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send_test.rs:33,1
    - Dst: LittleEndian::write_u32
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send_test.rs:41,1
    - Dst: LittleEndian::write_u32
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send_test.rs:43,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send_test.rs:54,1
    - Dst: SpdmChunkSendRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send_test.rs:55,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send_test.rs:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 12
    functionDepth: 11
    functionLinenumber: 12
    functionLinenumberEnd: 64
    functionName: test_chunk_send_struct
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/chunk_send_test.rs
    functionUses: 0
    functionsReached:
    - testlib::create_spdm_context
    - LittleEndian::write_u32
    - Option::unwrap
    - Writer::init
    - SpdmChunkSendRequestPayload::spdm_read
    - Reader::init
    - SpdmChunkSenderAttributes::default
    - Some
    linkageType: ''
    returnType: void
    signature: fn test_chunk_send_struct()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testlib::create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send_test.rs:68,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send_test.rs:73,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send_test.rs:76,1
    - Dst: SpdmChunkReceiverAttributes::default
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send_test.rs:79,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send_test.rs:92,1
    - Dst: SpdmChunkSendAckResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send_test.rs:93,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/chunk_send_test.rs:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 67
    functionDepth: 11
    functionLinenumber: 67
    functionLinenumberEnd: 104
    functionName: test_chunk_send_ack_struct
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/chunk_send_test.rs
    functionUses: 0
    functionsReached:
    - testlib::create_spdm_context
    - SpdmChunkSendAckResponsePayload::spdm_read
    - Option::unwrap
    - Writer::init
    - SpdmChunkReceiverAttributes::default
    - copy_from_slice
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_chunk_send_ack_struct()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmMeasurementAttributes::bits
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:37,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 4
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: SpdmMeasurementAttributes::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/measurement.rs
    functionUses: 0
    functionsReached:
    - SpdmMeasurementAttributes::bits
    - Vec::encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:41,1
    - Dst: SpdmMeasurementAttributes::from_bits
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 9
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: SpdmMeasurementAttributes::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/measurement.rs
    functionUses: 1
    functionsReached:
    - SpdmMeasurementAttributes::from_bits
    - u8::read
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<SpdmMeasurementAttributes>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: SpdmMeasurementOperation::default
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/measurement.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SpdmMeasurementOperation
    signature: fn default() -> SpdmMeasurementOperation
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:78,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:78,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:82,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:82,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:86,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:90,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:90,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:95,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:95,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:102,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:102,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:107,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 56
    argCount: 2
    argNames:
    - context
    - bytes
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 108
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 108
    functionName: SpdmGetMeasurementsRequestPayload::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/measurement.rs
    functionUses: 0
    functionsReached:
    - map_err
    - Ok
    - contains
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,context: &mut common::SpdmContext,bytes: &mut
      Writer,) -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmMeasurementAttributes::read
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:114,1
    - Dst: SpdmMeasurementOperation::read
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:115,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:117,1
    - Dst: SpdmNonceStruct::read
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:118,1
    - Dst: SpdmNonceStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:120,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:123,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:125,1
    - Dst: SpdmMeasurementContextStruct::read
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:138,1
    - Dst: SpdmMeasurementContextStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:140,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:143,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 2
    argNames:
    - context
    - r
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 150
      start: 110
    functionDepth: 10
    functionLinenumber: 110
    functionLinenumberEnd: 150
    functionName: SpdmGetMeasurementsRequestPayload::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/measurement.rs
    functionUses: 7
    functionsReached:
    - SpdmNonceStruct::read
    - u8::read
    - contains
    - SpdmMeasurementContextStruct::default
    - SpdmMeasurementContextStruct::read
    - SpdmNonceStruct::default
    - SpdmMeasurementAttributes::read
    - SpdmMeasurementOperation::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(context: &mut common::SpdmContext,r: &mut Reader,) ->
      Option<SpdmGetMeasurementsRequestPayload>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:177,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:177,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:182,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:182,1
    - Dst: u8::from
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:187,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:188,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:188,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:194,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:194,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:199,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:199,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:201,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:202,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:202,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:206,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:208,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:208,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:214,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:216,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 102
    argCount: 2
    argNames:
    - context
    - bytes
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 217
      start: 167
    functionDepth: 3
    functionLinenumber: 167
    functionLinenumberEnd: 217
    functionName: SpdmMeasurementsResponsePayload::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/measurement.rs
    functionUses: 0
    functionsReached:
    - spdm_encode
    - map_err
    - u8::from
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,context: &mut common::SpdmContext,bytes: &mut
      Writer,) -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:223,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:224,1
    - Dst: SpdmMeasurementContentChanged::try_from
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:231,1
    - Dst: Result::ok
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:231,1
    - Dst: SpdmMeasurementRecordStructure::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:232,1
    - Dst: SpdmNonceStruct::read
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:233,1
    - Dst: SpdmOpaqueStruct::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:234,1
    - Dst: SpdmMeasurementContextStruct::read
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:237,1
    - Dst: SpdmMeasurementContextStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:239,1
    - Dst: SpdmSignatureStruct::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:242,1
    - Dst: SpdmSignatureStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:244,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:246,1
    - Dst: SpdmMeasurementOperation::Unknown
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:255,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 2
    argNames:
    - context
    - r
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 257
      start: 219
    functionDepth: 9
    functionLinenumber: 219
    functionLinenumberEnd: 257
    functionName: SpdmMeasurementsResponsePayload::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/measurement.rs
    functionUses: 4
    functionsReached:
    - SpdmSignatureStruct::spdm_read
    - Result::ok
    - SpdmNonceStruct::read
    - u8::read
    - SpdmMeasurementContextStruct::default
    - SpdmMeasurementRecordStructure::spdm_read
    - SpdmMeasurementContextStruct::read
    - SpdmSignatureStruct::default
    - SpdmMeasurementOperation::Unknown
    - SpdmMeasurementContentChanged::try_from
    - SpdmOpaqueStruct::spdm_read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(context: &mut common::SpdmContext,r: &mut Reader,) ->
      Option<SpdmMeasurementsResponsePayload>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:278,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 289
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 289
    functionName: tests::test_case0_spdm_spdm_measuremente_attributes
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/measurement.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_spdm_measuremente_attributes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:293,1
    - Dst: SpdmMeasurementContextStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:301,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:304,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:308,1
    - Dst: SpdmGetMeasurementsRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:311,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 325
      start: 291
    functionDepth: 11
    functionLinenumber: 291
    functionLinenumberEnd: 325
    functionName: tests::test_case0_spdm_get_measurements_request_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/measurement.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - Option::unwrap
    - SpdmMeasurementContextStruct::default
    - Writer::init
    - SpdmGetMeasurementsRequestPayload::spdm_read
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_get_measurements_request_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:329,1
    - Dst: SpdmMeasurementAttributes::empty
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:331,1
    - Dst: SpdmMeasurementContextStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:337,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:340,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:344,1
    - Dst: SpdmGetMeasurementsRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:347,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 361
      start: 327
    functionDepth: 11
    functionLinenumber: 327
    functionLinenumberEnd: 361
    functionName: tests::test_case1_spdm_get_measurements_request_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/measurement.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - Option::unwrap
    - SpdmMeasurementContextStruct::default
    - Writer::init
    - SpdmGetMeasurementsRequestPayload::spdm_read
    - Reader::init
    - SpdmMeasurementAttributes::empty
    linkageType: ''
    returnType: void
    signature: fn test_case1_spdm_get_measurements_request_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:366,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:379,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:383,1
    - Dst: SpdmGetMeasurementsRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:389,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 406
      start: 364
    functionDepth: 11
    functionLinenumber: 364
    functionLinenumberEnd: 406
    functionName: tests::test_case2_spdm_get_measurements_request_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/measurement.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - Option::unwrap
    - Writer::init
    - SpdmGetMeasurementsRequestPayload::spdm_read
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_case2_spdm_get_measurements_request_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:410,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:418,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:431,1
    - Dst: u24::new
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:444,1
    - Dst: Writer::used
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:444,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:471,1
    - Dst: SpdmMeasurementsResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:482,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:482,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:517,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:521,1
    - Dst: SpdmMeasurementsResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:527,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/measurement.rs:527,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 128
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 538
      start: 409
    functionDepth: 10
    functionLinenumber: 409
    functionLinenumberEnd: 538
    functionName: tests::test_case0_spdm_measurements_response_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/measurement.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - Writer::used
    - SpdmMeasurementsResponsePayload::spdm_read
    - Option::unwrap
    - Writer::init
    - Reader::init
    - u24::new
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_measurements_response_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 572
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 572
    functionName: tests::test_case0_spdm_measurement_content_changed
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/measurement.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_measurement_content_changed()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:38,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:38,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:42,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:42,1
    - Dst: Option::encode
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:47,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:47,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:49,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:49,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:53,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:53,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:57,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:57,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:61,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:61,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:67,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:67,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:73,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:73,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:78,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:78,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:81,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:81,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:82,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:82,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:83,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:83,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:84,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:84,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:89,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:89,1
    - Dst: Option::encode
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:90,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:90,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:92,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 139
    argCount: 2
    argNames:
    - context
    - bytes
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 93
      start: 32
    functionDepth: 8
    functionLinenumber: 32
    functionLinenumberEnd: 93
    functionName: SpdmSupportedAlgorithmsBlock::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/capability.rs
    functionUses: 2
    functionsReached:
    - take
    - map_err
    - iter
    - Result::map_err
    - Option::encode
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,context: &mut common::SpdmContext,bytes: &mut
      Writer,) -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:99,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:103,1
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:104,1
    - Dst: SpdmMeasurementSpecification::read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:106,1
    - Dst: SpdmAlgoOtherParams::read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:107,1
    - Dst: SpdmBaseAsymAlgo::read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:108,1
    - Dst: SpdmBaseHashAlgo::read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:109,1
    - Dst: SpdmPqcAsymAlgo::read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:113,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:116,1
    - Dst: SpdmPqcAsymAlgo::default
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:118,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:122,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:125,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:129,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:133,1
    - Dst: SpdmMelSpecification::read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:134,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:137,1
    - Dst: SpdmAlgStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:137,1
    - Dst: SpdmAlgType::Unknown
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:138,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:139,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:139,1
    - Dst: SpdmAlgStruct::read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:140,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:142,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:142,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:156,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 99
    argCount: 2
    argNames:
    - context
    - r
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 166
      start: 95
    functionDepth: 9
    functionLinenumber: 95
    functionLinenumberEnd: 166
    functionName: SpdmSupportedAlgorithmsBlock::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/capability.rs
    functionUses: 1
    functionsReached:
    - take
    - SpdmAlgStruct::read
    - SpdmAlgStruct::default
    - get_u8
    - SpdmMelSpecification::read
    - SpdmAlgType::Unknown
    - u8::read
    - SpdmPqcAsymAlgo::read
    - iter_mut
    - SpdmAlgoOtherParams::read
    - u16::read
    - SpdmPqcAsymAlgo::default
    - gen_array_clone
    - SpdmMeasurementSpecification::read
    - SpdmBaseHashAlgo::read
    - SpdmBaseAsymAlgo::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(context: &mut common::SpdmContext,r: &mut Reader,) ->
      Option<SpdmSupportedAlgorithmsBlock>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:175,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:176,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:177,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:178,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:179,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:180,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:181,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:182,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:182,1
    - Dst: Option::encode
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:183,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:185,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 1
    argNames:
    - writer
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 186
      start: 173
    functionDepth: 8
    functionLinenumber: 173
    functionLinenumberEnd: 186
    functionName: SpdmSupportedAlgorithmsBlock::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/capability.rs
    functionUses: 0
    functionsReached:
    - take
    - iter
    - Option::encode
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, writer: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmMeasurementSpecification::read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:189,1
    - Dst: SpdmAlgoOtherParams::read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:190,1
    - Dst: SpdmBaseAsymAlgo::read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:191,1
    - Dst: SpdmBaseHashAlgo::read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:192,1
    - Dst: SpdmPqcAsymAlgo::read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:193,1
    - Dst: SpdmMelSpecification::read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:194,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:195,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:200,1
    - Dst: SpdmAlgStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:200,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:201,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:201,1
    - Dst: SpdmAlgStruct::read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:202,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:204,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 1
    argNames:
    - reader
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 214
      start: 188
    functionDepth: 10
    functionLinenumber: 188
    functionLinenumberEnd: 214
    functionName: SpdmSupportedAlgorithmsBlock::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/capability.rs
    functionUses: 1
    functionsReached:
    - take
    - SpdmAlgStruct::read
    - SpdmAlgStruct::default
    - SpdmMelSpecification::read
    - iter_mut
    - u8::read
    - SpdmPqcAsymAlgo::read
    - SpdmAlgoOtherParams::read
    - gen_array_clone
    - SpdmMeasurementSpecification::read
    - SpdmBaseHashAlgo::read
    - SpdmBaseAsymAlgo::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(reader: &mut Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCapabilityParam1::empty
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:238,1
    - Dst: bool::insert
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:242,1
    - Dst: bool::encode
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:244,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:244,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:245,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:245,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:248,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:248,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:249,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:249,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:254,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:254,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:259,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:259,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:262,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:262,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:269,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:269,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:273,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:273,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:278,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 95
    argCount: 2
    argNames:
    - context
    - bytes
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 279
      start: 232
    functionDepth: 3
    functionLinenumber: 232
    functionLinenumberEnd: 279
    functionName: SpdmGetCapabilitiesRequestPayload::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/capability.rs
    functionUses: 0
    functionsReached:
    - Ok
    - map_err
    - SpdmCapabilityParam1::empty
    - Result::map_err
    - bool::encode
    - bool::insert
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,context: &mut common::SpdmContext,bytes: &mut
      Writer,) -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCapabilityParam1::read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:287,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:289,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:291,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:293,1
    - Dst: SpdmRequestCapabilityFlags::default
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:296,1
    - Dst: SpdmRequestCapabilityExFlags::default
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:297,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:299,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:300,1
    - Dst: SpdmRequestCapabilityExFlags::read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:302,1
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:304,1
    - Dst: SpdmRequestCapabilityFlags::read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:306,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:309,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:312,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:313,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:315,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:319,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:320,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:321,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:322,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:323,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:328,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:333,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:334,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:335,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:339,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:340,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:342,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:343,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:347,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:348,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:353,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:354,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:359,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:366,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:367,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:373,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:374,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:378,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:379,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:383,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:384,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:385,1
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:395,1
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:396,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:405,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 227
    argCount: 2
    argNames:
    - context
    - r
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 413
      start: 281
    functionDepth: 10
    functionLinenumber: 281
    functionLinenumberEnd: 413
    functionName: SpdmGetCapabilitiesRequestPayload::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/capability.rs
    functionUses: 7
    functionsReached:
    - SpdmCapabilityParam1::read
    - SpdmRequestCapabilityExFlags::read
    - u32::read
    - u8::read
    - contains
    - SpdmRequestCapabilityExFlags::default
    - u16::read
    - SpdmRequestCapabilityFlags::read
    - SpdmRequestCapabilityFlags::default
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(context: &mut common::SpdmContext,r: &mut Reader,) ->
      Option<SpdmGetCapabilitiesRequestPayload>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCapabilityParam1::empty
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:436,1
    - Dst: is_some
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:438,1
    - Dst: bool::insert
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:440,1
    - Dst: bool::encode
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:442,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:442,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:443,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:443,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:445,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:445,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:446,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:446,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:451,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:451,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:456,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:456,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:458,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:458,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:464,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:464,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:468,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:468,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:476,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:480,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 105
    argCount: 2
    argNames:
    - context
    - bytes
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 481
      start: 430
    functionDepth: 3
    functionLinenumber: 430
    functionLinenumberEnd: 481
    functionName: SpdmCapabilitiesResponsePayload::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/capability.rs
    functionUses: 0
    functionsReached:
    - spdm_encode
    - Ok
    - map_err
    - is_some
    - SpdmCapabilityParam1::empty
    - Result::map_err
    - bool::encode
    - bool::insert
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,context: &mut common::SpdmContext,bytes: &mut
      Writer,) -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCapabilityParam1::read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:488,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:490,1
    - Dst: SpdmCapabilityParam1::empty
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:491,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:493,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:495,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:496,1
    - Dst: SpdmResponseCapabilityExFlags::default
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:497,1
    - Dst: SpdmResponseCapabilityExFlags::read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:499,1
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:501,1
    - Dst: SpdmResponseCapabilityFlags::read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:503,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:506,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:507,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:511,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:512,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:513,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:518,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:519,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:520,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:524,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:528,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:529,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:533,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:534,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:535,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:537,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:541,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:542,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:543,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:544,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:545,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:550,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:555,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:556,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:557,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:558,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:562,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:563,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:565,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:566,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:570,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:571,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:572,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:577,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:578,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:579,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:580,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:585,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:592,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:593,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:598,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:599,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:600,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:604,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:605,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:609,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:610,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:611,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:618,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:619,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:623,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:624,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:628,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:629,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:631,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:634,1
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:643,1
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:644,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:655,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:657,1
    - Dst: SpdmSupportedAlgorithmsBlock::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:657,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:662,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 342
    argCount: 2
    argNames:
    - context
    - r
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 670
      start: 483
    functionDepth: 10
    functionLinenumber: 483
    functionLinenumberEnd: 670
    functionName: SpdmCapabilitiesResponsePayload::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/capability.rs
    functionUses: 9
    functionsReached:
    - SpdmCapabilityParam1::read
    - SpdmResponseCapabilityExFlags::read
    - u32::read
    - u8::read
    - SpdmCapabilityParam1::empty
    - contains
    - SpdmSupportedAlgorithmsBlock::spdm_read
    - u16::read
    - SpdmResponseCapabilityExFlags::default
    - SpdmResponseCapabilityFlags::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(context: &mut common::SpdmContext,r: &mut Reader,) ->
      Option<SpdmCapabilitiesResponsePayload>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:687,1
    - Dst: SpdmResponseCapabilityFlags::all
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:688,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 697
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 697
    functionName: tests::test_case0_spdm_response_capability_flags
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/capability.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Reader::init
    - SpdmResponseCapabilityFlags::all
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_response_capability_flags()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_spdm_response_capability_flags
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:701,1
    - Dst: new_spdm_response_capability_flags
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:703,1
    - Dst: new_spdm_response_capability_flags
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:705,1
    - Dst: new_spdm_response_capability_flags
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:707,1
    - Dst: new_spdm_response_capability_flags
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 710
      start: 699
    functionDepth: 2
    functionLinenumber: 699
    functionLinenumberEnd: 710
    functionName: tests::test_case1_spdm_response_capability_flags
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/capability.rs
    functionUses: 0
    functionsReached:
    - new_spdm_response_capability_flags
    linkageType: ''
    returnType: void
    signature: fn test_case1_spdm_response_capability_flags()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:714,1
    - Dst: SpdmResponseCapabilityFlags::empty
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:715,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 724
      start: 712
    functionDepth: 2
    functionLinenumber: 712
    functionLinenumberEnd: 724
    functionName: tests::test_case2_spdm_response_capability_flags
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/capability.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Reader::init
    - SpdmResponseCapabilityFlags::empty
    linkageType: ''
    returnType: void
    signature: fn test_case2_spdm_response_capability_flags()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:728,1
    - Dst: SpdmRequestCapabilityFlags::all
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:729,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 739
      start: 726
    functionDepth: 1
    functionLinenumber: 726
    functionLinenumberEnd: 739
    functionName: tests::test_case0_spdm_request_capability_flags
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/capability.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Reader::init
    - SpdmRequestCapabilityFlags::all
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_request_capability_flags()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_spdm_request_capability_flags
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:743,1
    - Dst: new_spdm_request_capability_flags
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:745,1
    - Dst: new_spdm_request_capability_flags
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:747,1
    - Dst: new_spdm_request_capability_flags
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:749,1
    - Dst: new_spdm_request_capability_flags
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:751,1
    - Dst: new_spdm_request_capability_flags
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 754
      start: 741
    functionDepth: 2
    functionLinenumber: 741
    functionLinenumberEnd: 754
    functionName: tests::test_case1_spdm_request_capability_flags
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/capability.rs
    functionUses: 0
    functionsReached:
    - new_spdm_request_capability_flags
    linkageType: ''
    returnType: void
    signature: fn test_case1_spdm_request_capability_flags()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:758,1
    - Dst: SpdmRequestCapabilityFlags::empty
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:759,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 769
      start: 756
    functionDepth: 2
    functionLinenumber: 756
    functionLinenumberEnd: 769
    functionName: tests::test_case3_spdm_request_capability_flags
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/capability.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Reader::init
    - SpdmRequestCapabilityFlags::empty
    linkageType: ''
    returnType: void
    signature: fn test_case3_spdm_request_capability_flags()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:773,1
    - Dst: SpdmRequestCapabilityExFlags::default
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:779,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:783,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:787,1
    - Dst: SpdmGetCapabilitiesRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:790,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 797
      start: 771
    functionDepth: 11
    functionLinenumber: 771
    functionLinenumberEnd: 797
    functionName: tests::test_case0_spdm_get_capabilities_request_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/capability.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - Option::unwrap
    - SpdmRequestCapabilityExFlags::default
    - Writer::init
    - SpdmGetCapabilitiesRequestPayload::spdm_read
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_get_capabilities_request_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:801,1
    - Dst: SpdmRequestCapabilityExFlags::default
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:807,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:811,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:815,1
    - Dst: SpdmGetCapabilitiesRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:818,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 825
      start: 799
    functionDepth: 11
    functionLinenumber: 799
    functionLinenumberEnd: 825
    functionName: tests::test_case1_spdm_get_capabilities_request_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/capability.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - Option::unwrap
    - SpdmRequestCapabilityExFlags::default
    - Writer::init
    - SpdmGetCapabilitiesRequestPayload::spdm_read
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_case1_spdm_get_capabilities_request_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:829,1
    - Dst: SpdmGetCapabilitiesRequestPayload::default
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:830,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:832,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:836,1
    - Dst: SpdmGetCapabilitiesRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:838,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 840
      start: 827
    functionDepth: 11
    functionLinenumber: 827
    functionLinenumberEnd: 840
    functionName: tests::test_case2_spdm_get_capabilities_request_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/capability.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - SpdmGetCapabilitiesRequestPayload::default
    - Writer::init
    - SpdmGetCapabilitiesRequestPayload::spdm_read
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_case2_spdm_get_capabilities_request_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:844,1
    - Dst: SpdmResponseCapabilityExFlags::default
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:850,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:854,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:858,1
    - Dst: SpdmCapabilitiesResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:861,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:861,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 868
      start: 842
    functionDepth: 11
    functionLinenumber: 842
    functionLinenumberEnd: 868
    functionName: tests::test_case0_spdm_capabilities_response_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/capability.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - SpdmCapabilitiesResponsePayload::spdm_read
    - Option::unwrap
    - Writer::init
    - SpdmResponseCapabilityExFlags::default
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_capabilities_response_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:872,1
    - Dst: SpdmResponseCapabilityExFlags::default
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:878,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:882,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:886,1
    - Dst: SpdmCapabilitiesResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:889,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 896
      start: 870
    functionDepth: 11
    functionLinenumber: 870
    functionLinenumberEnd: 896
    functionName: tests::test_case1_spdm_capabilities_response_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/capability.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - SpdmCapabilitiesResponsePayload::spdm_read
    - Option::unwrap
    - Writer::init
    - SpdmResponseCapabilityExFlags::default
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_case1_spdm_capabilities_response_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:900,1
    - Dst: SpdmCapabilitiesResponsePayload::default
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:901,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:903,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:907,1
    - Dst: SpdmCapabilitiesResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:910,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:910,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 917
      start: 898
    functionDepth: 11
    functionLinenumber: 898
    functionLinenumberEnd: 917
    functionName: tests::test_case2_spdm_capabilities_response_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/capability.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - SpdmCapabilitiesResponsePayload::spdm_read
    - Option::unwrap
    - Writer::init
    - Reader::init
    - SpdmCapabilitiesResponsePayload::default
    linkageType: ''
    returnType: void
    signature: fn test_case2_spdm_capabilities_response_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:921,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:923,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - value
    argTypes:
    - SpdmResponseCapabilityFlags
    constantsTouched: []
    func_position:
      end: 930
      start: 919
    functionDepth: 1
    functionLinenumber: 919
    functionLinenumberEnd: 930
    functionName: tests::new_spdm_response_capability_flags
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/capability.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Reader::init
    linkageType: ''
    returnType: void
    signature: 'fn new_spdm_response_capability_flags(value: SpdmResponseCapabilityFlags)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:934,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/capability.rs:936,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - value
    argTypes:
    - SpdmRequestCapabilityFlags
    constantsTouched: []
    func_position:
      end: 943
      start: 932
    functionDepth: 1
    functionLinenumber: 932
    functionLinenumberEnd: 943
    functionName: tests::new_spdm_request_capability_flags
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/capability.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Reader::init
    linkageType: ''
    returnType: void
    signature: 'fn new_spdm_request_capability_flags(value: SpdmRequestCapabilityFlags)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:20,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:20,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:21,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:21,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:22,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - _context
    - bytes
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 23
      start: 15
    functionDepth: 3
    functionLinenumber: 15
    functionLinenumberEnd: 23
    functionName: SpdmGetVersionRequestPayload::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/version.rs
    functionUses: 0
    functionsReached:
    - map_err
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,_context: &mut common::SpdmContext,bytes: &mut
      Writer,) -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:29,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:30,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - _context
    - r
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 9
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: SpdmGetVersionRequestPayload::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/version.rs
    functionUses: 3
    functionsReached:
    - u8::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(_context: &mut common::SpdmContext,r: &mut Reader,) ->
      Option<SpdmGetVersionRequestPayload>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:45,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:46,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: SpdmVersionStruct::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/version.rs
    functionUses: 0
    functionsReached:
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:50,1
    - Dst: SpdmVersion::read
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:51,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 9
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: SpdmVersionStruct::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/version.rs
    functionUses: 2
    functionsReached:
    - u8::read
    - Some
    - SpdmVersion::read
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<SpdmVersionStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:69,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:69,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:70,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:70,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:72,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:72,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:73,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:73,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:78,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:78,1
    - Dst: SpdmResult::encode
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:83,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:83,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:85,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 46
    argCount: 2
    argNames:
    - _context
    - bytes
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 86
      start: 63
    functionDepth: 8
    functionLinenumber: 63
    functionLinenumberEnd: 86
    functionName: SpdmVersionResponsePayload::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/version.rs
    functionUses: 0
    functionsReached:
    - take
    - map_err
    - iter
    - Result::map_err
    - SpdmResult::encode
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,_context: &mut common::SpdmContext,bytes: &mut
      Writer,) -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:92,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:93,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:95,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:96,1
    - Dst: protocol::gen_array_clone
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:102,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:112,1
    - Dst: SpdmVersionStruct::read_bytes
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:115,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:135,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 60
    argCount: 2
    argNames:
    - _context
    - r
    argTypes:
    - '&mut common::SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 139
      start: 88
    functionDepth: 9
    functionLinenumber: 88
    functionLinenumberEnd: 139
    functionName: SpdmVersionResponsePayload::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/version.rs
    functionUses: 4
    functionsReached:
    - take
    - protocol::gen_array_clone
    - u8::read
    - SpdmVersionStruct::read_bytes
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(_context: &mut common::SpdmContext,r: &mut Reader,) ->
      Option<SpdmVersionResponsePayload>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:156,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:162,1
    - Dst: SpdmVersionStruct::read
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:164,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 154
    functionDepth: 10
    functionLinenumber: 154
    functionLinenumberEnd: 167
    functionName: tests::test_case1_spdmversion_struct
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/version.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Reader::init
    - SpdmVersionStruct::read
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn test_case1_spdmversion_struct()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:171,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:177,1
    - Dst: SpdmVersionStruct::read
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 169
    functionDepth: 10
    functionLinenumber: 169
    functionLinenumberEnd: 180
    functionName: tests::test_case2_spdmversion_struct
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/version.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Reader::init
    - SpdmVersionStruct::read
    linkageType: ''
    returnType: void
    signature: fn test_case2_spdmversion_struct()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:184,1
    - Dst: protocol::gen_array_clone
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:185,1
    - Dst: SpdmVersionStruct::default
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:185,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:196,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:199,1
    - Dst: SpdmVersionResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:202,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 182
    functionDepth: 10
    functionLinenumber: 182
    functionLinenumberEnd: 216
    functionName: tests::test_case0_spdm_version_response_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/version.rs
    functionUses: 0
    functionsReached:
    - create_spdm_context
    - protocol::gen_array_clone
    - Option::unwrap
    - Writer::init
    - SpdmVersionStruct::default
    - SpdmVersionResponsePayload::spdm_read
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_version_response_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:220,1
    - Dst: create_spdm_context
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:223,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:226,1
    - Dst: SpdmGetVersionRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/message/version.rs:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 218
    functionDepth: 10
    functionLinenumber: 218
    functionLinenumberEnd: 228
    functionName: tests::test_case0_spdm_get_version_request_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/message/version.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - create_spdm_context
    - SpdmGetVersionRequestPayload::spdm_read
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_get_version_request_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmMeasurementSpecification::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:117,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 4
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: SpdmMeasurementSpecification::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - Vec::encode
    - SpdmMeasurementSpecification::bits
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:121,1
    - Dst: SpdmMeasurementSpecification::from_bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 9
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: SpdmMeasurementSpecification::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 8
    functionsReached:
    - SpdmMeasurementSpecification::from_bits
    - u8::read
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<SpdmMeasurementSpecification>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:132,1
    - Dst: SpdmMeasurementSpecification::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:133,1
    - Dst: SimpleLogger::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:133,1
    - Dst: SpdmMeasurementSpecification::empty
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - peer
    argTypes:
    - SpdmMeasurementSpecification
    constantsTouched: []
    func_position:
      end: 139
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 139
    functionName: SpdmMeasurementSpecification::prioritize
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - SpdmMeasurementSpecification::empty
    - SimpleLogger::bits
    - iter
    - SpdmMeasurementSpecification::bits
    linkageType: ''
    returnType: void
    signature: 'pub fn prioritize(&mut self, peer: SpdmMeasurementSpecification)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmMeasurementSpecification::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:144,1
    - Dst: SpdmMeasurementSpecification::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:144,1
    - Dst: SpdmMeasurementSpecification::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 3
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: SpdmMeasurementSpecification::is_no_more_than_one_selected
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 1
    functionsReached:
    - SpdmMeasurementSpecification::bits
    linkageType: ''
    returnType: bool
    signature: pub fn is_no_more_than_one_selected(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: SpdmMeasurementSpecification::is_valid
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: pub fn is_valid(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmMeasurementSpecification::is_no_more_than_one_selected
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:152,1
    - Dst: SpdmMeasurementSpecification::is_valid
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 4
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: SpdmMeasurementSpecification::is_valid_one_select
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - SpdmMeasurementSpecification::is_no_more_than_one_selected
    - SpdmMeasurementSpecification::is_valid
    linkageType: ''
    returnType: bool
    signature: pub fn is_valid_one_select(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmAlgoOtherParams::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:168,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 4
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: SpdmAlgoOtherParams::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - SpdmAlgoOtherParams::bits
    - Vec::encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:172,1
    - Dst: SpdmAlgoOtherParams::from_bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 9
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: SpdmAlgoOtherParams::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 7
    functionsReached:
    - SpdmAlgoOtherParams::from_bits
    - u8::read
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<SpdmAlgoOtherParams>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 214
    functionName: SpdmMeasurementHashAlgo::get_size
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u16
    signature: pub fn get_size(&self) -> u16
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmMeasurementHashAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:219,1
    - Dst: SpdmMeasurementHashAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:219,1
    - Dst: SpdmMeasurementHashAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 3
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: SpdmMeasurementHashAlgo::is_no_more_than_one_selected
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 1
    functionsReached:
    - SpdmMeasurementHashAlgo::bits
    linkageType: ''
    returnType: bool
    signature: pub fn is_no_more_than_one_selected(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 224
    functionName: SpdmMeasurementHashAlgo::is_valid
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: pub fn is_valid(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmMeasurementHashAlgo::is_no_more_than_one_selected
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:227,1
    - Dst: SpdmMeasurementHashAlgo::is_valid
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 226
    functionDepth: 4
    functionLinenumber: 226
    functionLinenumberEnd: 228
    functionName: SpdmMeasurementHashAlgo::is_valid_one_select
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - SpdmMeasurementHashAlgo::is_valid
    - SpdmMeasurementHashAlgo::is_no_more_than_one_selected
    linkageType: ''
    returnType: bool
    signature: pub fn is_valid_one_select(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmMeasurementHashAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:232,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 233
      start: 231
    functionDepth: 4
    functionLinenumber: 231
    functionLinenumberEnd: 233
    functionName: SpdmMeasurementHashAlgo::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - SpdmMeasurementHashAlgo::bits
    - Vec::encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:236,1
    - Dst: SpdmMeasurementHashAlgo::from_bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 9
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: SpdmMeasurementHashAlgo::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 3
    functionsReached:
    - SpdmMeasurementHashAlgo::from_bits
    - u32::read
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<SpdmMeasurementHashAlgo>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:278,1
    - Dst: SpdmBaseAsymAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:279,1
    - Dst: SimpleLogger::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:279,1
    - Dst: SpdmBaseAsymAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - peer
    argTypes:
    - SpdmBaseAsymAlgo
    constantsTouched: []
    func_position:
      end: 285
      start: 265
    functionDepth: 3
    functionLinenumber: 265
    functionLinenumberEnd: 285
    functionName: SpdmBaseAsymAlgo::prioritize
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - SpdmBaseAsymAlgo::bits
    - SimpleLogger::bits
    - iter
    - SpdmBaseAsymAlgo::empty
    linkageType: ''
    returnType: void
    signature: 'pub fn prioritize(&mut self, peer: SpdmBaseAsymAlgo)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 300
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 300
    functionName: SpdmBaseAsymAlgo::get_sig_size
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u16
    signature: pub fn get_sig_size(&self) -> u16
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmBaseAsymAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:305,1
    - Dst: SpdmBaseAsymAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:305,1
    - Dst: SpdmBaseAsymAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 306
      start: 304
    functionDepth: 3
    functionLinenumber: 304
    functionLinenumberEnd: 306
    functionName: SpdmBaseAsymAlgo::is_no_more_than_one_selected
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 1
    functionsReached:
    - SpdmBaseAsymAlgo::bits
    linkageType: ''
    returnType: bool
    signature: pub fn is_no_more_than_one_selected(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 310
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 310
    functionName: SpdmBaseAsymAlgo::is_valid
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: pub fn is_valid(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmBaseAsymAlgo::is_no_more_than_one_selected
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:313,1
    - Dst: SpdmBaseAsymAlgo::is_valid
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 314
      start: 312
    functionDepth: 4
    functionLinenumber: 312
    functionLinenumberEnd: 314
    functionName: SpdmBaseAsymAlgo::is_valid_one_select
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - SpdmBaseAsymAlgo::is_no_more_than_one_selected
    - SpdmBaseAsymAlgo::is_valid
    linkageType: ''
    returnType: bool
    signature: pub fn is_valid_one_select(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmBaseAsymAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:319,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 320
      start: 318
    functionDepth: 4
    functionLinenumber: 318
    functionLinenumberEnd: 320
    functionName: SpdmBaseAsymAlgo::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - SpdmBaseAsymAlgo::bits
    - Vec::encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:323,1
    - Dst: SpdmBaseAsymAlgo::from_bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 326
      start: 322
    functionDepth: 9
    functionLinenumber: 322
    functionLinenumberEnd: 326
    functionName: SpdmBaseAsymAlgo::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 6
    functionsReached:
    - u32::read
    - SpdmBaseAsymAlgo::from_bits
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<SpdmBaseAsymAlgo>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:350,1
    - Dst: SpdmPqcAsymAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:351,1
    - Dst: SimpleLogger::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:351,1
    - Dst: SpdmPqcAsymAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - peer
    argTypes:
    - SpdmPqcAsymAlgo
    constantsTouched: []
    func_position:
      end: 357
      start: 342
    functionDepth: 3
    functionLinenumber: 342
    functionLinenumberEnd: 357
    functionName: SpdmPqcAsymAlgo::prioritize
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - SimpleLogger::bits
    - iter
    - SpdmPqcAsymAlgo::empty
    - SpdmPqcAsymAlgo::bits
    linkageType: ''
    returnType: void
    signature: 'pub fn prioritize(&mut self, peer: SpdmPqcAsymAlgo)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 367
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 367
    functionName: SpdmPqcAsymAlgo::get_sig_size
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u16
    signature: pub fn get_sig_size(&self) -> u16
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmPqcAsymAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:372,1
    - Dst: SpdmPqcAsymAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:372,1
    - Dst: SpdmPqcAsymAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 373
      start: 371
    functionDepth: 3
    functionLinenumber: 371
    functionLinenumberEnd: 373
    functionName: SpdmPqcAsymAlgo::is_no_more_than_one_selected
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 1
    functionsReached:
    - SpdmPqcAsymAlgo::bits
    linkageType: ''
    returnType: bool
    signature: pub fn is_no_more_than_one_selected(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 377
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 377
    functionName: SpdmPqcAsymAlgo::is_valid
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: pub fn is_valid(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmPqcAsymAlgo::is_no_more_than_one_selected
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:380,1
    - Dst: SpdmPqcAsymAlgo::is_valid
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 381
      start: 379
    functionDepth: 4
    functionLinenumber: 379
    functionLinenumberEnd: 381
    functionName: SpdmPqcAsymAlgo::is_valid_one_select
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - SpdmPqcAsymAlgo::is_valid
    - SpdmPqcAsymAlgo::is_no_more_than_one_selected
    linkageType: ''
    returnType: bool
    signature: pub fn is_valid_one_select(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmPqcAsymAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:386,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 387
      start: 385
    functionDepth: 4
    functionLinenumber: 385
    functionLinenumberEnd: 387
    functionName: SpdmPqcAsymAlgo::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - Vec::encode
    - SpdmPqcAsymAlgo::bits
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:390,1
    - Dst: SpdmPqcAsymAlgo::from_bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 393
      start: 389
    functionDepth: 9
    functionLinenumber: 389
    functionLinenumberEnd: 393
    functionName: SpdmPqcAsymAlgo::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 6
    functionsReached:
    - u32::read
    - SpdmPqcAsymAlgo::from_bits
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<SpdmPqcAsymAlgo>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:417,1
    - Dst: SpdmBaseHashAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:418,1
    - Dst: SimpleLogger::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:418,1
    - Dst: SpdmBaseHashAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:423,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - peer
    argTypes:
    - SpdmBaseHashAlgo
    constantsTouched: []
    func_position:
      end: 424
      start: 409
    functionDepth: 3
    functionLinenumber: 409
    functionLinenumberEnd: 424
    functionName: SpdmBaseHashAlgo::prioritize
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - SpdmBaseHashAlgo::empty
    - SimpleLogger::bits
    - iter
    - SpdmBaseHashAlgo::bits
    linkageType: ''
    returnType: void
    signature: 'pub fn prioritize(&mut self, peer: SpdmBaseHashAlgo)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 434
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 434
    functionName: SpdmBaseHashAlgo::get_size
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u16
    signature: pub fn get_size(&self) -> u16
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmBaseHashAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:439,1
    - Dst: SpdmBaseHashAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:439,1
    - Dst: SpdmBaseHashAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 440
      start: 438
    functionDepth: 3
    functionLinenumber: 438
    functionLinenumberEnd: 440
    functionName: SpdmBaseHashAlgo::is_no_more_than_one_selected
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 1
    functionsReached:
    - SpdmBaseHashAlgo::bits
    linkageType: ''
    returnType: bool
    signature: pub fn is_no_more_than_one_selected(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 444
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 444
    functionName: SpdmBaseHashAlgo::is_valid
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: pub fn is_valid(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmBaseHashAlgo::is_no_more_than_one_selected
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:447,1
    - Dst: SpdmBaseHashAlgo::is_valid
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:447,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 448
      start: 446
    functionDepth: 4
    functionLinenumber: 446
    functionLinenumberEnd: 448
    functionName: SpdmBaseHashAlgo::is_valid_one_select
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - SpdmBaseHashAlgo::is_valid
    - SpdmBaseHashAlgo::is_no_more_than_one_selected
    linkageType: ''
    returnType: bool
    signature: pub fn is_valid_one_select(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmBaseHashAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:453,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 454
      start: 452
    functionDepth: 4
    functionLinenumber: 452
    functionLinenumberEnd: 454
    functionName: SpdmBaseHashAlgo::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - SpdmBaseHashAlgo::bits
    - Vec::encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:457,1
    - Dst: SpdmBaseHashAlgo::from_bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 460
      start: 456
    functionDepth: 9
    functionLinenumber: 456
    functionLinenumberEnd: 460
    functionName: SpdmBaseHashAlgo::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 7
    functionsReached:
    - u32::read
    - SpdmBaseHashAlgo::from_bits
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<SpdmBaseHashAlgo>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmMelSpecification::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:473,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 474
      start: 472
    functionDepth: 4
    functionLinenumber: 472
    functionLinenumberEnd: 474
    functionName: SpdmMelSpecification::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - SpdmMelSpecification::bits
    - Vec::encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:477,1
    - Dst: SpdmMelSpecification::from_bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 480
      start: 476
    functionDepth: 9
    functionLinenumber: 476
    functionLinenumberEnd: 480
    functionName: SpdmMelSpecification::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 6
    functionsReached:
    - u8::read
    - SpdmMelSpecification::from_bits
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<SpdmMelSpecification>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:488,1
    - Dst: SpdmMelSpecification::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:489,1
    - Dst: SimpleLogger::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:489,1
    - Dst: SpdmMelSpecification::empty
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:494,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - peer
    argTypes:
    - SpdmMelSpecification
    constantsTouched: []
    func_position:
      end: 495
      start: 484
    functionDepth: 3
    functionLinenumber: 484
    functionLinenumberEnd: 495
    functionName: SpdmMelSpecification::prioritize
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - SpdmMelSpecification::empty
    - SimpleLogger::bits
    - iter
    - SpdmMelSpecification::bits
    linkageType: ''
    returnType: void
    signature: 'pub fn prioritize(&mut self, peer: SpdmMelSpecification)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmMelSpecification::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:500,1
    - Dst: SpdmMelSpecification::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:500,1
    - Dst: SpdmMelSpecification::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 501
      start: 499
    functionDepth: 3
    functionLinenumber: 499
    functionLinenumberEnd: 501
    functionName: SpdmMelSpecification::is_no_more_than_one_selected
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 1
    functionsReached:
    - SpdmMelSpecification::bits
    linkageType: ''
    returnType: bool
    signature: pub fn is_no_more_than_one_selected(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 505
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 505
    functionName: SpdmMelSpecification::is_valid
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: pub fn is_valid(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmMelSpecification::is_no_more_than_one_selected
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:508,1
    - Dst: SpdmMelSpecification::is_valid
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 509
      start: 507
    functionDepth: 4
    functionLinenumber: 507
    functionLinenumberEnd: 509
    functionName: SpdmMelSpecification::is_valid_one_select
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - SpdmMelSpecification::is_no_more_than_one_selected
    - SpdmMelSpecification::is_valid
    linkageType: ''
    returnType: bool
    signature: pub fn is_valid_one_select(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:543,1
    - Dst: SpdmDheAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:544,1
    - Dst: SimpleLogger::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:544,1
    - Dst: SpdmDheAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:549,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - peer
    argTypes:
    - SpdmDheAlgo
    constantsTouched: []
    func_position:
      end: 550
      start: 539
    functionDepth: 3
    functionLinenumber: 539
    functionLinenumberEnd: 550
    functionName: SpdmDheAlgo::prioritize
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - SimpleLogger::bits
    - iter
    - SpdmDheAlgo::bits
    - SpdmDheAlgo::empty
    linkageType: ''
    returnType: void
    signature: 'pub fn prioritize(&mut self, peer: SpdmDheAlgo)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 559
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 559
    functionName: SpdmDheAlgo::get_key_size
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u16
    signature: pub fn get_key_size(&self) -> u16
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmDheAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:564,1
    - Dst: SpdmDheAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:564,1
    - Dst: SpdmDheAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 565
      start: 563
    functionDepth: 3
    functionLinenumber: 563
    functionLinenumberEnd: 565
    functionName: SpdmDheAlgo::is_no_more_than_one_selected
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 1
    functionsReached:
    - SpdmDheAlgo::bits
    linkageType: ''
    returnType: bool
    signature: pub fn is_no_more_than_one_selected(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 569
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 569
    functionName: SpdmDheAlgo::is_valid
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: pub fn is_valid(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmDheAlgo::is_no_more_than_one_selected
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:572,1
    - Dst: SpdmDheAlgo::is_valid
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:572,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 573
      start: 571
    functionDepth: 4
    functionLinenumber: 571
    functionLinenumberEnd: 573
    functionName: SpdmDheAlgo::is_valid_one_select
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - SpdmDheAlgo::is_no_more_than_one_selected
    - SpdmDheAlgo::is_valid
    linkageType: ''
    returnType: bool
    signature: pub fn is_valid_one_select(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmDheAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:578,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 579
      start: 577
    functionDepth: 4
    functionLinenumber: 577
    functionLinenumberEnd: 579
    functionName: SpdmDheAlgo::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - Vec::encode
    - SpdmDheAlgo::bits
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:582,1
    - Dst: SpdmDheAlgo::from_bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:584,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 585
      start: 581
    functionDepth: 9
    functionLinenumber: 581
    functionLinenumberEnd: 585
    functionName: SpdmDheAlgo::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 4
    functionsReached:
    - u16::read
    - SpdmDheAlgo::from_bits
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<SpdmDheAlgo>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:609,1
    - Dst: SpdmKemAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:610,1
    - Dst: SimpleLogger::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:610,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:615,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - peer
    argTypes:
    - SpdmKemAlgo
    constantsTouched: []
    func_position:
      end: 616
      start: 601
    functionDepth: 3
    functionLinenumber: 601
    functionLinenumberEnd: 616
    functionName: SpdmKemAlgo::prioritize
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - SpdmKemAlgo::bits
    - SimpleLogger::bits
    - iter
    - SpdmKemAlgo::empty
    linkageType: ''
    returnType: void
    signature: 'pub fn prioritize(&mut self, peer: SpdmKemAlgo)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 626
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 626
    functionName: SpdmKemAlgo::get_encap_key_size
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u16
    signature: pub fn get_encap_key_size(&self) -> u16
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 636
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 636
    functionName: SpdmKemAlgo::get_cipher_text_size
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u16
    signature: pub fn get_cipher_text_size(&self) -> u16
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmKemAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:641,1
    - Dst: SpdmKemAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:641,1
    - Dst: SpdmKemAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:641,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 642
      start: 640
    functionDepth: 3
    functionLinenumber: 640
    functionLinenumberEnd: 642
    functionName: SpdmKemAlgo::is_no_more_than_one_selected
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 1
    functionsReached:
    - SpdmKemAlgo::bits
    linkageType: ''
    returnType: bool
    signature: pub fn is_no_more_than_one_selected(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 646
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 646
    functionName: SpdmKemAlgo::is_valid
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: pub fn is_valid(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmKemAlgo::is_no_more_than_one_selected
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:649,1
    - Dst: SpdmKemAlgo::is_valid
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:649,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 650
      start: 648
    functionDepth: 4
    functionLinenumber: 648
    functionLinenumberEnd: 650
    functionName: SpdmKemAlgo::is_valid_one_select
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - SpdmKemAlgo::is_valid
    - SpdmKemAlgo::is_no_more_than_one_selected
    linkageType: ''
    returnType: bool
    signature: pub fn is_valid_one_select(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmKemAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:655,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 656
      start: 654
    functionDepth: 4
    functionLinenumber: 654
    functionLinenumberEnd: 656
    functionName: SpdmKemAlgo::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - SpdmKemAlgo::bits
    - Vec::encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:659,1
    - Dst: SpdmKemAlgo::from_bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:661,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 662
      start: 658
    functionDepth: 9
    functionLinenumber: 658
    functionLinenumberEnd: 662
    functionName: SpdmKemAlgo::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 4
    functionsReached:
    - u16::read
    - SpdmKemAlgo::from_bits
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<SpdmKemAlgo>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:686,1
    - Dst: SpdmAeadAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:687,1
    - Dst: SimpleLogger::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:687,1
    - Dst: SpdmAeadAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:692,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - peer
    argTypes:
    - SpdmAeadAlgo
    constantsTouched: []
    func_position:
      end: 693
      start: 678
    functionDepth: 3
    functionLinenumber: 678
    functionLinenumberEnd: 693
    functionName: SpdmAeadAlgo::prioritize
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - SpdmAeadAlgo::bits
    - SimpleLogger::bits
    - iter
    - SpdmAeadAlgo::empty
    linkageType: ''
    returnType: void
    signature: 'pub fn prioritize(&mut self, peer: SpdmAeadAlgo)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 703
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 703
    functionName: SpdmAeadAlgo::get_key_size
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u16
    signature: pub fn get_key_size(&self) -> u16
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 713
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 713
    functionName: SpdmAeadAlgo::get_iv_size
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u16
    signature: pub fn get_iv_size(&self) -> u16
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 723
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 723
    functionName: SpdmAeadAlgo::get_tag_size
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u16
    signature: pub fn get_tag_size(&self) -> u16
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmAeadAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:728,1
    - Dst: SpdmAeadAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:728,1
    - Dst: SpdmAeadAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:728,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 729
      start: 727
    functionDepth: 3
    functionLinenumber: 727
    functionLinenumberEnd: 729
    functionName: SpdmAeadAlgo::is_no_more_than_one_selected
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 1
    functionsReached:
    - SpdmAeadAlgo::bits
    linkageType: ''
    returnType: bool
    signature: pub fn is_no_more_than_one_selected(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 733
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 733
    functionName: SpdmAeadAlgo::is_valid
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: pub fn is_valid(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmAeadAlgo::is_no_more_than_one_selected
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:736,1
    - Dst: SpdmAeadAlgo::is_valid
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:736,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 737
      start: 735
    functionDepth: 4
    functionLinenumber: 735
    functionLinenumberEnd: 737
    functionName: SpdmAeadAlgo::is_valid_one_select
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - SpdmAeadAlgo::is_no_more_than_one_selected
    - SpdmAeadAlgo::is_valid
    linkageType: ''
    returnType: bool
    signature: pub fn is_valid_one_select(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmAeadAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:742,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 743
      start: 741
    functionDepth: 4
    functionLinenumber: 741
    functionLinenumberEnd: 743
    functionName: SpdmAeadAlgo::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - SpdmAeadAlgo::bits
    - Vec::encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:746,1
    - Dst: SpdmAeadAlgo::from_bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:748,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 749
      start: 745
    functionDepth: 9
    functionLinenumber: 745
    functionLinenumberEnd: 749
    functionName: SpdmAeadAlgo::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 4
    functionsReached:
    - u16::read
    - SpdmAeadAlgo::from_bits
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<SpdmAeadAlgo>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:788,1
    - Dst: SpdmReqAsymAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:789,1
    - Dst: SimpleLogger::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:789,1
    - Dst: SpdmReqAsymAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:794,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - peer
    argTypes:
    - SpdmReqAsymAlgo
    constantsTouched: []
    func_position:
      end: 795
      start: 775
    functionDepth: 3
    functionLinenumber: 775
    functionLinenumberEnd: 795
    functionName: SpdmReqAsymAlgo::prioritize
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - SpdmReqAsymAlgo::bits
    - SimpleLogger::bits
    - iter
    - SpdmReqAsymAlgo::empty
    linkageType: ''
    returnType: void
    signature: 'pub fn prioritize(&mut self, peer: SpdmReqAsymAlgo)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 810
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 810
    functionName: SpdmReqAsymAlgo::get_sig_size
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u16
    signature: pub fn get_sig_size(&self) -> u16
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmReqAsymAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:815,1
    - Dst: SpdmReqAsymAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:815,1
    - Dst: SpdmReqAsymAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:815,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 816
      start: 814
    functionDepth: 3
    functionLinenumber: 814
    functionLinenumberEnd: 816
    functionName: SpdmReqAsymAlgo::is_no_more_than_one_selected
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 1
    functionsReached:
    - SpdmReqAsymAlgo::bits
    linkageType: ''
    returnType: bool
    signature: pub fn is_no_more_than_one_selected(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 820
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 820
    functionName: SpdmReqAsymAlgo::is_valid
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: pub fn is_valid(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmReqAsymAlgo::is_no_more_than_one_selected
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:823,1
    - Dst: SpdmReqAsymAlgo::is_valid
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:823,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 824
      start: 822
    functionDepth: 4
    functionLinenumber: 822
    functionLinenumberEnd: 824
    functionName: SpdmReqAsymAlgo::is_valid_one_select
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - SpdmReqAsymAlgo::is_valid
    - SpdmReqAsymAlgo::is_no_more_than_one_selected
    linkageType: ''
    returnType: bool
    signature: pub fn is_valid_one_select(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmReqAsymAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:829,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:829,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 830
      start: 828
    functionDepth: 4
    functionLinenumber: 828
    functionLinenumberEnd: 830
    functionName: SpdmReqAsymAlgo::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - SpdmReqAsymAlgo::bits
    - Vec::encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:833,1
    - Dst: SpdmReqAsymAlgo::from_bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:835,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 836
      start: 832
    functionDepth: 9
    functionLinenumber: 832
    functionLinenumberEnd: 836
    functionName: SpdmReqAsymAlgo::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 3
    functionsReached:
    - u16::read
    - SpdmReqAsymAlgo::from_bits
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<SpdmReqAsymAlgo>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmBaseAsymAlgo::from_bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:841,1
    - Dst: SpdmReqAsymAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:841,1
    - Dst: Vec::unwrap_or
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:841,1
    - Dst: SpdmBaseAsymAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 842
      start: 840
    functionDepth: 3
    functionLinenumber: 840
    functionLinenumberEnd: 842
    functionName: SpdmReqAsymAlgo::to_base
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - SpdmReqAsymAlgo::bits
    - Vec::unwrap_or
    - SpdmBaseAsymAlgo::empty
    - SpdmBaseAsymAlgo::from_bits
    linkageType: ''
    returnType: SpdmBaseAsymAlgo
    signature: pub fn to_base(&self) -> SpdmBaseAsymAlgo
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmReqAsymAlgo::from_bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:845,1
    - Dst: SpdmBaseAsymAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:845,1
    - Dst: Vec::unwrap_or
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:845,1
    - Dst: SpdmReqAsymAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - base
    argTypes:
    - SpdmBaseAsymAlgo
    constantsTouched: []
    func_position:
      end: 846
      start: 844
    functionDepth: 3
    functionLinenumber: 844
    functionLinenumberEnd: 846
    functionName: SpdmReqAsymAlgo::from_base
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - SpdmReqAsymAlgo::from_bits
    - Vec::unwrap_or
    - SpdmBaseAsymAlgo::bits
    - SpdmReqAsymAlgo::empty
    linkageType: ''
    returnType: Self
    signature: 'pub fn from_base(base: SpdmBaseAsymAlgo) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:870,1
    - Dst: SpdmPqcReqAsymAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:871,1
    - Dst: SimpleLogger::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:871,1
    - Dst: SpdmPqcReqAsymAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:876,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - peer
    argTypes:
    - SpdmPqcReqAsymAlgo
    constantsTouched: []
    func_position:
      end: 877
      start: 862
    functionDepth: 3
    functionLinenumber: 862
    functionLinenumberEnd: 877
    functionName: SpdmPqcReqAsymAlgo::prioritize
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - SpdmPqcReqAsymAlgo::empty
    - SimpleLogger::bits
    - iter
    - SpdmPqcReqAsymAlgo::bits
    linkageType: ''
    returnType: void
    signature: 'pub fn prioritize(&mut self, peer: SpdmPqcReqAsymAlgo)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 887
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 887
    functionName: SpdmPqcReqAsymAlgo::get_sig_size
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u16
    signature: pub fn get_sig_size(&self) -> u16
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmPqcReqAsymAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:892,1
    - Dst: SpdmPqcReqAsymAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:892,1
    - Dst: SpdmPqcReqAsymAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:892,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 893
      start: 891
    functionDepth: 3
    functionLinenumber: 891
    functionLinenumberEnd: 893
    functionName: SpdmPqcReqAsymAlgo::is_no_more_than_one_selected
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 1
    functionsReached:
    - SpdmPqcReqAsymAlgo::bits
    linkageType: ''
    returnType: bool
    signature: pub fn is_no_more_than_one_selected(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 897
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 897
    functionName: SpdmPqcReqAsymAlgo::is_valid
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: pub fn is_valid(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmPqcReqAsymAlgo::is_no_more_than_one_selected
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:900,1
    - Dst: SpdmPqcReqAsymAlgo::is_valid
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:900,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 901
      start: 899
    functionDepth: 4
    functionLinenumber: 899
    functionLinenumberEnd: 901
    functionName: SpdmPqcReqAsymAlgo::is_valid_one_select
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - SpdmPqcReqAsymAlgo::is_valid
    - SpdmPqcReqAsymAlgo::is_no_more_than_one_selected
    linkageType: ''
    returnType: bool
    signature: pub fn is_valid_one_select(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmPqcReqAsymAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:906,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:906,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 907
      start: 905
    functionDepth: 4
    functionLinenumber: 905
    functionLinenumberEnd: 907
    functionName: SpdmPqcReqAsymAlgo::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - Vec::encode
    - SpdmPqcReqAsymAlgo::bits
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:910,1
    - Dst: SpdmPqcReqAsymAlgo::from_bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:912,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 913
      start: 909
    functionDepth: 9
    functionLinenumber: 909
    functionLinenumberEnd: 913
    functionName: SpdmPqcReqAsymAlgo::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 3
    functionsReached:
    - u16::read
    - SpdmPqcReqAsymAlgo::from_bits
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<SpdmPqcReqAsymAlgo>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmPqcAsymAlgo::from_bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:918,1
    - Dst: SpdmPqcReqAsymAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:918,1
    - Dst: Vec::unwrap_or
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:918,1
    - Dst: SpdmPqcAsymAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 919
      start: 917
    functionDepth: 3
    functionLinenumber: 917
    functionLinenumberEnd: 919
    functionName: SpdmPqcReqAsymAlgo::to_base
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - Vec::unwrap_or
    - SpdmPqcAsymAlgo::from_bits
    - SpdmPqcAsymAlgo::empty
    - SpdmPqcReqAsymAlgo::bits
    linkageType: ''
    returnType: SpdmPqcAsymAlgo
    signature: pub fn to_base(&self) -> SpdmPqcAsymAlgo
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmPqcReqAsymAlgo::from_bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:922,1
    - Dst: SpdmBaseAsymAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:922,1
    - Dst: Vec::unwrap_or
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:922,1
    - Dst: SpdmPqcReqAsymAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - base
    argTypes:
    - SpdmPqcAsymAlgo
    constantsTouched: []
    func_position:
      end: 923
      start: 921
    functionDepth: 3
    functionLinenumber: 921
    functionLinenumberEnd: 923
    functionName: SpdmPqcReqAsymAlgo::from_base
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - SpdmPqcReqAsymAlgo::from_bits
    - Vec::unwrap_or
    - SpdmBaseAsymAlgo::bits
    - SpdmPqcReqAsymAlgo::empty
    linkageType: ''
    returnType: Self
    signature: 'pub fn from_base(base: SpdmPqcAsymAlgo) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:939,1
    - Dst: SpdmKeyScheduleAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:940,1
    - Dst: SimpleLogger::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:940,1
    - Dst: SpdmKeyScheduleAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:945,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - peer
    argTypes:
    - SpdmKeyScheduleAlgo
    constantsTouched: []
    func_position:
      end: 946
      start: 935
    functionDepth: 3
    functionLinenumber: 935
    functionLinenumberEnd: 946
    functionName: SpdmKeyScheduleAlgo::prioritize
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - SpdmKeyScheduleAlgo::empty
    - SpdmKeyScheduleAlgo::bits
    - iter
    - SimpleLogger::bits
    linkageType: ''
    returnType: void
    signature: 'pub fn prioritize(&mut self, peer: SpdmKeyScheduleAlgo)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmKeyScheduleAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:951,1
    - Dst: SpdmKeyScheduleAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:951,1
    - Dst: SpdmKeyScheduleAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:951,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 952
      start: 950
    functionDepth: 3
    functionLinenumber: 950
    functionLinenumberEnd: 952
    functionName: SpdmKeyScheduleAlgo::is_no_more_than_one_selected
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 1
    functionsReached:
    - SpdmKeyScheduleAlgo::bits
    linkageType: ''
    returnType: bool
    signature: pub fn is_no_more_than_one_selected(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 956
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 956
    functionName: SpdmKeyScheduleAlgo::is_valid
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: pub fn is_valid(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmKeyScheduleAlgo::is_no_more_than_one_selected
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:959,1
    - Dst: SpdmKeyScheduleAlgo::is_valid
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:959,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 960
      start: 958
    functionDepth: 4
    functionLinenumber: 958
    functionLinenumberEnd: 960
    functionName: SpdmKeyScheduleAlgo::is_valid_one_select
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - SpdmKeyScheduleAlgo::is_valid
    - SpdmKeyScheduleAlgo::is_no_more_than_one_selected
    linkageType: ''
    returnType: bool
    signature: pub fn is_valid_one_select(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmKeyScheduleAlgo::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:965,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:965,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 966
      start: 964
    functionDepth: 4
    functionLinenumber: 964
    functionLinenumberEnd: 966
    functionName: SpdmKeyScheduleAlgo::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - SpdmKeyScheduleAlgo::bits
    - Vec::encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:969,1
    - Dst: SpdmKeyScheduleAlgo::from_bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:971,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 972
      start: 968
    functionDepth: 9
    functionLinenumber: 968
    functionLinenumberEnd: 972
    functionName: SpdmKeyScheduleAlgo::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 4
    functionsReached:
    - u16::read
    - SpdmKeyScheduleAlgo::from_bits
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<SpdmKeyScheduleAlgo>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - _bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 980
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 980
    functionName: SpdmUnknownAlgo::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, _bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:983,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 984
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 984
    functionName: SpdmUnknownAlgo::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 1
    functionsReached:
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(_r: &mut Reader) -> Option<SpdmUnknownAlgo>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmAlgType::Unknown
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 1000
    functionDepth: 0
    functionLinenumber: 1000
    functionLinenumberEnd: 1002
    functionName: SpdmAlgType::default
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - SpdmAlgType::Unknown
    linkageType: ''
    returnType: SpdmAlgType
    signature: fn default() -> SpdmAlgType
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmAlg::SpdmAlgoUnknown
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1018,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1019
    functionName: SpdmAlg::default
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - SpdmAlg::SpdmAlgoUnknown
    linkageType: ''
    returnType: SpdmAlg
    signature: fn default() -> SpdmAlg
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1033,1
    - Dst: u8::encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1035,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1039,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1042,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1045,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1048,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1051,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1054,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1057,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1060,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 1061
      start: 1029
    functionDepth: 3
    functionLinenumber: 1029
    functionLinenumberEnd: 1061
    functionName: SpdmAlgStruct::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - u8::encode
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmAlgType::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1064,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1065,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1076,1
    - Dst: SpdmAlg::SpdmAlgoDhe
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1076,1
    - Dst: SpdmDheAlgo::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1076,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1077,1
    - Dst: SpdmAlg::SpdmAlgoAead
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1077,1
    - Dst: SpdmAeadAlgo::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1077,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1079,1
    - Dst: SpdmAlg::SpdmAlgoReqAsym
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1079,1
    - Dst: SpdmReqAsymAlgo::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1079,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1082,1
    - Dst: SpdmAlg::SpdmAlgoKeySchedule
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1082,1
    - Dst: SpdmKeyScheduleAlgo::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1082,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1084,1
    - Dst: SpdmAlg::SpdmAlgoKem
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1084,1
    - Dst: SpdmKemAlgo::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1084,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1086,1
    - Dst: SpdmAlg::SpdmAlgoPqcReqAsym
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1086,1
    - Dst: SpdmPqcReqAsymAlgo::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1086,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1093,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 1097
      start: 1063
    functionDepth: 10
    functionLinenumber: 1063
    functionLinenumberEnd: 1097
    functionName: SpdmAlgStruct::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 6
    functionsReached:
    - SpdmAlg::SpdmAlgoReqAsym
    - SpdmAlg::SpdmAlgoDhe
    - SpdmAlg::SpdmAlgoKeySchedule
    - SpdmAlgType::read
    - SpdmPqcReqAsymAlgo::read
    - u8::read
    - SpdmKemAlgo::read
    - SpdmKeyScheduleAlgo::read
    - SpdmAlg::SpdmAlgoAead
    - SpdmAeadAlgo::read
    - SpdmAlg::SpdmAlgoPqcReqAsym
    - SpdmAlg::SpdmAlgoKem
    - SpdmReqAsymAlgo::read
    - SpdmDheAlgo::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<SpdmAlgStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1123
    functionName: SpdmCertificateModelType::default
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SpdmCertificateModelType
    signature: fn default() -> SpdmCertificateModelType
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmKeyUsageMask::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1146,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 1147
      start: 1145
    functionDepth: 4
    functionLinenumber: 1145
    functionLinenumberEnd: 1147
    functionName: SpdmKeyUsageMask::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - SpdmKeyUsageMask::bits
    - Vec::encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1150,1
    - Dst: SpdmKeyUsageMask::from_bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 1153
      start: 1149
    functionDepth: 9
    functionLinenumber: 1149
    functionLinenumberEnd: 1153
    functionName: SpdmKeyUsageMask::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 3
    functionsReached:
    - u16::read
    - SpdmKeyUsageMask::from_bits
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<SpdmKeyUsageMask>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1167
    functionDepth: 0
    functionLinenumber: 1167
    functionLinenumberEnd: 1169
    functionName: SpdmMeasurementSummaryHashType::default
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SpdmMeasurementSummaryHashType
    signature: fn default() -> SpdmMeasurementSummaryHashType
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1179,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1180,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 1183
      start: 1178
    functionDepth: 4
    functionLinenumber: 1178
    functionLinenumberEnd: 1183
    functionName: SpdmNonceStruct::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - iter
    - Vec::encode
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1186,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1187,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 1190
      start: 1184
    functionDepth: 9
    functionLinenumber: 1184
    functionLinenumberEnd: 1190
    functionName: SpdmNonceStruct::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 5
    functionsReached:
    - iter_mut
    - u8::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<SpdmNonceStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1200,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1201,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 1204
      start: 1199
    functionDepth: 4
    functionLinenumber: 1199
    functionLinenumberEnd: 1204
    functionName: SpdmChallengeContextStruct::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - iter
    - Vec::encode
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1207,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1208,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 1211
      start: 1205
    functionDepth: 9
    functionLinenumber: 1205
    functionLinenumberEnd: 1211
    functionName: SpdmChallengeContextStruct::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 3
    functionsReached:
    - iter_mut
    - u8::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<SpdmChallengeContextStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1221,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1222,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 1225
      start: 1220
    functionDepth: 4
    functionLinenumber: 1220
    functionLinenumberEnd: 1225
    functionName: SpdmMeasurementContextStruct::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - iter
    - Vec::encode
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1228,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1229,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 1232
      start: 1226
    functionDepth: 9
    functionLinenumber: 1226
    functionLinenumberEnd: 1232
    functionName: SpdmMeasurementContextStruct::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 3
    functionsReached:
    - iter_mut
    - u8::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<SpdmMeasurementContextStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1242,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1243,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 1246
      start: 1241
    functionDepth: 4
    functionLinenumber: 1241
    functionLinenumberEnd: 1246
    functionName: SpdmRandomStruct::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - iter
    - Vec::encode
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1249,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1250,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 1253
      start: 1247
    functionDepth: 9
    functionLinenumber: 1247
    functionLinenumberEnd: 1253
    functionName: SpdmRandomStruct::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 3
    functionsReached:
    - iter_mut
    - u8::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<SpdmRandomStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1262
    functionDepth: 0
    functionLinenumber: 1262
    functionLinenumberEnd: 1267
    functionName: SpdmSignatureStruct::default
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: SpdmSignatureStruct
    signature: fn default() -> SpdmSignatureStruct
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1271
    functionDepth: 0
    functionLinenumber: 1271
    functionLinenumberEnd: 1273
    functionName: SpdmSignatureStruct::as_ref
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: fn as_ref(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::as_ref
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1279,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1279,1
    - Dst: u8::as_ref
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1281,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1281,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1281,1
    - Dst: u8::as_ref
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - value
    argTypes:
    - BytesMut
    constantsTouched: []
    func_position:
      end: 1283
      start: 1277
    functionDepth: 2
    functionLinenumber: 1277
    functionLinenumberEnd: 1283
    functionName: SpdmSignatureStruct::from
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 1
    functionsReached:
    - '&[u8]::len'
    - u8::as_ref
    - copy_from_slice
    linkageType: ''
    returnType: Self
    signature: 'fn from(value: BytesMut) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1293
    functionDepth: 0
    functionLinenumber: 1293
    functionLinenumberEnd: 1298
    functionName: SpdmCertChainData::default
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1301
    functionDepth: 0
    functionLinenumber: 1301
    functionLinenumberEnd: 1303
    functionName: SpdmCertChainData::as_ref
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: fn as_ref(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1309,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1312,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1313,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1313,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1314,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1316,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - writer
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 1317
      start: 1307
    functionDepth: 8
    functionLinenumber: 1307
    functionLinenumberEnd: 1317
    functionName: SpdmCertChainData::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - take
    - iter
    - Err
    - Vec::encode
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, writer: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1320,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1325,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1325,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1326,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1328,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - reader
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 1329
      start: 1319
    functionDepth: 9
    functionLinenumber: 1319
    functionLinenumberEnd: 1329
    functionName: SpdmCertChainData::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 1
    functionsReached:
    - take
    - iter_mut
    - u32::read
    - u8::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(reader: &mut Reader) -> Option<SpdmCertChainData>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1339
    functionDepth: 0
    functionLinenumber: 1339
    functionLinenumberEnd: 1344
    functionName: SpdmCertChainBuffer::default
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1349
      start: 1347
    functionDepth: 0
    functionLinenumber: 1347
    functionLinenumberEnd: 1349
    functionName: SpdmCertChainBuffer::as_ref
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: fn as_ref(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmResult::len
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1358,1
    - Dst: Result::len
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1358,1
    - Dst: SpdmResult::len
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1362,1
    - Dst: Result::len
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1362,1
    - Dst: Self::default
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1363,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1369,1
    - Dst: u16::to_le_bytes
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1369,1
    - Dst: Result::len
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1378,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1379,1
    - Dst: SpdmResult::len
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1383,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1384,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 72
    argCount: 2
    argNames:
    - cert_chain
    - root_cert_hash
    argTypes:
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 1389
      start: 1357
    functionDepth: 2
    functionLinenumber: 1357
    functionLinenumberEnd: 1389
    functionName: SpdmCertChainBuffer::new
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 2
    functionsReached:
    - Result::len
    - u16::to_le_bytes
    - SpdmResult::len
    - Self::default
    - copy_from_slice
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn new(cert_chain: &[u8], root_cert_hash: &[u8]) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1395,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1396,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1396,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1397,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 1400
      start: 1393
    functionDepth: 8
    functionLinenumber: 1393
    functionLinenumberEnd: 1400
    functionName: SpdmCertChainBuffer::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - take
    - iter
    - Vec::encode
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1403,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1408,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1408,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1409,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1411,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 1412
      start: 1402
    functionDepth: 9
    functionLinenumber: 1402
    functionLinenumberEnd: 1412
    functionName: SpdmCertChainBuffer::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 2
    functionsReached:
    - take
    - iter_mut
    - u32::read
    - u8::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<SpdmCertChainBuffer>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1455
    functionDepth: 0
    functionLinenumber: 1455
    functionLinenumberEnd: 1462
    functionName: SpdmDmtfMeasurementStructure::default
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SpdmDmtfMeasurementStructure
    signature: fn default() -> SpdmDmtfMeasurementStructure
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1467,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1468,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1470,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1474,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1475,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1475,1
    - Dst: SimpleLogger::encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1476,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1478,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 1479
      start: 1465
    functionDepth: 8
    functionLinenumber: 1465
    functionLinenumberEnd: 1479
    functionName: SpdmDmtfMeasurementStructure::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - take
    - get_u8
    - SimpleLogger::encode
    - iter
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1481,1
    - Dst: SpdmDmtfMeasurementRepresentation::Unknown
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1487,1
    - Dst: SpdmDmtfMeasurementType::Unknown
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1499,1
    - Dst: SpdmDmtfMeasurementType::Unknown
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1505,1
    - Dst: SpdmDmtfMeasurementType::Unknown
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1511,1
    - Dst: SpdmDmtfMeasurementType::Unknown
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1513,1
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1518,1
    - Dst: u8::iter_mut
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1520,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1520,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1521,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1523,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 1529
      start: 1480
    functionDepth: 9
    functionLinenumber: 1480
    functionLinenumberEnd: 1529
    functionName: SpdmDmtfMeasurementStructure::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 1
    functionsReached:
    - take
    - SpdmDmtfMeasurementRepresentation::Unknown
    - Some
    - u8::read
    - u8::iter_mut
    - u16::read
    - SpdmDmtfMeasurementType::Unknown
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<SpdmDmtfMeasurementStructure>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1542,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1543,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1544,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1545,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1546,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 1547
      start: 1540
    functionDepth: 3
    functionLinenumber: 1540
    functionLinenumberEnd: 1547
    functionName: SpdmMeasurementBlockStructure::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1549,1
    - Dst: SpdmMeasurementSpecification::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1550,1
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1551,1
    - Dst: SpdmDmtfMeasurementStructure::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1552,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1553,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 1559
      start: 1548
    functionDepth: 9
    functionLinenumber: 1548
    functionLinenumberEnd: 1559
    functionName: SpdmMeasurementBlockStructure::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - SpdmDmtfMeasurementStructure::read
    - u8::read
    - u16::read
    - SpdmMeasurementSpecification::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<SpdmMeasurementBlockStructure>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u24::new
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1575
      start: 1569
    functionDepth: 3
    functionLinenumber: 1569
    functionLinenumberEnd: 1575
    functionName: SpdmMeasurementRecordStructure::default
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 11
    functionsReached:
    - u24::new
    linkageType: ''
    returnType: SpdmMeasurementRecordStructure
    signature: fn default() -> SpdmMeasurementRecordStructure
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1589
      start: 1584
    functionDepth: 0
    functionLinenumber: 1584
    functionLinenumberEnd: 1589
    functionName: SpdmDheExchangeStruct::default
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: SpdmDheExchangeStruct
    signature: fn default() -> SpdmDheExchangeStruct
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1595
      start: 1593
    functionDepth: 0
    functionLinenumber: 1593
    functionLinenumberEnd: 1595
    functionName: SpdmDheExchangeStruct::as_ref
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: fn as_ref(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::as_ref
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1601,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1601,1
    - Dst: u8::as_ref
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1603,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1603,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1603,1
    - Dst: u8::as_ref
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - value
    argTypes:
    - BytesMut
    constantsTouched: []
    func_position:
      end: 1605
      start: 1599
    functionDepth: 2
    functionLinenumber: 1599
    functionLinenumberEnd: 1605
    functionName: SpdmDheExchangeStruct::from
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 3
    functionsReached:
    - '&[u8]::len'
    - u8::as_ref
    - copy_from_slice
    linkageType: ''
    returnType: Self
    signature: 'fn from(value: BytesMut) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1619
      start: 1614
    functionDepth: 0
    functionLinenumber: 1614
    functionLinenumberEnd: 1619
    functionName: SpdmKemEncapKeyStruct::default
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SpdmKemEncapKeyStruct
    signature: fn default() -> SpdmKemEncapKeyStruct
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1625
      start: 1623
    functionDepth: 0
    functionLinenumber: 1623
    functionLinenumberEnd: 1625
    functionName: SpdmKemEncapKeyStruct::as_ref
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: fn as_ref(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::as_ref
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1631,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1631,1
    - Dst: u8::as_ref
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1633,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1633,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1633,1
    - Dst: u8::as_ref
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - value
    argTypes:
    - BytesMut
    constantsTouched: []
    func_position:
      end: 1635
      start: 1629
    functionDepth: 2
    functionLinenumber: 1629
    functionLinenumberEnd: 1635
    functionName: SpdmKemEncapKeyStruct::from
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::len'
    - u8::as_ref
    - copy_from_slice
    linkageType: ''
    returnType: Self
    signature: 'fn from(value: BytesMut) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1649
      start: 1644
    functionDepth: 0
    functionLinenumber: 1644
    functionLinenumberEnd: 1649
    functionName: SpdmKemCipherTextStruct::default
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: SpdmKemCipherTextStruct
    signature: fn default() -> SpdmKemCipherTextStruct
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1655
      start: 1653
    functionDepth: 0
    functionLinenumber: 1653
    functionLinenumberEnd: 1655
    functionName: SpdmKemCipherTextStruct::as_ref
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: fn as_ref(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::as_ref
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1661,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1661,1
    - Dst: u8::as_ref
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1663,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1663,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1663,1
    - Dst: u8::as_ref
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - value
    argTypes:
    - BytesMut
    constantsTouched: []
    func_position:
      end: 1665
      start: 1659
    functionDepth: 2
    functionLinenumber: 1659
    functionLinenumberEnd: 1665
    functionName: SpdmKemCipherTextStruct::from
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::len'
    - u8::as_ref
    - copy_from_slice
    linkageType: ''
    returnType: Self
    signature: 'fn from(value: BytesMut) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1679
      start: 1674
    functionDepth: 0
    functionLinenumber: 1674
    functionLinenumberEnd: 1679
    functionName: SpdmReqExchangeStruct::default
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SpdmReqExchangeStruct
    signature: fn default() -> SpdmReqExchangeStruct
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1685
      start: 1683
    functionDepth: 0
    functionLinenumber: 1683
    functionLinenumberEnd: 1685
    functionName: SpdmReqExchangeStruct::as_ref
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: fn as_ref(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::as_ref
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1691,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1691,1
    - Dst: u8::as_ref
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1693,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1693,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1693,1
    - Dst: u8::as_ref
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - value
    argTypes:
    - BytesMut
    constantsTouched: []
    func_position:
      end: 1695
      start: 1689
    functionDepth: 2
    functionLinenumber: 1689
    functionLinenumberEnd: 1695
    functionName: SpdmReqExchangeStruct::from
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::len'
    - u8::as_ref
    - copy_from_slice
    linkageType: ''
    returnType: Self
    signature: 'fn from(value: BytesMut) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - dhe
    argTypes:
    - SpdmDheExchangeStruct
    constantsTouched: []
    func_position:
      end: 1705
      start: 1699
    functionDepth: 0
    functionLinenumber: 1699
    functionLinenumberEnd: 1705
    functionName: SpdmReqExchangeStruct::from_dhe
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 3
    functionsReached:
    - copy_from_slice
    linkageType: ''
    returnType: Self
    signature: 'pub fn from_dhe(dhe: SpdmDheExchangeStruct) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1712
      start: 1706
    functionDepth: 0
    functionLinenumber: 1706
    functionLinenumberEnd: 1712
    functionName: SpdmReqExchangeStruct::to_dhe
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - copy_from_slice
    linkageType: ''
    returnType: SpdmDheExchangeStruct
    signature: pub fn to_dhe(self) -> SpdmDheExchangeStruct
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - kem
    argTypes:
    - SpdmKemEncapKeyStruct
    constantsTouched: []
    func_position:
      end: 1719
      start: 1713
    functionDepth: 0
    functionLinenumber: 1713
    functionLinenumberEnd: 1719
    functionName: SpdmReqExchangeStruct::from_kem
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 1
    functionsReached:
    - copy_from_slice
    linkageType: ''
    returnType: Self
    signature: 'pub fn from_kem(kem: SpdmKemEncapKeyStruct) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1726
      start: 1720
    functionDepth: 0
    functionLinenumber: 1720
    functionLinenumberEnd: 1726
    functionName: SpdmReqExchangeStruct::to_kem
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - copy_from_slice
    linkageType: ''
    returnType: SpdmKemEncapKeyStruct
    signature: pub fn to_kem(self) -> SpdmKemEncapKeyStruct
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1740
      start: 1735
    functionDepth: 0
    functionLinenumber: 1735
    functionLinenumberEnd: 1740
    functionName: SpdmRspExchangeStruct::default
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SpdmRspExchangeStruct
    signature: fn default() -> SpdmRspExchangeStruct
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1746
      start: 1744
    functionDepth: 0
    functionLinenumber: 1744
    functionLinenumberEnd: 1746
    functionName: SpdmRspExchangeStruct::as_ref
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: fn as_ref(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::as_ref
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1752,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1752,1
    - Dst: u8::as_ref
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1754,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1754,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1754,1
    - Dst: u8::as_ref
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - value
    argTypes:
    - BytesMut
    constantsTouched: []
    func_position:
      end: 1756
      start: 1750
    functionDepth: 2
    functionLinenumber: 1750
    functionLinenumberEnd: 1756
    functionName: SpdmRspExchangeStruct::from
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::len'
    - u8::as_ref
    - copy_from_slice
    linkageType: ''
    returnType: Self
    signature: 'fn from(value: BytesMut) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - dhe
    argTypes:
    - SpdmDheExchangeStruct
    constantsTouched: []
    func_position:
      end: 1766
      start: 1760
    functionDepth: 0
    functionLinenumber: 1760
    functionLinenumberEnd: 1766
    functionName: SpdmRspExchangeStruct::from_dhe
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 1
    functionsReached:
    - copy_from_slice
    linkageType: ''
    returnType: Self
    signature: 'pub fn from_dhe(dhe: SpdmDheExchangeStruct) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1773
      start: 1767
    functionDepth: 0
    functionLinenumber: 1767
    functionLinenumberEnd: 1773
    functionName: SpdmRspExchangeStruct::to_dhe
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - copy_from_slice
    linkageType: ''
    returnType: SpdmDheExchangeStruct
    signature: pub fn to_dhe(self) -> SpdmDheExchangeStruct
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - kem
    argTypes:
    - SpdmKemCipherTextStruct
    constantsTouched: []
    func_position:
      end: 1780
      start: 1774
    functionDepth: 0
    functionLinenumber: 1774
    functionLinenumberEnd: 1780
    functionName: SpdmRspExchangeStruct::from_kem
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 1
    functionsReached:
    - copy_from_slice
    linkageType: ''
    returnType: Self
    signature: 'pub fn from_kem(kem: SpdmKemCipherTextStruct) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1787
      start: 1781
    functionDepth: 0
    functionLinenumber: 1781
    functionLinenumberEnd: 1787
    functionName: SpdmRspExchangeStruct::to_kem
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - copy_from_slice
    linkageType: ''
    returnType: SpdmKemCipherTextStruct
    signature: pub fn to_kem(self) -> SpdmKemCipherTextStruct
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1801
      start: 1796
    functionDepth: 0
    functionLinenumber: 1796
    functionLinenumberEnd: 1801
    functionName: SpdmPskContextStruct::default
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: SpdmPskContextStruct
    signature: fn default() -> SpdmPskContextStruct
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1806
      start: 1804
    functionDepth: 0
    functionLinenumber: 1804
    functionLinenumberEnd: 1806
    functionName: SpdmPskContextStruct::as_ref
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: fn as_ref(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1820
      start: 1815
    functionDepth: 0
    functionLinenumber: 1815
    functionLinenumberEnd: 1820
    functionName: SpdmPskHintStruct::default
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: SpdmPskHintStruct
    signature: fn default() -> SpdmPskHintStruct
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1825
      start: 1823
    functionDepth: 0
    functionLinenumber: 1823
    functionLinenumberEnd: 1825
    functionName: SpdmPskHintStruct::as_ref
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: fn as_ref(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1831,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1832,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1832,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1833,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1835,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 1836
      start: 1829
    functionDepth: 8
    functionLinenumber: 1829
    functionLinenumberEnd: 1836
    functionName: SpdmPskHintStruct::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - take
    - iter
    - Vec::encode
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1839,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1844,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1844,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1845,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1847,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 1848
      start: 1838
    functionDepth: 9
    functionLinenumber: 1838
    functionLinenumberEnd: 1848
    functionName: SpdmPskHintStruct::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 1
    functionsReached:
    - take
    - iter_mut
    - u8::read
    - u16::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<SpdmPskHintStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:12,1
    - Dst: u8::as_ref
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:26,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:26,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:27,1
    - Dst: u8::as_ref
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:28,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:28,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:28,1
    - Dst: u8::as_ref
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:28,1
    - Dst: u8::len
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:36,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:37,1
    - Dst: u8::len
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:38,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:38,1
    - Dst: u8::as_ref
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:38,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:46,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:47,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:47,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:48,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:50,1
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:54,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:58,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:59,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:59,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:60,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:62,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 92
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1917
      start: 1851
    functionDepth: 8
    functionLinenumber: 1851
    functionLinenumberEnd: 1917
    functionName: create_sensitive_datatype
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - take
    - u8::len
    - '&[u8]::len'
    - Some
    - iter_mut
    - iter
    - u8::read
    - Box::new
    - u8::as_ref
    - u16::read
    - Vec::encode
    - copy_from_slice
    - Ok
    - encode
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1964,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1965,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1966,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1967,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1968,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1969,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1970,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:1971,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1973
      start: 1962
    functionDepth: 2
    functionLinenumber: 1962
    functionLinenumberEnd: 1973
    functionName: SpdmHkdfInputKeyingMaterial::as_ref
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 1
    functionsReached:
    - as_ref
    linkageType: ''
    returnType: '&[u8]'
    signature: fn as_ref(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1988
      start: 1977
    functionDepth: 0
    functionLinenumber: 1977
    functionLinenumberEnd: 1988
    functionName: SpdmHkdfInputKeyingMaterial::get_data_size
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: u16
    signature: pub fn get_data_size(&self) -> u16
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2000,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2002,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2003,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - okm
    argTypes:
    - SpdmHkdfOutputKeyingMaterial
    constantsTouched: []
    func_position:
      end: 2005
      start: 1992
    functionDepth: 1
    functionLinenumber: 1992
    functionLinenumberEnd: 2005
    functionName: SpdmHandshakeSecretStruct::from_spdm_hkdf_okm
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - Some
    - Box::new
    - copy_from_slice
    linkageType: ''
    returnType: Option
    signature: 'pub fn from_spdm_hkdf_okm(okm: SpdmHkdfOutputKeyingMaterial,) -> Option<SpdmHandshakeSecretStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2012,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2014,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2015,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - prk
    argTypes:
    - SpdmHkdfPseudoRandomKey
    constantsTouched: []
    func_position:
      end: 2017
      start: 2006
    functionDepth: 1
    functionLinenumber: 2006
    functionLinenumberEnd: 2017
    functionName: SpdmHandshakeSecretStruct::from_spdm_hkdf_prk
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 1
    functionsReached:
    - Some
    - Box::new
    - copy_from_slice
    linkageType: ''
    returnType: Option
    signature: 'pub fn from_spdm_hkdf_prk(prk: SpdmHkdfPseudoRandomKey) -> Option<SpdmHandshakeSecretStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2029,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2031,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2033,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - okm
    argTypes:
    - SpdmHkdfOutputKeyingMaterial
    constantsTouched: []
    func_position:
      end: 2035
      start: 2021
    functionDepth: 1
    functionLinenumber: 2021
    functionLinenumberEnd: 2035
    functionName: SpdmDirectionHandshakeSecretStruct::from_spdm_hkdf_okm
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 2
    functionsReached:
    - Some
    - Box::new
    - copy_from_slice
    linkageType: ''
    returnType: Option
    signature: 'pub fn from_spdm_hkdf_okm(okm: SpdmHkdfOutputKeyingMaterial,) -> Option<SpdmDirectionHandshakeSecretStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2044,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2046,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2048,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - prk
    argTypes:
    - SpdmHkdfPseudoRandomKey
    constantsTouched: []
    func_position:
      end: 2050
      start: 2036
    functionDepth: 1
    functionLinenumber: 2036
    functionLinenumberEnd: 2050
    functionName: SpdmDirectionHandshakeSecretStruct::from_spdm_hkdf_prk
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - Some
    - Box::new
    - copy_from_slice
    linkageType: ''
    returnType: Option
    signature: 'pub fn from_spdm_hkdf_prk(prk: SpdmHkdfPseudoRandomKey,) -> Option<SpdmDirectionHandshakeSecretStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2060,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2062,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2063,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - okm
    argTypes:
    - SpdmHkdfOutputKeyingMaterial
    constantsTouched: []
    func_position:
      end: 2065
      start: 2054
    functionDepth: 1
    functionLinenumber: 2054
    functionLinenumberEnd: 2065
    functionName: SpdmMasterSecretStruct::from_spdm_hkdf_okm
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - Some
    - Box::new
    - copy_from_slice
    linkageType: ''
    returnType: Option
    signature: 'pub fn from_spdm_hkdf_okm(okm: SpdmHkdfOutputKeyingMaterial) -> Option<SpdmMasterSecretStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2072,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2074,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2075,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - prk
    argTypes:
    - SpdmHkdfPseudoRandomKey
    constantsTouched: []
    func_position:
      end: 2077
      start: 2066
    functionDepth: 1
    functionLinenumber: 2066
    functionLinenumberEnd: 2077
    functionName: SpdmMasterSecretStruct::from_spdm_hkdf_prk
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 1
    functionsReached:
    - Some
    - Box::new
    - copy_from_slice
    linkageType: ''
    returnType: Option
    signature: 'pub fn from_spdm_hkdf_prk(prk: SpdmHkdfPseudoRandomKey) -> Option<SpdmMasterSecretStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2089,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2091,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2093,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - okm
    argTypes:
    - SpdmHkdfOutputKeyingMaterial
    constantsTouched: []
    func_position:
      end: 2095
      start: 2081
    functionDepth: 1
    functionLinenumber: 2081
    functionLinenumberEnd: 2095
    functionName: SpdmDirectionDataSecretStruct::from_spdm_hkdf_okm
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 3
    functionsReached:
    - Some
    - Box::new
    - copy_from_slice
    linkageType: ''
    returnType: Option
    signature: 'pub fn from_spdm_hkdf_okm(okm: SpdmHkdfOutputKeyingMaterial,) -> Option<SpdmDirectionDataSecretStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2104,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2106,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - prk
    argTypes:
    - SpdmHkdfPseudoRandomKey
    constantsTouched: []
    func_position:
      end: 2110
      start: 2096
    functionDepth: 1
    functionLinenumber: 2096
    functionLinenumberEnd: 2110
    functionName: SpdmDirectionDataSecretStruct::from_spdm_hkdf_prk
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - Some
    - Box::new
    - copy_from_slice
    linkageType: ''
    returnType: Option
    signature: 'pub fn from_spdm_hkdf_prk(prk: SpdmHkdfPseudoRandomKey,) -> Option<SpdmDirectionDataSecretStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2120,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2122,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - okm
    argTypes:
    - SpdmHkdfOutputKeyingMaterial
    constantsTouched: []
    func_position:
      end: 2125
      start: 2114
    functionDepth: 1
    functionLinenumber: 2114
    functionLinenumberEnd: 2125
    functionName: SpdmAeadKeyStruct::from_spdm_hkdf_okm
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 1
    functionsReached:
    - Some
    - Box::new
    - copy_from_slice
    linkageType: ''
    returnType: Option
    signature: 'pub fn from_spdm_hkdf_okm(okm: SpdmHkdfOutputKeyingMaterial) -> Option<SpdmAeadKeyStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2132,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2134,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - prk
    argTypes:
    - SpdmHkdfPseudoRandomKey
    constantsTouched: []
    func_position:
      end: 2137
      start: 2126
    functionDepth: 1
    functionLinenumber: 2126
    functionLinenumberEnd: 2137
    functionName: SpdmAeadKeyStruct::from_spdm_hkdf_prk
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - Some
    - Box::new
    - copy_from_slice
    linkageType: ''
    returnType: Option
    signature: 'pub fn from_spdm_hkdf_prk(prk: SpdmHkdfPseudoRandomKey) -> Option<SpdmAeadKeyStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2147,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2149,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - okm
    argTypes:
    - SpdmHkdfOutputKeyingMaterial
    constantsTouched: []
    func_position:
      end: 2152
      start: 2141
    functionDepth: 1
    functionLinenumber: 2141
    functionLinenumberEnd: 2152
    functionName: SpdmAeadIvStruct::from_spdm_hkdf_okm
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 1
    functionsReached:
    - Some
    - Box::new
    - copy_from_slice
    linkageType: ''
    returnType: Option
    signature: 'pub fn from_spdm_hkdf_okm(okm: SpdmHkdfOutputKeyingMaterial) -> Option<SpdmAeadIvStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2159,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2161,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - prk
    argTypes:
    - SpdmHkdfPseudoRandomKey
    constantsTouched: []
    func_position:
      end: 2164
      start: 2153
    functionDepth: 1
    functionLinenumber: 2153
    functionLinenumberEnd: 2164
    functionName: SpdmAeadIvStruct::from_spdm_hkdf_prk
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - Some
    - Box::new
    - copy_from_slice
    linkageType: ''
    returnType: Option
    signature: 'pub fn from_spdm_hkdf_prk(prk: SpdmHkdfPseudoRandomKey) -> Option<SpdmAeadIvStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2174,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2176,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - okm
    argTypes:
    - SpdmHkdfOutputKeyingMaterial
    constantsTouched: []
    func_position:
      end: 2179
      start: 2168
    functionDepth: 1
    functionLinenumber: 2168
    functionLinenumberEnd: 2179
    functionName: SpdmFinishedKeyStruct::from_spdm_hkdf_okm
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 1
    functionsReached:
    - Some
    - Box::new
    - copy_from_slice
    linkageType: ''
    returnType: Option
    signature: 'pub fn from_spdm_hkdf_okm(okm: SpdmHkdfOutputKeyingMaterial) -> Option<SpdmFinishedKeyStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2186,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2188,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - prk
    argTypes:
    - SpdmHkdfPseudoRandomKey
    constantsTouched: []
    func_position:
      end: 2191
      start: 2180
    functionDepth: 1
    functionLinenumber: 2180
    functionLinenumberEnd: 2191
    functionName: SpdmFinishedKeyStruct::from_spdm_hkdf_prk
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - Some
    - Box::new
    - copy_from_slice
    linkageType: ''
    returnType: Option
    signature: 'pub fn from_spdm_hkdf_prk(prk: SpdmHkdfPseudoRandomKey) -> Option<SpdmFinishedKeyStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2203,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2205,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - okm
    argTypes:
    - SpdmHkdfOutputKeyingMaterial
    constantsTouched: []
    func_position:
      end: 2208
      start: 2195
    functionDepth: 1
    functionLinenumber: 2195
    functionLinenumberEnd: 2208
    functionName: SpdmExportMasterSecretStruct::from_spdm_hkdf_okm
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 1
    functionsReached:
    - Some
    - Box::new
    - copy_from_slice
    linkageType: ''
    returnType: Option
    signature: 'pub fn from_spdm_hkdf_okm(okm: SpdmHkdfOutputKeyingMaterial,) -> Option<SpdmExportMasterSecretStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2217,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2219,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - prk
    argTypes:
    - SpdmHkdfPseudoRandomKey
    constantsTouched: []
    func_position:
      end: 2222
      start: 2209
    functionDepth: 1
    functionLinenumber: 2209
    functionLinenumberEnd: 2222
    functionName: SpdmExportMasterSecretStruct::from_spdm_hkdf_prk
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - Some
    - Box::new
    - copy_from_slice
    linkageType: ''
    returnType: Option
    signature: 'pub fn from_spdm_hkdf_prk(prk: SpdmHkdfPseudoRandomKey,) -> Option<SpdmExportMasterSecretStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&SpdmHkdfInputKeyingMaterial::get_data_size'
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2229,1
    - Dst: '&SpdmHkdfInputKeyingMaterial::get_data_size'
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2229,1
    - Dst: '&SpdmHkdfInputKeyingMaterial::get_data_size'
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2233,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2234,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2237,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2240,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2243,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2246,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2249,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2252,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2255,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2258,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2262,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 122
    argCount: 1
    argNames:
    - ikm
    argTypes:
    - '&SpdmHkdfInputKeyingMaterial'
    constantsTouched: []
    func_position:
      end: 2264
      start: 2226
    functionDepth: 1
    functionLinenumber: 2226
    functionLinenumberEnd: 2264
    functionName: SpdmHkdfPseudoRandomKey::from_input_keying_material
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 9
    functionsReached:
    - Some
    - '&SpdmHkdfInputKeyingMaterial::get_data_size'
    - Box::new
    - copy_from_slice
    linkageType: ''
    returnType: Option
    signature: 'pub fn from_input_keying_material(ikm: &SpdmHkdfInputKeyingMaterial,)
      -> Option<SpdmHkdfPseudoRandomKey>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 2282
      start: 2277
    functionDepth: 0
    functionLinenumber: 2277
    functionLinenumberEnd: 2282
    functionName: KeyExchangeAlgo::fmt
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: core::fmt::Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter<''_>) -> core::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmDheAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2290,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2296
      start: 2286
    functionDepth: 2
    functionLinenumber: 2286
    functionLinenumberEnd: 2296
    functionName: KeyExchangeAlgo::zeroize
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - SpdmDheAlgo::empty
    - SpdmKemAlgo::empty
    linkageType: ''
    returnType: void
    signature: fn zeroize(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::debug_struct
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2311,1
    - Dst: field
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2311,1
    - Dst: field
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2311,1
    - Dst: finish
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 2318
      start: 2310
    functionDepth: 11
    functionLinenumber: 2310
    functionLinenumberEnd: 2318
    functionName: KeyExchangeContextData::fmt
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - SpdmCertChainBuffer::debug_struct
    - finish
    - field
    linkageType: ''
    returnType: core::fmt::Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter<''_>) -> core::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zeroize
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2323,1
    - Dst: zeroize
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2325
      start: 2322
    functionDepth: 3
    functionLinenumber: 2322
    functionLinenumberEnd: 2325
    functionName: KeyExchangeContextData::zeroize
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 1
    functionsReached:
    - zeroize
    linkageType: ''
    returnType: void
    signature: fn zeroize(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyExchangeContextData::zeroize
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2331
      start: 2329
    functionDepth: 4
    functionLinenumber: 2329
    functionLinenumberEnd: 2331
    functionName: KeyExchangeContextData::drop
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - KeyExchangeContextData::zeroize
    linkageType: ''
    returnType: void
    signature: fn drop(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bytes::used
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2337,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2340,1
    - Dst: bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2341,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2341,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2344,1
    - Dst: bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2345,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2345,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2348,1
    - Dst: usize::encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2349,1
    - Dst: Bytes::extend_from_slice
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2350,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2350,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2353,1
    - Dst: Bytes::used
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2353,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 46
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 2354
      start: 2336
    functionDepth: 3
    functionLinenumber: 2336
    functionLinenumberEnd: 2354
    functionName: KeyExchangeContextData::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - usize::encode
    - ok_or
    - bits
    - len
    - Vec::encode
    - Bytes::used
    - Bytes::extend_from_slice
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2357,1
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2358,1
    - Dst: KeyExchangeAlgo::Dhe
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2360,1
    - Dst: SpdmDheAlgo::from_bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2360,1
    - Dst: KeyExchangeAlgo::Kem
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2363,1
    - Dst: SpdmKemAlgo::from_bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2363,1
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2368,1
    - Dst: left
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2372,1
    - Dst: alloc::vec::Vec::with_capacity
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2375,1
    - Dst: BytesMutStrubbed::push
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2377,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2377,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2379,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 2383
      start: 2356
    functionDepth: 9
    functionLinenumber: 2356
    functionLinenumberEnd: 2383
    functionName: KeyExchangeContextData::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 2
    functionsReached:
    - left
    - SpdmDheAlgo::from_bits
    - KeyExchangeAlgo::Kem
    - SpdmKemAlgo::from_bits
    - u8::read
    - u32::read
    - KeyExchangeAlgo::Dhe
    - alloc::vec::Vec::with_capacity
    - u16::read
    - BytesMutStrubbed::push
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Default::default
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2395,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2397,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2400,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2403,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2412,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2412,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2414
      start: 2392
    functionDepth: 5
    functionLinenumber: 2392
    functionLinenumberEnd: 2414
    functionName: tests::test_spdm_cert_chain_data_codec
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - Writer::init
    - copy_from_slice
    - Reader::init
    - Default::default
    - encode
    linkageType: ''
    returnType: void
    signature: fn test_spdm_cert_chain_data_codec()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2419,1
    - Dst: SpdmMeasurementSpecification::all
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2420,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2430
      start: 2417
    functionDepth: 1
    functionLinenumber: 2417
    functionLinenumberEnd: 2430
    functionName: tests::test_case0_spdm_measurement_specification
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Reader::init
    - SpdmMeasurementSpecification::all
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_measurement_specification()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2434,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2438,1
    - Dst: SpdmAlgoOtherParams::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2441,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2447
      start: 2432
    functionDepth: 10
    functionLinenumber: 2432
    functionLinenumberEnd: 2447
    functionName: tests::test_case0_spdm_algo_other_params_selection
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Reader::init
    - Option::unwrap
    - SpdmAlgoOtherParams::read
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_algo_other_params_selection()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2451,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2462
      start: 2449
    functionDepth: 1
    functionLinenumber: 2449
    functionLinenumberEnd: 2462
    functionName: tests::test_case0_spdm_measurement_hash_algo
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_measurement_hash_algo()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2466,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2476
      start: 2464
    functionDepth: 1
    functionLinenumber: 2464
    functionLinenumberEnd: 2476
    functionName: tests::test_case0_spdm_base_asym_algo
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_base_asym_algo()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2480,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2490
      start: 2478
    functionDepth: 1
    functionLinenumber: 2478
    functionLinenumberEnd: 2490
    functionName: tests::test_case0_spdm_base_hash_algo
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_base_hash_algo()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2494,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2504
      start: 2492
    functionDepth: 1
    functionLinenumber: 2492
    functionLinenumberEnd: 2504
    functionName: tests::test_case0_spdm_dhe_algo
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_dhe_algo()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2509,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2519
      start: 2507
    functionDepth: 1
    functionLinenumber: 2507
    functionLinenumberEnd: 2519
    functionName: tests::test_case0_spdm_aead_algo
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_aead_algo()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2523,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2533
      start: 2521
    functionDepth: 1
    functionLinenumber: 2521
    functionLinenumberEnd: 2533
    functionName: tests::test_case0_spdm_req_asym_algo
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_req_asym_algo()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2537,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2547
      start: 2535
    functionDepth: 1
    functionLinenumber: 2535
    functionLinenumberEnd: 2547
    functionName: tests::test_case0_spdm_key_schedule_algo
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_key_schedule_algo()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2551,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2556,1
    - Dst: SpdmNonceStruct::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2558,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2564
      start: 2549
    functionDepth: 10
    functionLinenumber: 2549
    functionLinenumberEnd: 2564
    functionName: tests::test_case0_spdm_nonce_struct
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Reader::init
    - Option::unwrap
    - SpdmNonceStruct::read
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_nonce_struct()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2569,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2574,1
    - Dst: SpdmChallengeContextStruct::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2576,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2576,1
    - Dst: SpdmChallengeContextStruct::default
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2583,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2587
      start: 2567
    functionDepth: 10
    functionLinenumber: 2567
    functionLinenumberEnd: 2587
    functionName: tests::test_case0_spdm_challenge_context_struct
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - SpdmChallengeContextStruct::read
    - Option::unwrap
    - Writer::init
    - Reader::init
    - SpdmChallengeContextStruct::default
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_challenge_context_struct()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2592,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2597,1
    - Dst: SpdmMeasurementContextStruct::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2600,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2600,1
    - Dst: SpdmMeasurementContextStruct::default
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2607,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2611
      start: 2590
    functionDepth: 10
    functionLinenumber: 2590
    functionLinenumberEnd: 2611
    functionName: tests::test_case0_spdm_measurement_context_struct
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - Option::unwrap
    - SpdmMeasurementContextStruct::default
    - SpdmMeasurementContextStruct::read
    - Writer::init
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_measurement_context_struct()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2616,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2621,1
    - Dst: SpdmRandomStruct::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2623,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2623,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2629
      start: 2614
    functionDepth: 10
    functionLinenumber: 2614
    functionLinenumberEnd: 2629
    functionName: tests::test_case0_spdm_random_struct
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Reader::init
    - SpdmRandomStruct::read
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_random_struct()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2633,1
    - Dst: SpdmAlg::SpdmAlgoDhe
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2636,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2640,1
    - Dst: SpdmAlgStruct::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2642,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2649
      start: 2631
    functionDepth: 11
    functionLinenumber: 2631
    functionLinenumberEnd: 2649
    functionName: tests::test_case0_spdm_alg_struct
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - SpdmAlgStruct::read
    - SpdmAlg::SpdmAlgoDhe
    - Option::unwrap
    - Writer::init
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_alg_struct()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2654,1
    - Dst: SpdmAlgType::Unknown
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2656,1
    - Dst: SpdmAlg::SpdmAlgoUnknown
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2657,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2661,1
    - Dst: SpdmAlgStruct::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2666
      start: 2652
    functionDepth: 11
    functionLinenumber: 2652
    functionLinenumberEnd: 2666
    functionName: tests::test_case3_spdm_alg_struct
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - SpdmAlgStruct::read
    - SpdmAlgType::Unknown
    - Writer::init
    - SpdmAlg::SpdmAlgoUnknown
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_case3_spdm_alg_struct()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BytesMutStrubbed::new
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2669,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2671,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2674,1
    - Dst: SpdmDigestStruct::from
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2680
      start: 2668
    functionDepth: 2
    functionLinenumber: 2668
    functionLinenumberEnd: 2680
    functionName: tests::test_case0_spdm_digest_struct
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - BytesMutStrubbed::new
    - SpdmDigestStruct::from
    - Box::new
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_digest_struct()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmMeasurementSpecification::empty
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2684,1
    - Dst: prioritize
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2686
      start: 2682
    functionDepth: 4
    functionLinenumber: 2682
    functionLinenumberEnd: 2686
    functionName: tests::test_case1_spdm_measurement_specification
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - SpdmMeasurementSpecification::empty
    - prioritize
    linkageType: ''
    returnType: void
    signature: fn test_case1_spdm_measurement_specification()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BytesMut::new
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2689,1
    - Dst: SpdmSignatureStruct::from
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2690,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2695
      start: 2688
    functionDepth: 3
    functionLinenumber: 2688
    functionLinenumberEnd: 2695
    functionName: tests::test_case1_spdm_signature_struct
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - BytesMut::new
    - SpdmSignatureStruct::from
    linkageType: ''
    returnType: void
    signature: fn test_case1_spdm_signature_struct()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmMeasurementHashAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2712,1
    - Dst: u8::get_size
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2714
      start: 2699
    functionDepth: 2
    functionLinenumber: 2699
    functionLinenumberEnd: 2714
    functionName: tests::test_case1_spdm_measurement_hash_algo
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - SpdmMeasurementHashAlgo::empty
    - u8::get_size
    linkageType: ''
    returnType: void
    signature: fn test_case1_spdm_measurement_hash_algo()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmBaseAsymAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2742,1
    - Dst: u8::get_sig_size
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2744
      start: 2717
    functionDepth: 2
    functionLinenumber: 2717
    functionLinenumberEnd: 2744
    functionName: tests::test_case1_spdm_base_asym_algo
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - u8::get_sig_size
    - SpdmBaseAsymAlgo::empty
    linkageType: ''
    returnType: void
    signature: fn test_case1_spdm_base_asym_algo()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmDheAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2754,1
    - Dst: u8::get_key_size
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2756
      start: 2747
    functionDepth: 2
    functionLinenumber: 2747
    functionLinenumberEnd: 2756
    functionName: tests::test_case1_spdm_dhe_algo
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - u8::get_key_size
    - SpdmDheAlgo::empty
    linkageType: ''
    returnType: void
    signature: fn test_case1_spdm_dhe_algo()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmAeadAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2769,1
    - Dst: u8::get_key_size
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2771
      start: 2759
    functionDepth: 2
    functionLinenumber: 2759
    functionLinenumberEnd: 2771
    functionName: tests::test_case1_spdm_aead_algo
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - u8::get_key_size
    - SpdmAeadAlgo::empty
    linkageType: ''
    returnType: void
    signature: fn test_case1_spdm_aead_algo()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmAeadAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2784,1
    - Dst: u8::get_key_size
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2786
      start: 2774
    functionDepth: 2
    functionLinenumber: 2774
    functionLinenumberEnd: 2786
    functionName: tests::test_case2_spdm_aead_algo
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - u8::get_key_size
    - SpdmAeadAlgo::empty
    linkageType: ''
    returnType: void
    signature: fn test_case2_spdm_aead_algo()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmAeadAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2799,1
    - Dst: u8::get_iv_size
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2801
      start: 2789
    functionDepth: 2
    functionLinenumber: 2789
    functionLinenumberEnd: 2801
    functionName: tests::test_case3_spdm_aead_algo
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - u8::get_iv_size
    - SpdmAeadAlgo::empty
    linkageType: ''
    returnType: void
    signature: fn test_case3_spdm_aead_algo()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmAeadAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2814,1
    - Dst: u8::get_tag_size
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2816
      start: 2804
    functionDepth: 2
    functionLinenumber: 2804
    functionLinenumberEnd: 2816
    functionName: tests::test_case4_spdm_aead_algo
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - u8::get_tag_size
    - SpdmAeadAlgo::empty
    linkageType: ''
    returnType: void
    signature: fn test_case4_spdm_aead_algo()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmReqAsymAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2844,1
    - Dst: u8::get_sig_size
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2846
      start: 2819
    functionDepth: 2
    functionLinenumber: 2819
    functionLinenumberEnd: 2846
    functionName: tests::test_case1_spdm_req_asym_algo
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - u8::get_sig_size
    - SpdmReqAsymAlgo::empty
    linkageType: ''
    returnType: void
    signature: fn test_case1_spdm_req_asym_algo()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2850,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2853,1
    - Dst: SpdmUnknownAlgo::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2855
      start: 2848
    functionDepth: 1
    functionLinenumber: 2848
    functionLinenumberEnd: 2855
    functionName: tests::test_case0_spdm_unknown_algo
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Reader::init
    - SpdmUnknownAlgo::read
    linkageType: ''
    returnType: void
    signature: fn test_case0_spdm_unknown_algo()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2862,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2862,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2865,1
    - Dst: usize::to_le_bytes
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2865,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2867,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2872
      start: 2858
    functionDepth: 3
    functionLinenumber: 2858
    functionLinenumberEnd: 2872
    functionName: tests::test_key_exchange_context_data_rejects_oversized_len
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - bits
    - to_le_bytes
    - copy_from_slice
    - Reader::init
    - usize::to_le_bytes
    linkageType: ''
    returnType: void
    signature: fn test_key_exchange_context_data_rejects_oversized_len()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::cmp::max
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2876,1
    - Dst: bits
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2879,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2879,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2882,1
    - Dst: f64::to_le_bytes
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2882,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2889
      start: 2875
    functionDepth: 3
    functionLinenumber: 2875
    functionLinenumberEnd: 2889
    functionName: tests::test_key_exchange_context_data_rejects_truncated_payload
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - bits
    - to_le_bytes
    - core::cmp::max
    - copy_from_slice
    - Reader::init
    - f64::to_le_bytes
    linkageType: ''
    returnType: void
    signature: fn test_key_exchange_context_data_rejects_truncated_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2897,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2897,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2899,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2904
      start: 2892
    functionDepth: 1
    functionLinenumber: 2892
    functionLinenumberEnd: 2904
    functionName: tests::test_key_exchange_context_data_rejects_invalid_algo_type
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - Reader::init
    - to_le_bytes
    - copy_from_slice
    linkageType: ''
    returnType: void
    signature: fn test_key_exchange_context_data_rejects_invalid_algo_type()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyExchangeAlgo::Dhe
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2909,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2914,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2915,1
    - Dst: expect
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2915,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2916,1
    - Dst: KeyExchangeContextData::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2917,1
    - Dst: Option::expect
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2920
      start: 2907
    functionDepth: 10
    functionLinenumber: 2907
    functionLinenumberEnd: 2920
    functionName: tests::test_key_exchange_context_data_roundtrip_dhe
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - Option::expect
    - KeyExchangeAlgo::Dhe
    - Writer::init
    - Reader::init
    - expect
    - KeyExchangeContextData::read
    - encode
    linkageType: ''
    returnType: void
    signature: fn test_key_exchange_context_data_roundtrip_dhe()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyExchangeAlgo::Kem
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2925,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2930,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2931,1
    - Dst: expect
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2931,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2932,1
    - Dst: KeyExchangeContextData::read
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2933,1
    - Dst: Option::expect
      Src: /src/spdm-rs/spdmlib/src/protocol/algo.rs:2933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2936
      start: 2923
    functionDepth: 10
    functionLinenumber: 2923
    functionLinenumberEnd: 2936
    functionName: tests::test_key_exchange_context_data_roundtrip_kem
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/algo.rs
    functionUses: 0
    functionsReached:
    - Option::expect
    - KeyExchangeAlgo::Kem
    - Writer::init
    - Reader::init
    - expect
    - KeyExchangeContextData::read
    - encode
    linkageType: ''
    returnType: void
    signature: fn test_key_exchange_context_data_roundtrip_kem()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/spdm-rs/spdmlib/src/protocol/mod.rs:19,1
    - Dst: VecDeque::push
      Src: /src/spdm-rs/spdmlib/src/protocol/mod.rs:21,1
    - Dst: T::default
      Src: /src/spdm-rs/spdmlib/src/protocol/mod.rs:21,1
    - Dst: VecDeque::try_into
      Src: /src/spdm-rs/spdmlib/src/protocol/mod.rs:23,1
    - Dst: Result::unwrap_or_else
      Src: /src/spdm-rs/spdmlib/src/protocol/mod.rs:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - count
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 25
      start: 18
    functionDepth: 4
    functionLinenumber: 18
    functionLinenumberEnd: 25
    functionName: gen_array
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/mod.rs
    functionUses: 1
    functionsReached:
    - T::default
    - VecDeque::push
    - VecDeque::try_into
    - Vec::new
    - Result::unwrap_or_else
    linkageType: ''
    returnType: '[T; N]'
    signature: 'pub fn gen_array<T: Default, const N: usize>(count: usize) -> [T;
      N]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/spdm-rs/spdmlib/src/protocol/mod.rs:29,1
    - Dst: VecDeque::push
      Src: /src/spdm-rs/spdmlib/src/protocol/mod.rs:31,1
    - Dst: SimpleLogger::clone
      Src: /src/spdm-rs/spdmlib/src/protocol/mod.rs:31,1
    - Dst: VecDeque::push
      Src: /src/spdm-rs/spdmlib/src/protocol/mod.rs:33,1
    - Dst: VecDeque::try_into
      Src: /src/spdm-rs/spdmlib/src/protocol/mod.rs:34,1
    - Dst: Result::unwrap_or_else
      Src: /src/spdm-rs/spdmlib/src/protocol/mod.rs:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - v
    - count
    argTypes:
    - T
    - usize
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 4
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: gen_array_clone
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/mod.rs
    functionUses: 53
    functionsReached:
    - VecDeque::push
    - VecDeque::try_into
    - SimpleLogger::clone
    - Vec::new
    - Result::unwrap_or_else
    linkageType: ''
    returnType: '[T; N]'
    signature: 'pub fn gen_array_clone<T: Clone, const N: usize>(v: T, count: usize)
      -> [T; N]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmRequestCapabilityFlags::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/capability.rs:55,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/protocol/capability.rs:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 4
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: SpdmRequestCapabilityFlags::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/capability.rs
    functionUses: 0
    functionsReached:
    - Vec::encode
    - SpdmRequestCapabilityFlags::bits
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/protocol/capability.rs:59,1
    - Dst: SpdmRequestCapabilityFlags::from_bits
      Src: /src/spdm-rs/spdmlib/src/protocol/capability.rs:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 9
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: SpdmRequestCapabilityFlags::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/capability.rs
    functionUses: 3
    functionsReached:
    - u32::read
    - SpdmRequestCapabilityFlags::from_bits
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<SpdmRequestCapabilityFlags>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmRequestCapabilityExFlags::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/capability.rs:73,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/protocol/capability.rs:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 4
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: SpdmRequestCapabilityExFlags::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/capability.rs
    functionUses: 0
    functionsReached:
    - SpdmRequestCapabilityExFlags::bits
    - Vec::encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/protocol/capability.rs:77,1
    - Dst: SpdmRequestCapabilityExFlags::from_bits
      Src: /src/spdm-rs/spdmlib/src/protocol/capability.rs:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 9
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: SpdmRequestCapabilityExFlags::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/capability.rs
    functionUses: 1
    functionsReached:
    - u16::read
    - SpdmRequestCapabilityExFlags::from_bits
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<SpdmRequestCapabilityExFlags>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmResponseCapabilityFlags::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/capability.rs:155,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/protocol/capability.rs:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 4
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: SpdmResponseCapabilityFlags::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/capability.rs
    functionUses: 0
    functionsReached:
    - SpdmResponseCapabilityFlags::bits
    - Vec::encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/protocol/capability.rs:159,1
    - Dst: SpdmResponseCapabilityFlags::from_bits
      Src: /src/spdm-rs/spdmlib/src/protocol/capability.rs:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 9
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: SpdmResponseCapabilityFlags::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/capability.rs
    functionUses: 3
    functionsReached:
    - SpdmResponseCapabilityFlags::from_bits
    - u32::read
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<SpdmResponseCapabilityFlags>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmResponseCapabilityExFlags::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/capability.rs:175,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/protocol/capability.rs:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 4
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: SpdmResponseCapabilityExFlags::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/capability.rs
    functionUses: 0
    functionsReached:
    - Vec::encode
    - SpdmResponseCapabilityExFlags::bits
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/protocol/capability.rs:179,1
    - Dst: SpdmResponseCapabilityExFlags::from_bits
      Src: /src/spdm-rs/spdmlib/src/protocol/capability.rs:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 9
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: SpdmResponseCapabilityExFlags::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/capability.rs
    functionUses: 1
    functionsReached:
    - u16::read
    - SpdmResponseCapabilityExFlags::from_bits
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<SpdmResponseCapabilityExFlags>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCapabilityParam1::bits
      Src: /src/spdm-rs/spdmlib/src/protocol/capability.rs:197,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/protocol/capability.rs:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 4
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: SpdmCapabilityParam1::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/capability.rs
    functionUses: 0
    functionsReached:
    - Vec::encode
    - SpdmCapabilityParam1::bits
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/protocol/capability.rs:201,1
    - Dst: SpdmCapabilityParam1::from_bits
      Src: /src/spdm-rs/spdmlib/src/protocol/capability.rs:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 204
      start: 200
    functionDepth: 9
    functionLinenumber: 200
    functionLinenumberEnd: 204
    functionName: SpdmCapabilityParam1::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/capability.rs
    functionUses: 2
    functionsReached:
    - u8::read
    - SpdmCapabilityParam1::from_bits
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<SpdmCapabilityParam1>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/protocol/version.rs:22,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/protocol/version.rs:24,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/protocol/version.rs:26,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/protocol/version.rs:28,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/protocol/version.rs:30,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/protocol/version.rs:32,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - untrusted_spdm_version
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 34
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 34
    functionName: SpdmVersion::try_from
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/version.rs
    functionUses: 0
    functionsReached:
    - Err
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn try_from(untrusted_spdm_version: u8) -> Result<Self, <Self as TryFrom<u8>>::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::from
      Src: /src/spdm-rs/spdmlib/src/protocol/version.rs:57,1
    - Dst: Self::encode
      Src: /src/spdm-rs/spdmlib/src/protocol/version.rs:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut codec::Writer<''_>'
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 3
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: SpdmVersion::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/version.rs
    functionUses: 0
    functionsReached:
    - u8::from
    - Self::encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut codec::Writer<''_>) -> Result<usize,
      EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/protocol/version.rs:61,1
    - Dst: Self::try_from
      Src: /src/spdm-rs/spdmlib/src/protocol/version.rs:62,1
    - Dst: Result::ok
      Src: /src/spdm-rs/spdmlib/src/protocol/version.rs:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut codec::Reader<''_>'
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 9
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: SpdmVersion::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/protocol/version.rs
    functionUses: 4
    functionsReached:
    - Self::try_from
    - u8::read
    - Result::ok
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut codec::Reader<''_>) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_init_once
      Src: /src/spdm-rs/spdmlib/src/secret/mod.rs:21,1
    - Dst: is_ok
      Src: /src/spdm-rs/spdmlib/src/secret/mod.rs:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - context
    argTypes:
    - SpdmSecretMeasurement
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: measurement::register
    functionSourceFile: /src/spdm-rs/spdmlib/src/secret/mod.rs
    functionUses: 18
    functionsReached:
    - try_init_once
    - is_ok
    linkageType: ''
    returnType: bool
    signature: 'pub fn register(context: SpdmSecretMeasurement) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/spdmlib/src/secret/mod.rs:64,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/secret/mod.rs:65,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib/src/secret/mod.rs:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - spdm_version
    - measurement_specification
    - measurement_hash_algo
    - measurement_index
    argTypes:
    - SpdmVersion
    - SpdmMeasurementSpecification
    - SpdmMeasurementHashAlgo
    - usize
    constantsTouched: []
    func_position:
      end: 73
      start: 58
    functionDepth: 9
    functionLinenumber: 58
    functionLinenumberEnd: 73
    functionName: measurement::measurement_collection
    functionSourceFile: /src/spdm-rs/spdmlib/src/secret/mod.rs
    functionUses: 2
    functionsReached:
    - ok
    - try_get_or_init
    - clone
    linkageType: ''
    returnType: Option
    signature: 'pub fn measurement_collection(spdm_version: SpdmVersion,measurement_specification:
      SpdmMeasurementSpecification,measurement_hash_algo: SpdmMeasurementHashAlgo,measurement_index:
      usize,) -> Option<SpdmMeasurementRecordStructure>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/spdmlib/src/secret/mod.rs:81,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/secret/mod.rs:82,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib/src/secret/mod.rs:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - spdm_version
    - base_hash_algo
    - measurement_specification
    - measurement_hash_algo
    - measurement_summary_hash_type
    argTypes:
    - SpdmVersion
    - SpdmBaseHashAlgo
    - SpdmMeasurementSpecification
    - SpdmMeasurementHashAlgo
    - SpdmMeasurementSummaryHashType
    constantsTouched: []
    func_position:
      end: 91
      start: 74
    functionDepth: 9
    functionLinenumber: 74
    functionLinenumberEnd: 91
    functionName: measurement::generate_measurement_summary_hash
    functionSourceFile: /src/spdm-rs/spdmlib/src/secret/mod.rs
    functionUses: 3
    functionsReached:
    - ok
    - try_get_or_init
    - clone
    linkageType: ''
    returnType: Option
    signature: 'pub fn generate_measurement_summary_hash(spdm_version: SpdmVersion,base_hash_algo:
      SpdmBaseHashAlgo,measurement_specification: SpdmMeasurementSpecification,measurement_hash_algo:
      SpdmMeasurementHashAlgo,measurement_summary_hash_type: SpdmMeasurementSummaryHashType,)
      -> Option<SpdmDigestStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_init_once
      Src: /src/spdm-rs/spdmlib/src/secret/mod.rs:97,1
    - Dst: is_ok
      Src: /src/spdm-rs/spdmlib/src/secret/mod.rs:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - context
    argTypes:
    - SpdmSecretPsk
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: psk::register
    functionSourceFile: /src/spdm-rs/spdmlib/src/secret/mod.rs
    functionUses: 15
    functionsReached:
    - try_init_once
    - is_ok
    linkageType: ''
    returnType: bool
    signature: 'pub fn register(context: SpdmSecretPsk) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/spdmlib/src/secret/mod.rs:124,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/secret/mod.rs:125,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib/src/secret/mod.rs:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - spdm_version
    - base_hash_algo
    - psk_hint
    - info
    argTypes:
    - SpdmVersion
    - SpdmBaseHashAlgo
    - '&SpdmPskHintStruct'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 128
      start: 118
    functionDepth: 9
    functionLinenumber: 118
    functionLinenumberEnd: 128
    functionName: psk::handshake_secret_hkdf_expand
    functionSourceFile: /src/spdm-rs/spdmlib/src/secret/mod.rs
    functionUses: 2
    functionsReached:
    - ok
    - try_get_or_init
    - clone
    linkageType: ''
    returnType: Option
    signature: 'pub fn handshake_secret_hkdf_expand(spdm_version: SpdmVersion,base_hash_algo:
      SpdmBaseHashAlgo,psk_hint: &SpdmPskHintStruct,info: &[u8],) -> Option<SpdmHkdfOutputKeyingMaterial>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/spdmlib/src/secret/mod.rs:136,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/secret/mod.rs:137,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib/src/secret/mod.rs:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - spdm_version
    - base_hash_algo
    - psk_hint
    - info
    argTypes:
    - SpdmVersion
    - SpdmBaseHashAlgo
    - '&SpdmPskHintStruct'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 140
      start: 130
    functionDepth: 9
    functionLinenumber: 130
    functionLinenumberEnd: 140
    functionName: psk::master_secret_hkdf_expand
    functionSourceFile: /src/spdm-rs/spdmlib/src/secret/mod.rs
    functionUses: 3
    functionsReached:
    - ok
    - try_get_or_init
    - clone
    linkageType: ''
    returnType: Option
    signature: 'pub fn master_secret_hkdf_expand(spdm_version: SpdmVersion,base_hash_algo:
      SpdmBaseHashAlgo,psk_hint: &SpdmPskHintStruct,info: &[u8],) -> Option<SpdmHkdfOutputKeyingMaterial>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_init_once
      Src: /src/spdm-rs/spdmlib/src/secret/mod.rs:150,1
    - Dst: is_ok
      Src: /src/spdm-rs/spdmlib/src/secret/mod.rs:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - context
    argTypes:
    - SpdmSecretAsymSign
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: asym_sign::register
    functionSourceFile: /src/spdm-rs/spdmlib/src/secret/mod.rs
    functionUses: 109
    functionsReached:
    - try_init_once
    - is_ok
    linkageType: ''
    returnType: bool
    signature: 'pub fn register(context: SpdmSecretAsymSign) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/spdmlib/src/secret/mod.rs:167,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/secret/mod.rs:168,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib/src/secret/mod.rs:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - spdm_context
    - base_hash_algo
    - base_asym_algo
    - data
    argTypes:
    - '&SpdmContext'
    - SpdmBaseHashAlgo
    - SpdmBaseAsymAlgo
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 171
      start: 161
    functionDepth: 9
    functionLinenumber: 161
    functionLinenumberEnd: 171
    functionName: asym_sign::sign
    functionSourceFile: /src/spdm-rs/spdmlib/src/secret/mod.rs
    functionUses: 1
    functionsReached:
    - ok
    - try_get_or_init
    - clone
    linkageType: ''
    returnType: Option
    signature: 'pub fn sign(spdm_context: &SpdmContext,base_hash_algo: SpdmBaseHashAlgo,base_asym_algo:
      SpdmBaseAsymAlgo,data: &[u8],) -> Option<SpdmSignatureStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_init_once
      Src: /src/spdm-rs/spdmlib/src/secret/mod.rs:181,1
    - Dst: is_ok
      Src: /src/spdm-rs/spdmlib/src/secret/mod.rs:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - context
    argTypes:
    - SpdmSecretPqcAsymSign
    constantsTouched: []
    func_position:
      end: 182
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 182
    functionName: pqc_asym_sign::register
    functionSourceFile: /src/spdm-rs/spdmlib/src/secret/mod.rs
    functionUses: 109
    functionsReached:
    - try_init_once
    - is_ok
    linkageType: ''
    returnType: bool
    signature: 'pub fn register(context: SpdmSecretPqcAsymSign) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/spdmlib/src/secret/mod.rs:198,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/secret/mod.rs:199,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib/src/secret/mod.rs:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - spdm_context
    - base_hash_algo
    - pqc_asym_algo
    - data
    argTypes:
    - '&SpdmContext'
    - SpdmBaseHashAlgo
    - SpdmPqcAsymAlgo
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 202
      start: 192
    functionDepth: 9
    functionLinenumber: 192
    functionLinenumberEnd: 202
    functionName: pqc_asym_sign::sign
    functionSourceFile: /src/spdm-rs/spdmlib/src/secret/mod.rs
    functionUses: 1
    functionsReached:
    - ok
    - try_get_or_init
    - clone
    linkageType: ''
    returnType: Option
    signature: 'pub fn sign(spdm_context: &SpdmContext,base_hash_algo: SpdmBaseHashAlgo,pqc_asym_algo:
      SpdmPqcAsymAlgo,data: &[u8],) -> Option<SpdmSignatureStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmPqcAsymAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/secret/mod.rs:217,1
    - Dst: pqc_asym_sign::sign
      Src: /src/spdm-rs/spdmlib/src/secret/mod.rs:218,1
    - Dst: asym_sign::sign
      Src: /src/spdm-rs/spdmlib/src/secret/mod.rs:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - spdm_context
    - base_hash_algo
    - base_asym_algo
    - pqc_asym_algo
    - data
    argTypes:
    - '&SpdmContext'
    - SpdmBaseHashAlgo
    - SpdmBaseAsymAlgo
    - SpdmPqcAsymAlgo
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 222
      start: 210
    functionDepth: 10
    functionLinenumber: 210
    functionLinenumberEnd: 222
    functionName: spdm_asym_sign
    functionSourceFile: /src/spdm-rs/spdmlib/src/secret/mod.rs
    functionUses: 4
    functionsReached:
    - asym_sign::sign
    - pqc_asym_sign::sign
    - SpdmPqcAsymAlgo::empty
    linkageType: ''
    returnType: Option
    signature: 'pub fn spdm_asym_sign(spdm_context: &SpdmContext,base_hash_algo: SpdmBaseHashAlgo,base_asym_algo:
      SpdmBaseAsymAlgo,pqc_asym_algo: SpdmPqcAsymAlgo,data: &[u8],) -> Option<SpdmSignatureStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:34,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:35,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:36,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:37,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:39,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 3
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: GeneralOpaqueDataHeader::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/opaque.rs
    functionUses: 1
    functionsReached:
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:43,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:44,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:45,1
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:46,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:54,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 56
      start: 42
    functionDepth: 9
    functionLinenumber: 42
    functionLinenumberEnd: 56
    functionName: GeneralOpaqueDataHeader::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/opaque.rs
    functionUses: 3
    functionsReached:
    - u16::read
    - u32::read
    - u8::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GeneralOpaqueDataHeader::encode
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:61,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - _context
    - bytes
    argTypes:
    - '&mut SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 4
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: GeneralOpaqueDataHeader::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/opaque.rs
    functionUses: 0
    functionsReached:
    - Result::map_err
    - GeneralOpaqueDataHeader::encode
    linkageType: ''
    returnType: SpdmResult
    signature: 'fn spdm_encode(&self, _context: &mut SpdmContext, bytes: &mut Writer)
      -> SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GeneralOpaqueDataHeader::read
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - _context
    - r
    argTypes:
    - '&mut SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 10
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: GeneralOpaqueDataHeader::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/opaque.rs
    functionUses: 0
    functionsReached:
    - GeneralOpaqueDataHeader::read
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(_context: &mut SpdmContext, r: &mut Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:76,1
    - Dst: u24::new
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:77,1
    - Dst: u24::encode
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:77,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: FM1OpaqueDataHeader::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/opaque.rs
    functionUses: 1
    functionsReached:
    - u24::encode
    - u24::new
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:83,1
    - Dst: u24::read
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:84,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 9
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: FM1OpaqueDataHeader::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/opaque.rs
    functionUses: 3
    functionsReached:
    - u24::read
    - u8::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FM1OpaqueDataHeader::encode
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:96,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - _context
    - bytes
    argTypes:
    - '&mut SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 4
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: FM1OpaqueDataHeader::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/opaque.rs
    functionUses: 0
    functionsReached:
    - FM1OpaqueDataHeader::encode
    - Result::map_err
    linkageType: ''
    returnType: SpdmResult
    signature: 'fn spdm_encode(&self, _context: &mut SpdmContext, bytes: &mut Writer)
      -> SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FM1OpaqueDataHeader::read
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - _context
    - r
    argTypes:
    - '&mut SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 10
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: FM1OpaqueDataHeader::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/opaque.rs
    functionUses: 0
    functionsReached:
    - FM1OpaqueDataHeader::read
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(_context: &mut SpdmContext, r: &mut Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:129,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:130,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - untrusted
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 133
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 133
    functionName: SMDataId::try_from
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/opaque.rs
    functionUses: 2
    functionsReached:
    - Err
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn try_from(untrusted: u8) -> Result<Self, <Self as TryFrom<u8>>::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::from
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:138,1
    - Dst: Self::encode
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 3
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionName: SMDataId::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/opaque.rs
    functionUses: 0
    functionsReached:
    - u8::from
    - Self::encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:142,1
    - Dst: Self::try_from
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:143,1
    - Dst: Result::ok
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 9
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: SMDataId::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/opaque.rs
    functionUses: 0
    functionsReached:
    - Self::try_from
    - u8::read
    - Result::ok
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 163
    functionName: SecuredMessageVersion::default
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/opaque.rs
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:169,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:170,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 172
      start: 167
    functionDepth: 3
    functionLinenumber: 167
    functionLinenumberEnd: 172
    functionName: SecuredMessageVersion::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/opaque.rs
    functionUses: 1
    functionsReached:
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:175,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:176,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 188
      start: 174
    functionDepth: 9
    functionLinenumber: 174
    functionLinenumberEnd: 188
    functionName: SecuredMessageVersion::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/opaque.rs
    functionUses: 5
    functionsReached:
    - u8::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SecuredMessageVersion::encode
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:197,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - _context
    - bytes
    argTypes:
    - '&mut SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 198
      start: 192
    functionDepth: 4
    functionLinenumber: 192
    functionLinenumberEnd: 198
    functionName: SecuredMessageVersion::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/opaque.rs
    functionUses: 0
    functionsReached:
    - SecuredMessageVersion::encode
    - Result::map_err
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,_context: &mut SpdmContext,bytes: &mut Writer,)
      -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SecuredMessageVersion::read
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - _context
    - r
    argTypes:
    - '&mut SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 201
      start: 199
    functionDepth: 10
    functionLinenumber: 199
    functionLinenumberEnd: 201
    functionName: SecuredMessageVersion::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/opaque.rs
    functionUses: 0
    functionsReached:
    - SecuredMessageVersion::read
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(_context: &mut SpdmContext, r: &mut Reader) -> Option<SecuredMessageVersion>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u16::from
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - smv
    argTypes:
    - '&opaque::SecuredMessageVersion'
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: u16::from
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/opaque.rs
    functionUses: 2
    functionsReached:
    - u16::from
    linkageType: ''
    returnType: Self
    signature: 'fn from(smv: &opaque::SecuredMessageVersion) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - untrusted_smv
    argTypes:
    - u16
    constantsTouched: []
    func_position:
      end: 261
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 261
    functionName: SecuredMessageVersion::try_from
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/opaque.rs
    functionUses: 9
    functionsReached:
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn try_from(untrusted_smv: u16) -> Result<Self, <Self as TryFrom<u8>>::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - smv
    argTypes:
    - '&SecuredMessageVersion'
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: SecuredMessageVersion::eq
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/opaque.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'fn eq(&self, smv: &SecuredMessageVersion) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:279,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:281,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:283,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 284
      start: 277
    functionDepth: 3
    functionLinenumber: 277
    functionLinenumberEnd: 284
    functionName: SecuredMessageVersionList::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/opaque.rs
    functionUses: 1
    functionsReached:
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:287,1
    - Dst: SecuredMessageVersion::default
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:291,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:292,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:292,1
    - Dst: SecuredMessageVersion::read
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:293,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:296,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 300
      start: 286
    functionDepth: 9
    functionLinenumber: 286
    functionLinenumberEnd: 300
    functionName: SecuredMessageVersionList::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/opaque.rs
    functionUses: 2
    functionsReached:
    - take
    - SecuredMessageVersion::read
    - iter_mut
    - u8::read
    - SecuredMessageVersion::default
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SecuredMessageVersionList::encode
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:309,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - _context
    - bytes
    argTypes:
    - '&mut SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 310
      start: 304
    functionDepth: 4
    functionLinenumber: 304
    functionLinenumberEnd: 310
    functionName: SecuredMessageVersionList::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/opaque.rs
    functionUses: 0
    functionsReached:
    - Result::map_err
    - SecuredMessageVersionList::encode
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,_context: &mut SpdmContext,bytes: &mut Writer,)
      -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SecuredMessageVersionList::read
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - _context
    - r
    argTypes:
    - '&mut SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 313
      start: 311
    functionDepth: 10
    functionLinenumber: 311
    functionLinenumberEnd: 313
    functionName: SecuredMessageVersionList::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/opaque.rs
    functionUses: 0
    functionsReached:
    - SecuredMessageVersionList::read
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(_context: &mut SpdmContext, r: &mut Reader) -> Option<SecuredMessageVersionList>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:325,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:326,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:327,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:328,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:329,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:330,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:333,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 334
      start: 322
    functionDepth: 3
    functionLinenumber: 322
    functionLinenumberEnd: 334
    functionName: SMVersionSelOpaque::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/opaque.rs
    functionUses: 1
    functionsReached:
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:337,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:338,1
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:339,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:340,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:341,1
    - Dst: SMDataId::try_from
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:342,1
    - Dst: Result::ok
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:342,1
    - Dst: SecuredMessageVersion::read
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:343,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:352,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 356
      start: 336
    functionDepth: 9
    functionLinenumber: 336
    functionLinenumberEnd: 356
    functionName: SMVersionSelOpaque::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/opaque.rs
    functionUses: 1
    functionsReached:
    - Result::ok
    - SecuredMessageVersion::read
    - SMDataId::try_from
    - u8::read
    - u16::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:363,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:368,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:368,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:372,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:375,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:375,1
    - Dst: SMVersionSelOpaque::encode
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:379,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:379,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:381,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 2
    argNames:
    - context
    - bytes
    argTypes:
    - '&mut SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 382
      start: 360
    functionDepth: 3
    functionLinenumber: 360
    functionLinenumberEnd: 382
    functionName: SMVersionSelOpaque::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/opaque.rs
    functionUses: 0
    functionsReached:
    - SMVersionSelOpaque::encode
    - map_err
    - Err
    - contains
    - Result::map_err
    - Ok
    - encode
    linkageType: ''
    returnType: SpdmResult
    signature: 'fn spdm_encode(&self, context: &mut SpdmContext, bytes: &mut Writer)
      -> SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:386,1
    - Dst: FM1OpaqueDataHeader::read
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:391,1
    - Dst: GeneralOpaqueDataHeader::read
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:396,1
    - Dst: SMVersionSelOpaque::read
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:398,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - context
    - r
    argTypes:
    - '&mut SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 399
      start: 384
    functionDepth: 10
    functionLinenumber: 384
    functionLinenumberEnd: 399
    functionName: SMVersionSelOpaque::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/opaque.rs
    functionUses: 0
    functionsReached:
    - GeneralOpaqueDataHeader::read
    - SMVersionSelOpaque::read
    - contains
    - FM1OpaqueDataHeader::read
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(context: &mut SpdmContext, r: &mut Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:411,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:412,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:413,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:414,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:415,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:416,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:422,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:426,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 427
      start: 408
    functionDepth: 3
    functionLinenumber: 408
    functionLinenumberEnd: 427
    functionName: SMSupportedVerListOpaque::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/opaque.rs
    functionUses: 1
    functionsReached:
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:430,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:431,1
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:432,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:433,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:434,1
    - Dst: SMDataId::try_from
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:436,1
    - Dst: Result::ok
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:436,1
    - Dst: SecuredMessageVersionList::read
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:437,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:452,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:456,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 460
      start: 429
    functionDepth: 9
    functionLinenumber: 429
    functionLinenumberEnd: 460
    functionName: SMSupportedVerListOpaque::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/opaque.rs
    functionUses: 1
    functionsReached:
    - Result::ok
    - SMDataId::try_from
    - u8::read
    - u16::read
    - SecuredMessageVersionList::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:467,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:472,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:472,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:476,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:479,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:479,1
    - Dst: SMSupportedVerListOpaque::encode
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:483,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:483,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:485,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 2
    argNames:
    - context
    - bytes
    argTypes:
    - '&mut SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 486
      start: 464
    functionDepth: 3
    functionLinenumber: 464
    functionLinenumberEnd: 486
    functionName: SMSupportedVerListOpaque::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/opaque.rs
    functionUses: 0
    functionsReached:
    - map_err
    - SMSupportedVerListOpaque::encode
    - Err
    - contains
    - Result::map_err
    - Ok
    - encode
    linkageType: ''
    returnType: SpdmResult
    signature: 'fn spdm_encode(&self, context: &mut SpdmContext, bytes: &mut Writer)
      -> SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:490,1
    - Dst: FM1OpaqueDataHeader::read
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:495,1
    - Dst: GeneralOpaqueDataHeader::read
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:500,1
    - Dst: SMSupportedVerListOpaque::read
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:502,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - context
    - r
    argTypes:
    - '&mut SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 503
      start: 488
    functionDepth: 10
    functionLinenumber: 488
    functionLinenumberEnd: 503
    functionName: SMSupportedVerListOpaque::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/opaque.rs
    functionUses: 0
    functionsReached:
    - SMSupportedVerListOpaque::read
    - GeneralOpaqueDataHeader::read
    - contains
    - FM1OpaqueDataHeader::read
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(context: &mut SpdmContext, r: &mut Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 517
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 517
    functionName: SpdmOpaqueStruct::default
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/opaque.rs
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: SpdmOpaqueStruct
    signature: fn default() -> SpdmOpaqueStruct
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:527,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:527,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:531,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:531,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:532,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:532,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:534,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - _context
    - bytes
    argTypes:
    - '&mut SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 535
      start: 521
    functionDepth: 8
    functionLinenumber: 521
    functionLinenumberEnd: 535
    functionName: SpdmOpaqueStruct::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/opaque.rs
    functionUses: 0
    functionsReached:
    - take
    - map_err
    - iter
    - Result::map_err
    - Vec::encode
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,_context: &mut SpdmContext,bytes: &mut Writer,)
      -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:537,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:542,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:542,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:543,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:546,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - _context
    - r
    argTypes:
    - '&mut SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 547
      start: 536
    functionDepth: 9
    functionLinenumber: 536
    functionLinenumberEnd: 547
    functionName: SpdmOpaqueStruct::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/opaque.rs
    functionUses: 9
    functionsReached:
    - take
    - iter_mut
    - u8::read
    - u16::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(_context: &mut SpdmContext, r: &mut Reader) -> Option<SpdmOpaqueStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:559,1
    - Dst: SpdmResult::spdm_encode
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:561,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - context
    - sm_version_sel_opaque
    argTypes:
    - '&mut SpdmContext'
    - '&SMVersionSelOpaque'
    constantsTouched: []
    func_position:
      end: 564
      start: 551
    functionDepth: 4
    functionLinenumber: 551
    functionLinenumberEnd: 564
    functionName: SpdmOpaqueStruct::from_sm_version_sel_opaque
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/opaque.rs
    functionUses: 2
    functionsReached:
    - Writer::init
    - Ok
    - SpdmResult::spdm_encode
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn from_sm_version_sel_opaque(context: &mut SpdmContext,sm_version_sel_opaque:
      &SMVersionSelOpaque,) -> SpdmResult<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SMVersionSelOpaque::spdm_read_bytes
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:570,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - context
    argTypes:
    - '&mut SpdmContext'
    constantsTouched: []
    func_position:
      end: 572
      start: 566
    functionDepth: 11
    functionLinenumber: 566
    functionLinenumberEnd: 572
    functionName: SpdmOpaqueStruct::to_sm_version_sel_opaque
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/opaque.rs
    functionUses: 1
    functionsReached:
    - SMVersionSelOpaque::spdm_read_bytes
    - Option::ok_or
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn to_sm_version_sel_opaque(&self,context: &mut SpdmContext,)
      -> SpdmResult<SMVersionSelOpaque>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:582,1
    - Dst: SpdmResult::spdm_encode
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:584,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - context
    - sm_supported_ver_list_opaque
    argTypes:
    - '&mut SpdmContext'
    - '&SMSupportedVerListOpaque'
    constantsTouched: []
    func_position:
      end: 587
      start: 574
    functionDepth: 4
    functionLinenumber: 574
    functionLinenumberEnd: 587
    functionName: SpdmOpaqueStruct::from_sm_supported_ver_list_opaque
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/opaque.rs
    functionUses: 6
    functionsReached:
    - Writer::init
    - Ok
    - SpdmResult::spdm_encode
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn from_sm_supported_ver_list_opaque(context: &mut SpdmContext,sm_supported_ver_list_opaque:
      &SMSupportedVerListOpaque,) -> SpdmResult<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SMSupportedVerListOpaque::spdm_read_bytes
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:593,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - context
    argTypes:
    - '&mut SpdmContext'
    constantsTouched: []
    func_position:
      end: 595
      start: 589
    functionDepth: 11
    functionLinenumber: 589
    functionLinenumberEnd: 595
    functionName: SpdmOpaqueStruct::to_sm_supported_ver_list_opaque
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/opaque.rs
    functionUses: 1
    functionsReached:
    - Option::ok_or
    - SMSupportedVerListOpaque::spdm_read_bytes
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn to_sm_supported_ver_list_opaque(&self,context: &mut SpdmContext,)
      -> SpdmResult<SMSupportedVerListOpaque>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmOpaqueStruct::to_sm_supported_ver_list_opaque
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:601,1
    - Dst: SpdmResult::ok
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:601,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - context
    argTypes:
    - '&mut SpdmContext'
    constantsTouched: []
    func_position:
      end: 603
      start: 597
    functionDepth: 12
    functionLinenumber: 597
    functionLinenumberEnd: 603
    functionName: SpdmOpaqueStruct::rsp_get_dmtf_supported_secure_spdm_version_list
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/opaque.rs
    functionUses: 0
    functionsReached:
    - SpdmResult::ok
    - SpdmOpaqueStruct::to_sm_supported_ver_list_opaque
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn rsp_get_dmtf_supported_secure_spdm_version_list(&self,context:
      &mut SpdmContext,) -> Option<SecuredMessageVersionList>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmOpaqueStruct::to_sm_version_sel_opaque
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:609,1
    - Dst: SpdmResult::ok
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:609,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/opaque.rs:610,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - context
    argTypes:
    - '&mut SpdmContext'
    constantsTouched: []
    func_position:
      end: 611
      start: 605
    functionDepth: 12
    functionLinenumber: 605
    functionLinenumberEnd: 611
    functionName: SpdmOpaqueStruct::req_get_dmtf_secure_spdm_version_selection
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/opaque.rs
    functionUses: 0
    functionsReached:
    - SpdmResult::ok
    - SpdmOpaqueStruct::to_sm_version_sel_opaque
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn req_get_dmtf_secure_spdm_version_selection(&self,context: &mut
      SpdmContext,) -> Option<SecuredMessageVersion>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::new
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: SpdmKeySchedule::default
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/key_schedule.rs
    functionUses: 0
    functionsReached:
    - Self::new
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - _writer
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: SpdmKeySchedule::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/key_schedule.rs
    functionUses: 0
    functionsReached:
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, _writer: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - _reader
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: SpdmKeySchedule::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/key_schedule.rs
    functionUses: 1
    functionsReached:
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(_reader: &mut Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: SpdmKeySchedule::new
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/key_schedule.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: pub fn new() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::hkdf::hkdf_extract
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:60,1
    - Dst: get_size
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:62,1
    - Dst: SpdmHkdfInputKeyingMaterial::SpdmSharedSecretFinalKey
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:63,1
    - Dst: SpdmHandshakeSecretStruct::from_spdm_hkdf_prk
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - _spdm_version
    - hash_algo
    - key
    argTypes:
    - SpdmVersion
    - SpdmBaseHashAlgo
    - '&SpdmSharedSecretFinalKeyStruct'
    constantsTouched: []
    func_position:
      end: 66
      start: 54
    functionDepth: 10
    functionLinenumber: 54
    functionLinenumberEnd: 66
    functionName: SpdmKeySchedule::derive_handshake_secret
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/key_schedule.rs
    functionUses: 0
    functionsReached:
    - SpdmHkdfInputKeyingMaterial::SpdmSharedSecretFinalKey
    - SpdmHandshakeSecretStruct::from_spdm_hkdf_prk
    - crypto::hkdf::hkdf_extract
    - get_size
    linkageType: ''
    returnType: Option
    signature: 'pub fn derive_handshake_secret(&self,_spdm_version: SpdmVersion,hash_algo:
      SpdmBaseHashAlgo,key: &SpdmSharedSecretFinalKeyStruct,) -> Option<SpdmHandshakeSecretStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmKeySchedule::binconcat
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:75,1
    - Dst: get_size
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:76,1
    - Dst: crypto::hkdf::hkdf_expand
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:82,1
    - Dst: SpdmHkdfPseudoRandomKey::from_input_keying_material
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:84,1
    - Dst: SpdmHkdfInputKeyingMaterial::SpdmHandshakeSecret
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:85,1
    - Dst: get_size
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:88,1
    - Dst: crypto::hkdf::hkdf_extract
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:92,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:94,1
    - Dst: SpdmHkdfInputKeyingMaterial::SpdmZeroFilled
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:95,1
    - Dst: get_size
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:96,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:97,1
    - Dst: SpdmMasterSecretStruct::from_spdm_hkdf_prk
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 3
    argNames:
    - spdm_version
    - hash_algo
    - key
    argTypes:
    - SpdmVersion
    - SpdmBaseHashAlgo
    - '&SpdmHandshakeSecretStruct'
    constantsTouched: []
    func_position:
      end: 102
      start: 68
    functionDepth: 10
    functionLinenumber: 68
    functionLinenumberEnd: 102
    functionName: SpdmKeySchedule::derive_master_secret
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/key_schedule.rs
    functionUses: 0
    functionsReached:
    - SpdmHkdfPseudoRandomKey::from_input_keying_material
    - SpdmHkdfInputKeyingMaterial::SpdmHandshakeSecret
    - Box::new
    - crypto::hkdf::hkdf_extract
    - crypto::hkdf::hkdf_expand
    - SpdmMasterSecretStruct::from_spdm_hkdf_prk
    - get_size
    - as_ref
    - SpdmKeySchedule::binconcat
    - SpdmHkdfInputKeyingMaterial::SpdmZeroFilled
    linkageType: ''
    returnType: Option
    signature: 'pub fn derive_master_secret(&self,spdm_version: SpdmVersion,hash_algo:
      SpdmBaseHashAlgo,key: &SpdmHandshakeSecretStruct,) -> Option<SpdmMasterSecretStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmKeySchedule::binconcat
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:114,1
    - Dst: get_size
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:115,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:118,1
    - Dst: crypto::hkdf::hkdf_expand
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:123,1
    - Dst: SpdmHkdfPseudoRandomKey::from_input_keying_material
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:125,1
    - Dst: SpdmHkdfInputKeyingMaterial::SpdmHandshakeSecret
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:126,1
    - Dst: get_size
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:129,1
    - Dst: SpdmPskHintStruct::default
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:135,1
    - Dst: secret::psk::handshake_secret_hkdf_expand
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:136,1
    - Dst: SpdmDirectionHandshakeSecretStruct::from_spdm_hkdf_okm
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:148,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 6
    argNames:
    - use_psk
    - spdm_version
    - hash_algo
    - key
    - psk_hint
    - th1
    argTypes:
    - bool
    - SpdmVersion
    - SpdmBaseHashAlgo
    - Option<&SpdmHandshakeSecretStruct>
    - Option<&SpdmPskHintStruct>
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 149
      start: 104
    functionDepth: 10
    functionLinenumber: 104
    functionLinenumberEnd: 149
    functionName: SpdmKeySchedule::derive_request_handshake_secret
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/key_schedule.rs
    functionUses: 0
    functionsReached:
    - SpdmHkdfPseudoRandomKey::from_input_keying_material
    - secret::psk::handshake_secret_hkdf_expand
    - SpdmHkdfInputKeyingMaterial::SpdmHandshakeSecret
    - crypto::hkdf::hkdf_expand
    - SpdmPskHintStruct::default
    - get_size
    - SpdmKeySchedule::binconcat
    - SpdmDirectionHandshakeSecretStruct::from_spdm_hkdf_okm
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn derive_request_handshake_secret(&self,use_psk: bool,spdm_version:
      SpdmVersion,hash_algo: SpdmBaseHashAlgo,key: Option<&SpdmHandshakeSecretStruct>,psk_hint:
      Option<&SpdmPskHintStruct>,th1: &[u8],) -> Option<SpdmDirectionHandshakeSecretStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmKeySchedule::binconcat
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:161,1
    - Dst: get_size
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:162,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:165,1
    - Dst: crypto::hkdf::hkdf_expand
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:170,1
    - Dst: SpdmHkdfPseudoRandomKey::from_input_keying_material
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:172,1
    - Dst: SpdmHkdfInputKeyingMaterial::SpdmHandshakeSecret
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:173,1
    - Dst: get_size
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:176,1
    - Dst: SpdmPskHintStruct::default
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:182,1
    - Dst: secret::psk::handshake_secret_hkdf_expand
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:183,1
    - Dst: SpdmDirectionHandshakeSecretStruct::from_spdm_hkdf_okm
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:195,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 6
    argNames:
    - use_psk
    - spdm_version
    - hash_algo
    - key
    - psk_hint
    - th1
    argTypes:
    - bool
    - SpdmVersion
    - SpdmBaseHashAlgo
    - Option<&SpdmHandshakeSecretStruct>
    - Option<&SpdmPskHintStruct>
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 196
      start: 151
    functionDepth: 10
    functionLinenumber: 151
    functionLinenumberEnd: 196
    functionName: SpdmKeySchedule::derive_response_handshake_secret
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/key_schedule.rs
    functionUses: 0
    functionsReached:
    - SpdmHkdfPseudoRandomKey::from_input_keying_material
    - secret::psk::handshake_secret_hkdf_expand
    - SpdmHkdfInputKeyingMaterial::SpdmHandshakeSecret
    - crypto::hkdf::hkdf_expand
    - SpdmPskHintStruct::default
    - get_size
    - SpdmKeySchedule::binconcat
    - SpdmDirectionHandshakeSecretStruct::from_spdm_hkdf_okm
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn derive_response_handshake_secret(&self,use_psk: bool,spdm_version:
      SpdmVersion,hash_algo: SpdmBaseHashAlgo,key: Option<&SpdmHandshakeSecretStruct>,psk_hint:
      Option<&SpdmPskHintStruct>,th1: &[u8],) -> Option<SpdmDirectionHandshakeSecretStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmKeySchedule::binconcat
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:205,1
    - Dst: get_size
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:206,1
    - Dst: crypto::hkdf::hkdf_expand
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:212,1
    - Dst: SpdmHkdfPseudoRandomKey::from_input_keying_material
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:214,1
    - Dst: SpdmHkdfInputKeyingMaterial::SpdmDirectionHandshakeSecret
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:215,1
    - Dst: get_size
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:218,1
    - Dst: SpdmFinishedKeyStruct::from_spdm_hkdf_okm
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - spdm_version
    - hash_algo
    - key
    argTypes:
    - SpdmVersion
    - SpdmBaseHashAlgo
    - '&SpdmDirectionHandshakeSecretStruct'
    constantsTouched: []
    func_position:
      end: 222
      start: 198
    functionDepth: 10
    functionLinenumber: 198
    functionLinenumberEnd: 222
    functionName: SpdmKeySchedule::derive_finished_key
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/key_schedule.rs
    functionUses: 0
    functionsReached:
    - SpdmHkdfPseudoRandomKey::from_input_keying_material
    - SpdmHkdfInputKeyingMaterial::SpdmDirectionHandshakeSecret
    - SpdmFinishedKeyStruct::from_spdm_hkdf_okm
    - crypto::hkdf::hkdf_expand
    - get_size
    - SpdmKeySchedule::binconcat
    linkageType: ''
    returnType: Option
    signature: 'pub fn derive_finished_key(&self,spdm_version: SpdmVersion,hash_algo:
      SpdmBaseHashAlgo,key: &SpdmDirectionHandshakeSecretStruct,) -> Option<SpdmFinishedKeyStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmKeySchedule::binconcat
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:232,1
    - Dst: get_key_size
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:233,1
    - Dst: crypto::hkdf::hkdf_expand
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:240,1
    - Dst: SpdmHkdfPseudoRandomKey::from_input_keying_material
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:242,1
    - Dst: SpdmHkdfInputKeyingMaterial::SpdmDirectionHandshakeSecret
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:243,1
    - Dst: crypto::hkdf::hkdf_expand
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:248,1
    - Dst: SpdmHkdfPseudoRandomKey::from_input_keying_material
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:250,1
    - Dst: SpdmHkdfInputKeyingMaterial::SpdmDirectionDataSecret
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:251,1
    - Dst: SpdmAeadKeyStruct::from_spdm_hkdf_okm
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:257,1
    - Dst: SpdmKeySchedule::binconcat
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:259,1
    - Dst: get_iv_size
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:260,1
    - Dst: crypto::hkdf::hkdf_expand
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:267,1
    - Dst: SpdmHkdfPseudoRandomKey::from_input_keying_material
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:269,1
    - Dst: SpdmHkdfInputKeyingMaterial::SpdmDirectionHandshakeSecret
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:270,1
    - Dst: crypto::hkdf::hkdf_expand
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:275,1
    - Dst: SpdmHkdfPseudoRandomKey::from_input_keying_material
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:277,1
    - Dst: SpdmHkdfInputKeyingMaterial::SpdmDirectionDataSecret
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:278,1
    - Dst: SpdmAeadIvStruct::from_spdm_hkdf_okm
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:284,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:286,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 4
    argNames:
    - spdm_version
    - hash_algo
    - aead_algo
    - key
    argTypes:
    - SpdmVersion
    - SpdmBaseHashAlgo
    - SpdmAeadAlgo
    - '&SpdmMajorSecret'
    constantsTouched: []
    func_position:
      end: 287
      start: 224
    functionDepth: 10
    functionLinenumber: 224
    functionLinenumberEnd: 287
    functionName: SpdmKeySchedule::derive_aead_key_iv
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/key_schedule.rs
    functionUses: 0
    functionsReached:
    - SpdmHkdfPseudoRandomKey::from_input_keying_material
    - SpdmAeadKeyStruct::from_spdm_hkdf_okm
    - SpdmAeadIvStruct::from_spdm_hkdf_okm
    - SpdmHkdfInputKeyingMaterial::SpdmDirectionHandshakeSecret
    - SpdmHkdfInputKeyingMaterial::SpdmDirectionDataSecret
    - crypto::hkdf::hkdf_expand
    - get_key_size
    - SpdmKeySchedule::binconcat
    - get_iv_size
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn derive_aead_key_iv(&self,spdm_version: SpdmVersion,hash_algo:
      SpdmBaseHashAlgo,aead_algo: SpdmAeadAlgo,key: &SpdmMajorSecret,) -> Option<(SpdmAeadKeyStruct,
      SpdmAeadIvStruct)>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmKeySchedule::binconcat
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:299,1
    - Dst: get_size
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:300,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:303,1
    - Dst: crypto::hkdf::hkdf_expand
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:308,1
    - Dst: SpdmHkdfPseudoRandomKey::from_input_keying_material
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:310,1
    - Dst: SpdmHkdfInputKeyingMaterial::SpdmMasterSecret
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:311,1
    - Dst: get_size
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:314,1
    - Dst: SpdmPskHintStruct::default
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:320,1
    - Dst: secret::psk::master_secret_hkdf_expand
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:321,1
    - Dst: SpdmDirectionDataSecretStruct::from_spdm_hkdf_okm
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:333,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 6
    argNames:
    - use_psk
    - spdm_version
    - hash_algo
    - key
    - psk_hint
    - th2
    argTypes:
    - bool
    - SpdmVersion
    - SpdmBaseHashAlgo
    - Option<&SpdmMasterSecretStruct>
    - Option<&SpdmPskHintStruct>
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 334
      start: 289
    functionDepth: 10
    functionLinenumber: 289
    functionLinenumberEnd: 334
    functionName: SpdmKeySchedule::derive_request_data_secret
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/key_schedule.rs
    functionUses: 0
    functionsReached:
    - SpdmHkdfPseudoRandomKey::from_input_keying_material
    - secret::psk::master_secret_hkdf_expand
    - crypto::hkdf::hkdf_expand
    - SpdmPskHintStruct::default
    - get_size
    - SpdmKeySchedule::binconcat
    - SpdmDirectionDataSecretStruct::from_spdm_hkdf_okm
    - SpdmHkdfInputKeyingMaterial::SpdmMasterSecret
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn derive_request_data_secret(&self,use_psk: bool,spdm_version:
      SpdmVersion,hash_algo: SpdmBaseHashAlgo,key: Option<&SpdmMasterSecretStruct>,psk_hint:
      Option<&SpdmPskHintStruct>,th2: &[u8],) -> Option<SpdmDirectionDataSecretStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmKeySchedule::binconcat
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:346,1
    - Dst: get_size
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:347,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:350,1
    - Dst: crypto::hkdf::hkdf_expand
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:355,1
    - Dst: SpdmHkdfPseudoRandomKey::from_input_keying_material
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:357,1
    - Dst: SpdmHkdfInputKeyingMaterial::SpdmMasterSecret
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:358,1
    - Dst: get_size
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:361,1
    - Dst: SpdmPskHintStruct::default
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:367,1
    - Dst: secret::psk::master_secret_hkdf_expand
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:368,1
    - Dst: SpdmDirectionDataSecretStruct::from_spdm_hkdf_okm
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:380,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 6
    argNames:
    - use_psk
    - spdm_version
    - hash_algo
    - key
    - psk_hint
    - th2
    argTypes:
    - bool
    - SpdmVersion
    - SpdmBaseHashAlgo
    - Option<&SpdmMasterSecretStruct>
    - Option<&SpdmPskHintStruct>
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 381
      start: 336
    functionDepth: 10
    functionLinenumber: 336
    functionLinenumberEnd: 381
    functionName: SpdmKeySchedule::derive_response_data_secret
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/key_schedule.rs
    functionUses: 0
    functionsReached:
    - SpdmHkdfPseudoRandomKey::from_input_keying_material
    - secret::psk::master_secret_hkdf_expand
    - crypto::hkdf::hkdf_expand
    - SpdmPskHintStruct::default
    - get_size
    - SpdmKeySchedule::binconcat
    - SpdmDirectionDataSecretStruct::from_spdm_hkdf_okm
    - SpdmHkdfInputKeyingMaterial::SpdmMasterSecret
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn derive_response_data_secret(&self,use_psk: bool,spdm_version:
      SpdmVersion,hash_algo: SpdmBaseHashAlgo,key: Option<&SpdmMasterSecretStruct>,psk_hint:
      Option<&SpdmPskHintStruct>,th2: &[u8],) -> Option<SpdmDirectionDataSecretStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmKeySchedule::binconcat
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:392,1
    - Dst: get_size
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:393,1
    - Dst: crypto::hkdf::hkdf_expand
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:401,1
    - Dst: SpdmHkdfPseudoRandomKey::from_input_keying_material
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:403,1
    - Dst: SpdmHkdfInputKeyingMaterial::SpdmMasterSecret
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:404,1
    - Dst: get_size
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:407,1
    - Dst: SpdmPskHintStruct::default
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:413,1
    - Dst: secret::psk::master_secret_hkdf_expand
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:414,1
    - Dst: SpdmExportMasterSecretStruct::from_spdm_hkdf_okm
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:426,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 5
    argNames:
    - use_psk
    - spdm_version
    - hash_algo
    - key
    - psk_hint
    argTypes:
    - bool
    - SpdmVersion
    - SpdmBaseHashAlgo
    - Option<&SpdmMasterSecretStruct>
    - Option<&SpdmPskHintStruct>
    constantsTouched: []
    func_position:
      end: 427
      start: 383
    functionDepth: 10
    functionLinenumber: 383
    functionLinenumberEnd: 427
    functionName: SpdmKeySchedule::derive_export_master_secret
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/key_schedule.rs
    functionUses: 0
    functionsReached:
    - SpdmHkdfPseudoRandomKey::from_input_keying_material
    - SpdmExportMasterSecretStruct::from_spdm_hkdf_okm
    - secret::psk::master_secret_hkdf_expand
    - crypto::hkdf::hkdf_expand
    - SpdmPskHintStruct::default
    - get_size
    - SpdmKeySchedule::binconcat
    - SpdmHkdfInputKeyingMaterial::SpdmMasterSecret
    linkageType: ''
    returnType: Option
    signature: 'pub fn derive_export_master_secret(&self,use_psk: bool,spdm_version:
      SpdmVersion,hash_algo: SpdmBaseHashAlgo,key: Option<&SpdmMasterSecretStruct>,psk_hint:
      Option<&SpdmPskHintStruct>,) -> Option<SpdmExportMasterSecretStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmKeySchedule::binconcat
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:436,1
    - Dst: get_size
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:437,1
    - Dst: crypto::hkdf::hkdf_expand
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:443,1
    - Dst: SpdmHkdfPseudoRandomKey::from_input_keying_material
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:445,1
    - Dst: SpdmHkdfInputKeyingMaterial::SpdmDirectionDataSecret
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:446,1
    - Dst: get_size
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:449,1
    - Dst: SpdmDirectionDataSecretStruct::from_spdm_hkdf_okm
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - spdm_version
    - hash_algo
    - key
    argTypes:
    - SpdmVersion
    - SpdmBaseHashAlgo
    - '&SpdmDirectionDataSecretStruct'
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 10
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: SpdmKeySchedule::derive_update_secret
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/key_schedule.rs
    functionUses: 0
    functionsReached:
    - SpdmHkdfPseudoRandomKey::from_input_keying_material
    - SpdmHkdfInputKeyingMaterial::SpdmDirectionDataSecret
    - crypto::hkdf::hkdf_expand
    - get_size
    - SpdmKeySchedule::binconcat
    - SpdmDirectionDataSecretStruct::from_spdm_hkdf_okm
    linkageType: ''
    returnType: Option
    signature: 'pub fn derive_update_secret(&self,spdm_version: SpdmVersion,hash_algo:
      SpdmBaseHashAlgo,key: &SpdmDirectionDataSecretStruct,) -> Option<SpdmDirectionDataSecretStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:463,1
    - Dst: bool::len
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:465,1
    - Dst: SpdmCertChainBuffer::len
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:467,1
    - Dst: SpdmResult::copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:472,1
    - Dst: u8::from
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:473,1
    - Dst: u8::from
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:474,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:476,1
    - Dst: Option::encode
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:477,1
    - Dst: Result::ok
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:477,1
    - Dst: Writer::extend_from_slice
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:478,1
    - Dst: Writer::extend_from_slice
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:479,1
    - Dst: Writer::extend_from_slice
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:481,1
    - Dst: Writer::used
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:484,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/key_schedule.rs:485,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 62
    argCount: 5
    argNames:
    - length
    - spdm_version
    - label
    - context
    - buffer
    argTypes:
    - u16
    - SpdmVersion
    - '&[u8]'
    - Option<&[u8]>
    - '&''a mut [u8]'
    constantsTouched: []
    func_position:
      end: 486
      start: 455
    functionDepth: 9
    functionLinenumber: 455
    functionLinenumberEnd: 486
    functionName: SpdmKeySchedule::binconcat
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/key_schedule.rs
    functionUses: 10
    functionsReached:
    - Result::ok
    - '&[u8]::len'
    - Writer::used
    - u8::from
    - SpdmResult::copy_from_slice
    - Writer::init
    - Writer::extend_from_slice
    - SpdmCertChainBuffer::len
    - bool::len
    - Option::encode
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn binconcat<''a>(&self,length: u16,spdm_version: SpdmVersion,label:
      &[u8],context: Option<&[u8]>,buffer: &''a mut [u8],) -> Option<&''a [u8]>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: SpdmConnectionState::default
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SpdmConnectionState
    signature: fn default() -> SpdmConnectionState
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmNegotiateInfo::default
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:174,1
    - Dst: SpdmRuntimeInfo::default
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:175,1
    - Dst: SpdmPeerInfo::default
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:177,1
    - Dst: SpdmEncapContext::default
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:179,1
    - Dst: gen_array
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:183,1
    - Dst: SpdmChunkContext::default
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - device_io
    - transport_encap
    - config_info
    - provision_info
    argTypes:
    - Arc<Mutex<dyn SpdmDeviceIo + Send + Sync>>
    - Arc<Mutex<dyn SpdmTransportEncap + Send + Sync>>
    - SpdmConfigInfo
    - SpdmProvisionInfo
    constantsTouched: []
    func_position:
      end: 191
      start: 164
    functionDepth: 5
    functionLinenumber: 164
    functionLinenumberEnd: 191
    functionName: SpdmContext::new
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 4
    functionsReached:
    - SpdmNegotiateInfo::default
    - SpdmPeerInfo::default
    - SpdmRuntimeInfo::default
    - gen_array
    - SpdmChunkContext::default
    - SpdmEncapContext::default
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(device_io: Arc<Mutex<dyn SpdmDeviceIo + Send + Sync>>,transport_encap:
      Arc<Mutex<dyn SpdmTransportEncap + Send + Sync>>,config_info: SpdmConfigInfo,provision_info:
      SpdmProvisionInfo,) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_size
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: SpdmContext::get_hash_size
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - get_size
    linkageType: ''
    returnType: u16
    signature: pub fn get_hash_size(&self) -> u16
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmPqcAsymAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:197,1
    - Dst: get_sig_size
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:198,1
    - Dst: get_sig_size
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 202
    functionName: SpdmContext::get_asym_sig_size
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - get_sig_size
    - SpdmPqcAsymAlgo::empty
    linkageType: ''
    returnType: u16
    signature: pub fn get_asym_sig_size(&self) -> u16
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmPqcReqAsymAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:204,1
    - Dst: get_sig_size
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:205,1
    - Dst: get_sig_size
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 209
    functionName: SpdmContext::get_req_asym_sig_size
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - SpdmPqcReqAsymAlgo::empty
    - get_sig_size
    linkageType: ''
    returnType: u16
    signature: pub fn get_req_asym_sig_size(&self) -> u16
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:211,1
    - Dst: get_encap_key_size
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:212,1
    - Dst: get_key_size
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 216
    functionName: SpdmContext::get_req_key_exchange_size
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - get_encap_key_size
    - get_key_size
    - SpdmKemAlgo::empty
    linkageType: ''
    returnType: u16
    signature: pub fn get_req_key_exchange_size(&self) -> u16
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:218,1
    - Dst: get_cipher_text_size
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:219,1
    - Dst: get_key_size
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 223
    functionName: SpdmContext::get_rsp_key_exchange_size
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - get_key_size
    - get_cipher_text_size
    - SpdmKemAlgo::empty
    linkageType: ''
    returnType: u16
    signature: pub fn get_rsp_key_exchange_size(&self) -> u16
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmRuntimeInfo::default
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: SpdmContext::reset_runtime_info
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 1
    functionsReached:
    - SpdmRuntimeInfo::default
    linkageType: ''
    returnType: void
    signature: pub fn reset_runtime_info(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmNegotiateInfo::default
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 231
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 231
    functionName: SpdmContext::reset_negotiate_info
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 1
    functionsReached:
    - SpdmNegotiateInfo::default
    linkageType: ''
    returnType: void
    signature: pub fn reset_negotiate_info(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmPeerInfo::default
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 235
    functionName: SpdmContext::reset_peer_info
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 1
    functionsReached:
    - SpdmPeerInfo::default
    linkageType: ''
    returnType: void
    signature: pub fn reset_peer_info(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmContext::reset_runtime_info
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:238,1
    - Dst: SpdmContext::reset_negotiate_info
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:239,1
    - Dst: SpdmContext::reset_peer_info
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:240,1
    - Dst: SpdmEncapContext::default
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:254,1
    - Dst: SpdmResult::set_default
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 266
      start: 237
    functionDepth: 3
    functionLinenumber: 237
    functionLinenumberEnd: 266
    functionName: SpdmContext::reset_context
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - SpdmContext::reset_runtime_info
    - SpdmContext::reset_negotiate_info
    - SpdmResult::set_default
    - SpdmContext::reset_peer_info
    - SpdmEncapContext::default
    linkageType: ''
    returnType: void
    signature: pub fn reset_context(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:269,1
    - Dst: find
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:269,1
    - Dst: get_session_id
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - session_id
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 272
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 272
    functionName: SpdmContext::get_immutable_session_via_id
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 2
    functionsReached:
    - iter
    - find
    - get_session_id
    linkageType: ''
    returnType: Option
    signature: 'pub fn get_immutable_session_via_id(&self, session_id: u32) -> Option<&SpdmSession>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:275,1
    - Dst: find
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:275,1
    - Dst: get_session_id
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - session_id
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 278
      start: 274
    functionDepth: 3
    functionLinenumber: 274
    functionLinenumberEnd: 278
    functionName: SpdmContext::get_session_via_id
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 10
    functionsReached:
    - iter_mut
    - find
    - get_session_id
    linkageType: ''
    returnType: Option
    signature: 'pub fn get_session_via_id(&mut self, session_id: u32) -> Option<&mut
      SpdmSession>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmContext::get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 282
      start: 280
    functionDepth: 4
    functionLinenumber: 280
    functionLinenumberEnd: 282
    functionName: SpdmContext::get_next_avaiable_session
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - SpdmContext::get_session_via_id
    linkageType: ''
    returnType: Option
    signature: pub fn get_next_avaiable_session(&mut self) -> Option<&mut SpdmSession>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:287,1
    - Dst: enumerate
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:287,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:287,1
    - Dst: get_session_id
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:292,1
    - Dst: get_session_state
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 284
    functionDepth: 8
    functionLinenumber: 284
    functionLinenumberEnd: 296
    functionName: SpdmContext::get_session_status
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - take
    - enumerate
    - iter_mut
    - get_session_state
    - get_session_id
    linkageType: ''
    returnType: '[(u32, SpdmSessionState); config::MAX_SPDM_SESSION_COUNT]'
    signature: pub fn get_session_status(&self) -> [(u32, SpdmSessionState); config::MAX_SPDM_SESSION_COUNT]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:301,1
    - Dst: enumerate
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:301,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:301,1
    - Dst: SpdmResult::get_session_id
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:302,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:304,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 1
    argNames:
    - is_requester
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 309
      start: 298
    functionDepth: 8
    functionLinenumber: 298
    functionLinenumberEnd: 309
    functionName: SpdmContext::get_next_half_session_id
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - take
    - enumerate
    - iter
    - Err
    - SpdmResult::get_session_id
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn get_next_half_session_id(&self, is_requester: bool) -> SpdmResult<u16>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_none
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:313,1
    - Dst: is_some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:314,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:316,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:316,1
    - Dst: crypto::cert_operation::get_cert_from_cert_chain
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:320,1
    - Dst: crypto::hash::hash_all
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:326,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:335,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:337,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:340,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:343,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:348,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 120
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 349
      start: 311
    functionDepth: 8
    functionLinenumber: 311
    functionLinenumberEnd: 349
    functionName: SpdmContext::construct_my_cert_chain
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - crypto::hash::hash_all
    - Ok
    - unwrap
    - is_some
    - Err
    - is_none
    - copy_from_slice
    - as_ref
    - crypto::cert_operation::get_cert_from_cert_chain
    - Some
    linkageType: ''
    returnType: SpdmResult
    signature: pub fn construct_my_cert_chain(&mut self) -> SpdmResult
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::from
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 361
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 361
    functionName: SpdmContext::get_signing_prefix_context
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - u8::from
    linkageType: ''
    returnType: '[u8; 64]'
    signature: pub fn get_signing_prefix_context(&self) -> [u8; 64]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: append_message
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:364,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:364,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - new_message
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 369
      start: 363
    functionDepth: 10
    functionLinenumber: 363
    functionLinenumberEnd: 369
    functionName: SpdmContext::append_message_a
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - append_message
    - ok_or
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn append_message_a(&mut self, new_message: &[u8]) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset_message
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 372
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 372
    functionName: SpdmContext::reset_message_a
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - reset_message
    linkageType: ''
    returnType: void
    signature: pub fn reset_message_a(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: append_message
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:377,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:377,1
    - Dst: is_none
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:385,1
    - Dst: crypto::hash::hash_ctx_init
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:388,1
    - Dst: is_none
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:389,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:390,1
    - Dst: as_mut
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:394,1
    - Dst: crypto::hash::hash_ctx_update
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:396,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:396,1
    - Dst: crypto::hash::hash_ctx_update
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:398,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:402,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 52
    argCount: 1
    argNames:
    - new_message
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 403
      start: 374
    functionDepth: 10
    functionLinenumber: 374
    functionLinenumberEnd: 403
    functionName: SpdmContext::append_message_b
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - as_mut
    - Err
    - ok_or
    - append_message
    - is_none
    - crypto::hash::hash_ctx_init
    - as_ref
    - Ok
    - crypto::hash::hash_ctx_update
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn append_message_b(&mut self, new_message: &[u8]) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset_message
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 414
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 414
    functionName: SpdmContext::reset_message_b
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 1
    functionsReached:
    - reset_message
    linkageType: ''
    returnType: void
    signature: pub fn reset_message_b(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: append_message
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:419,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:419,1
    - Dst: is_none
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:427,1
    - Dst: crypto::hash::hash_ctx_init
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:430,1
    - Dst: is_none
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:431,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:432,1
    - Dst: as_mut
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:436,1
    - Dst: crypto::hash::hash_ctx_update
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:438,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:438,1
    - Dst: crypto::hash::hash_ctx_update
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:440,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:444,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 52
    argCount: 1
    argNames:
    - new_message
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 445
      start: 416
    functionDepth: 10
    functionLinenumber: 416
    functionLinenumberEnd: 445
    functionName: SpdmContext::append_message_c
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - as_mut
    - Err
    - ok_or
    - append_message
    - is_none
    - crypto::hash::hash_ctx_init
    - as_ref
    - Ok
    - crypto::hash::hash_ctx_update
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn append_message_c(&mut self, new_message: &[u8]) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset_message
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 456
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 456
    functionName: SpdmContext::reset_message_c
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 1
    functionsReached:
    - reset_message
    linkageType: ''
    returnType: void
    signature: pub fn reset_message_c(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: append_message
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:461,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:461,1
    - Dst: SpdmContext::get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:467,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:470,1
    - Dst: append_message
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:472,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:472,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:486,1
    - Dst: SpdmContext::get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:488,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:491,1
    - Dst: is_none
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:493,1
    - Dst: crypto::hash::hash_ctx_init
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:496,1
    - Dst: is_none
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:497,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:498,1
    - Dst: as_mut
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:502,1
    - Dst: crypto::hash::hash_ctx_update
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:504,1
    - Dst: SpdmResult::as_ref
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:504,1
    - Dst: crypto::hash::hash_ctx_update
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:506,1
    - Dst: is_none
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:510,1
    - Dst: crypto::hash::hash_ctx_init
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:513,1
    - Dst: is_none
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:514,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:515,1
    - Dst: as_mut
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:519,1
    - Dst: crypto::hash::hash_ctx_update
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:523,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:525,1
    - Dst: crypto::hash::hash_ctx_update
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:528,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:534,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 123
    argCount: 2
    argNames:
    - session_id
    - new_message
    argTypes:
    - Option<u32>
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 535
      start: 458
    functionDepth: 10
    functionLinenumber: 458
    functionLinenumberEnd: 535
    functionName: SpdmContext::append_message_m
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - clone
    - SpdmResult::as_ref
    - as_mut
    - Err
    - ok_or
    - SpdmContext::get_session_via_id
    - append_message
    - is_none
    - crypto::hash::hash_ctx_init
    - as_ref
    - Ok
    - crypto::hash::hash_ctx_update
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn append_message_m(&mut self, session_id: Option<u32>, new_message:
      &[u8]) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset_message
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:539,1
    - Dst: SpdmContext::get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:541,1
    - Dst: reset_message
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:546,1
    - Dst: SpdmContext::get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:554,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 1
    argNames:
    - session_id
    argTypes:
    - Option<u32>
    constantsTouched: []
    func_position:
      end: 566
      start: 536
    functionDepth: 4
    functionLinenumber: 536
    functionLinenumberEnd: 566
    functionName: SpdmContext::reset_message_m
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 1
    functionsReached:
    - reset_message
    - SpdmContext::get_session_via_id
    linkageType: ''
    returnType: void
    signature: 'pub fn reset_message_m(&mut self, session_id: Option<u32>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:570,1
    - Dst: SpdmContext::get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:575,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:575,1
    - Dst: append_message
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:581,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:581,1
    - Dst: is_none
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:591,1
    - Dst: crypto::hash::hash_ctx_init
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:593,1
    - Dst: get_crypto_param
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:593,1
    - Dst: is_none
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:594,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:595,1
    - Dst: crypto::hash::hash_ctx_update
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:601,1
    - Dst: as_mut
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:602,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:602,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:603,1
    - Dst: crypto::hash::hash_ctx_update
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:606,1
    - Dst: as_mut
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:607,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:607,1
    - Dst: crypto::hash::hash_ctx_update
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:611,1
    - Dst: as_mut
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:612,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:612,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:613,1
    - Dst: crypto::hash::hash_ctx_update
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:618,1
    - Dst: as_mut
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:619,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:619,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:624,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 101
    argCount: 2
    argNames:
    - session_id
    - new_message
    argTypes:
    - u32
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 625
      start: 568
    functionDepth: 10
    functionLinenumber: 568
    functionLinenumberEnd: 625
    functionName: SpdmContext::append_message_k
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - clone
    - Result::as_ref
    - Ok
    - as_mut
    - unwrap
    - Err
    - Option::ok_or
    - ok_or
    - SpdmContext::get_session_via_id
    - append_message
    - is_none
    - crypto::hash::hash_ctx_init
    - as_ref
    - get_crypto_param
    - crypto::hash::hash_ctx_update
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn append_message_k(&mut self, session_id: u32, new_message: &[u8])
      -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmContext::get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:627,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:627,1
    - Dst: reset_message
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - session_id
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 638
      start: 626
    functionDepth: 5
    functionLinenumber: 626
    functionLinenumberEnd: 638
    functionName: SpdmContext::reset_message_k
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - reset_message
    - Option::unwrap
    - SpdmContext::get_session_via_id
    linkageType: ''
    returnType: void
    signature: 'pub fn reset_message_k(&mut self, session_id: u32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmContext::get_immutable_session_via_id
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:665,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:665,1
    - Dst: is_none
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:668,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:669,1
    - Dst: get_use_psk
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:673,1
    - Dst: get_mut_auth_requested
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:673,1
    - Dst: SpdmKeyExchangeMutAuthAttributes::is_empty
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:673,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:674,1
    - Dst: SpdmContext::get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:680,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:680,1
    - Dst: crypto::hash::hash_ctx_update
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:683,1
    - Dst: as_mut
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:684,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:684,1
    - Dst: get_local_used_cert_chain_slot_id
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:689,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:691,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:691,1
    - Dst: crypto::hash::hash_all
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:696,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:698,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:703,1
    - Dst: crypto::hash::hash_all
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:704,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:704,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:711,1
    - Dst: get_peer_used_cert_chain_slot_id
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:714,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:716,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:716,1
    - Dst: crypto::hash::hash_all
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:721,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:723,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:728,1
    - Dst: crypto::hash::hash_all
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:729,1
    - Dst: SpdmResult::as_ref
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:731,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:729,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:736,1
    - Dst: SpdmContext::get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:740,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:740,1
    - Dst: crypto::hash::hash_ctx_update
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:743,1
    - Dst: as_mut
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:744,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:744,1
    - Dst: SpdmContext::get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:751,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:751,1
    - Dst: SpdmContext::get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:757,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:757,1
    - Dst: crypto::hash::hash_ctx_update
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:760,1
    - Dst: as_mut
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:761,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:761,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 185
    argCount: 3
    argNames:
    - is_requester
    - session_id
    - new_message
    argTypes:
    - bool
    - u32
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 764
      start: 659
    functionDepth: 8
    functionLinenumber: 659
    functionLinenumberEnd: 764
    functionName: SpdmContext::append_message_f
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - ok_or
    - SpdmContext::get_session_via_id
    - SpdmContext::get_immutable_session_via_id
    - crypto::hash::hash_ctx_update
    - clone
    - SpdmResult::as_ref
    - get_local_used_cert_chain_slot_id
    - get_peer_used_cert_chain_slot_id
    - Some
    - get_mut_auth_requested
    - crypto::hash::hash_all
    - as_mut
    - Err
    - SpdmKeyExchangeMutAuthAttributes::is_empty
    - Option::ok_or
    - is_none
    - get_use_psk
    - as_ref
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn append_message_f(&mut self,is_requester: bool,session_id: u32,new_message:
      &[u8],) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmContext::get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:767,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:767,1
    - Dst: reset_message
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - session_id
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 778
      start: 766
    functionDepth: 5
    functionLinenumber: 766
    functionLinenumberEnd: 778
    functionName: SpdmContext::reset_message_f
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - reset_message
    - Option::unwrap
    - SpdmContext::get_session_via_id
    linkageType: ''
    returnType: void
    signature: 'pub fn reset_message_f(&mut self, session_id: u32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ManagedBufferTH::default
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:789,1
    - Dst: bool::append_message
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:790,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:791,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:790,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:796,1
    - Dst: bool::append_message
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:801,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:801,1
    - Dst: get_peer_used_cert_chain_slot_id
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:805,1
    - Dst: is_none
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:807,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:809,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:812,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:812,1
    - Dst: crypto::hash::hash_all
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:813,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:815,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:813,1
    - Dst: is_none
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:819,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:821,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:824,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:824,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:827,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:827,1
    - Dst: crypto::hash::hash_all
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:833,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:833,1
    - Dst: bool::append_message
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:836,1
    - Dst: SpdmResult::as_ref
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:837,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:836,1
    - Dst: bool::append_message
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:841,1
    - Dst: SpdmResult::as_ref
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:842,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:841,1
    - Dst: bool::append_message
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:848,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:848,1
    - Dst: get_local_used_cert_chain_slot_id
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:852,1
    - Dst: is_none
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:854,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:856,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:859,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:859,1
    - Dst: crypto::hash::hash_all
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:860,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:862,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:860,1
    - Dst: is_none
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:866,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:868,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:871,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:871,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:874,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:874,1
    - Dst: crypto::hash::hash_all
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:880,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:880,1
    - Dst: bool::append_message
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:883,1
    - Dst: SpdmResult::as_ref
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:884,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:883,1
    - Dst: bool::append_message
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:890,1
    - Dst: SpdmResult::as_ref
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:891,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:890,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:896,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 242
    argCount: 5
    argNames:
    - use_psk
    - is_mut_auth
    - message_k
    - message_f
    - vdm_transcript_before_finish
    argTypes:
    - bool
    - bool
    - '&ManagedBufferK'
    - Option<&ManagedBufferF>
    - Option<&ManagedVdmBuffer>
    constantsTouched: []
    func_position:
      end: 897
      start: 781
    functionDepth: 10
    functionLinenumber: 781
    functionLinenumberEnd: 897
    functionName: SpdmContext::calc_req_transcript_data
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - clone
    - crypto::hash::hash_all
    - SpdmResult::as_ref
    - unwrap
    - Err
    - Option::ok_or
    - ok_or
    - ManagedBufferTH::default
    - get_local_used_cert_chain_slot_id
    - get_peer_used_cert_chain_slot_id
    - bool::append_message
    - is_none
    - as_ref
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn calc_req_transcript_data(&self,use_psk: bool,is_mut_auth: bool,message_k:
      &ManagedBufferK,message_f: Option<&ManagedBufferF>,vdm_transcript_before_finish:
      Option<&ManagedVdmBuffer>,) -> SpdmResult<ManagedBufferTH>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ManagedBufferTH::default
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:908,1
    - Dst: bool::append_message
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:909,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:910,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:909,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:914,1
    - Dst: bool::append_message
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:919,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:919,1
    - Dst: get_local_used_cert_chain_slot_id
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:923,1
    - Dst: is_none
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:925,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:927,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:930,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:930,1
    - Dst: crypto::hash::hash_all
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:931,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:933,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:931,1
    - Dst: is_none
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:937,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:939,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:942,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:942,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:945,1
    - Dst: crypto::hash::hash_all
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:947,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:947,1
    - Dst: bool::append_message
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:951,1
    - Dst: SpdmResult::as_ref
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:952,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:951,1
    - Dst: bool::append_message
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:956,1
    - Dst: SpdmResult::as_ref
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:957,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:956,1
    - Dst: bool::append_message
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:963,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:963,1
    - Dst: get_peer_used_cert_chain_slot_id
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:967,1
    - Dst: is_none
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:969,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:971,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:974,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:974,1
    - Dst: crypto::hash::hash_all
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:975,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:977,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:975,1
    - Dst: is_none
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:981,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:983,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:986,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:986,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:986,1
    - Dst: crypto::hash::hash_all
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:991,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:991,1
    - Dst: bool::append_message
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:994,1
    - Dst: SpdmResult::as_ref
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:995,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:994,1
    - Dst: bool::append_message
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1001,1
    - Dst: SpdmResult::as_ref
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1002,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1001,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1007,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 215
    argCount: 5
    argNames:
    - use_psk
    - is_mut_auth
    - message_k
    - message_f
    - vdm_transcript_before_finish
    argTypes:
    - bool
    - bool
    - '&ManagedBufferK'
    - Option<&ManagedBufferF>
    - Option<&ManagedVdmBuffer>
    constantsTouched: []
    func_position:
      end: 1008
      start: 900
    functionDepth: 10
    functionLinenumber: 900
    functionLinenumberEnd: 1008
    functionName: SpdmContext::calc_rsp_transcript_data
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - clone
    - crypto::hash::hash_all
    - SpdmResult::as_ref
    - unwrap
    - Err
    - Option::ok_or
    - ok_or
    - ManagedBufferTH::default
    - get_local_used_cert_chain_slot_id
    - get_peer_used_cert_chain_slot_id
    - bool::append_message
    - is_none
    - as_ref
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn calc_rsp_transcript_data(&self,use_psk: bool,is_mut_auth: bool,message_k:
      &ManagedBufferK,message_f: Option<&ManagedBufferF>,vdm_transcript_before_finish:
      Option<&ManagedVdmBuffer>,) -> SpdmResult<ManagedBufferTH>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::hash::hash_ctx_finalize
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1067,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1068,1
    - Dst: cloned
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1068,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1068,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1067,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1076,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - _use_psk
    - _is_mut_auth
    - session
    argTypes:
    - bool
    - bool
    - '&SpdmSession'
    constantsTouched: []
    func_position:
      end: 1077
      start: 1061
    functionDepth: 10
    functionLinenumber: 1061
    functionLinenumberEnd: 1077
    functionName: SpdmContext::calc_req_transcript_hash
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - Ok
    - Option::ok_or
    - ok_or
    - cloned
    - as_ref
    - crypto::hash::hash_ctx_finalize
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn calc_req_transcript_hash(&self,_use_psk: bool,_is_mut_auth:
      bool,session: &SpdmSession,) -> SpdmResult<SpdmDigestStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::hash::hash_ctx_finalize
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1086,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1087,1
    - Dst: cloned
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1087,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1087,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1086,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1095,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - _use_psk
    - _is_mut_auth
    - session
    argTypes:
    - bool
    - bool
    - '&SpdmSession'
    constantsTouched: []
    func_position:
      end: 1096
      start: 1080
    functionDepth: 10
    functionLinenumber: 1080
    functionLinenumberEnd: 1096
    functionName: SpdmContext::calc_rsp_transcript_hash
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - Ok
    - Option::ok_or
    - ok_or
    - cloned
    - as_ref
    - crypto::hash::hash_ctx_finalize
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn calc_rsp_transcript_hash(&self,_use_psk: bool,_is_mut_auth:
      bool,session: &SpdmSession,) -> SpdmResult<SpdmDigestStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_none
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1104,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1109,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1110,1
    - Dst: crypto::hash::hash_all
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1112,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1112,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1115,1
    - Dst: SpdmDigestStruct::from
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1115,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 2
    argNames:
    - use_psk
    - slot_id
    argTypes:
    - bool
    - usize
    constantsTouched: []
    func_position:
      end: 1122
      start: 1098
    functionDepth: 10
    functionLinenumber: 1098
    functionLinenumberEnd: 1122
    functionName: SpdmContext::get_certchain_hash_local
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - crypto::hash::hash_all
    - SpdmDigestStruct::from
    - Option::ok_or
    - is_none
    - as_ref
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn get_certchain_hash_local(&self,use_psk: bool,slot_id: usize,)
      -> Option<SpdmDigestStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_none
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1130,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1135,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1136,1
    - Dst: crypto::hash::hash_all
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1138,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1138,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1142,1
    - Dst: SpdmDigestStruct::from
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1142,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1142,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 2
    argNames:
    - use_psk
    - slot_id
    argTypes:
    - bool
    - usize
    constantsTouched: []
    func_position:
      end: 1149
      start: 1124
    functionDepth: 10
    functionLinenumber: 1124
    functionLinenumberEnd: 1149
    functionName: SpdmContext::get_certchain_hash_peer
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - crypto::hash::hash_all
    - SpdmDigestStruct::from
    - Option::ok_or
    - is_none
    - as_ref
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn get_certchain_hash_peer(&self,use_psk: bool,slot_id: usize,)
      -> Option<SpdmDigestStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmContext::reset_message_m
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1157,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1168,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1169,1
    - Dst: SpdmContext::reset_message_b
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1171,1
    - Dst: SpdmContext::reset_message_c
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1172,1
    - Dst: SpdmContext::reset_message_b
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - opcode
    - session_id
    argTypes:
    - SpdmRequestResponseCode
    - Option<u32>
    constantsTouched: []
    func_position:
      end: 1180
      start: 1151
    functionDepth: 5
    functionLinenumber: 1151
    functionLinenumberEnd: 1180
    functionName: SpdmContext::reset_buffer_via_request_code
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - SpdmContext::reset_message_c
    - SpdmContext::reset_message_m
    - SpdmContext::reset_message_b
    - get_u8
    linkageType: ''
    returnType: void
    signature: 'pub fn reset_buffer_via_request_code(&mut self,opcode: SpdmRequestResponseCode,session_id:
      Option<u32>,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1188,1
    - Dst: deref_mut
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1190,1
    - Dst: Arc::new
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1191,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1192,1
    - Dst: Arc::new
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1193,1
    - Dst: encap
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - send_buffer
    - transport_buffer
    argTypes:
    - '&[u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 1197
      start: 1183
    functionDepth: 6
    functionLinenumber: 1183
    functionLinenumberEnd: 1197
    functionName: SpdmContext::encap
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - encap
    - deref_mut
    - lock
    - Mutex::new
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn encap(&mut self,send_buffer: &[u8],transport_buffer:
      &mut [u8],) -> SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1210,1
    - Dst: deref_mut
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1212,1
    - Dst: Arc::new
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1213,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1214,1
    - Dst: Arc::new
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1215,1
    - Dst: encap_app
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1216,1
    - Dst: SpdmContext::get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1221,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1221,1
    - Dst: encode_spdm_secured_message
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1226,1
    - Dst: lock
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1232,1
    - Dst: deref_mut
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1234,1
    - Dst: encap
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1235,1
    - Dst: Arc::new
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1237,1
    - Dst: Arc::new
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1238,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1238,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 5
    argNames:
    - session_id
    - send_buffer
    - transport_buffer
    - is_requester
    - is_app_message
    argTypes:
    - u32
    - '&[u8]'
    - '&mut [u8]'
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 1242
      start: 1200
    functionDepth: 6
    functionLinenumber: 1200
    functionLinenumberEnd: 1242
    functionName: SpdmContext::encode_secured_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - encode_spdm_secured_message
    - encap_app
    - encap
    - Option::ok_or
    - SpdmContext::get_session_via_id
    - deref_mut
    - lock
    - Mutex::new
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn encode_secured_message(&mut self,session_id: u32,send_buffer:
      &[u8],transport_buffer: &mut [u8],is_requester: bool,is_app_message: bool,)
      -> SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1250,1
    - Dst: deref_mut
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1252,1
    - Dst: decap
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1254,1
    - Dst: Arc::new
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1256,1
    - Dst: Arc::new
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1257,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1257,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1262,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - transport_buffer
    - receive_buffer
    argTypes:
    - '&[u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 1266
      start: 1245
    functionDepth: 6
    functionLinenumber: 1245
    functionLinenumberEnd: 1266
    functionName: SpdmContext::decap
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - decap
    - Err
    - deref_mut
    - lock
    - Ok
    - Mutex::new
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn decap(&mut self,transport_buffer: &[u8],receive_buffer:
      &mut [u8],) -> SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1278,1
    - Dst: deref_mut
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1280,1
    - Dst: decap
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1282,1
    - Dst: Arc::new
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1284,1
    - Dst: Arc::new
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1285,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1285,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1291,1
    - Dst: SpdmContext::get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1294,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1294,1
    - Dst: decode_spdm_secured_message
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1299,1
    - Dst: lock
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1305,1
    - Dst: deref_mut
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1307,1
    - Dst: decap_app
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1309,1
    - Dst: Arc::new
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1311,1
    - Dst: Arc::new
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1312,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1312,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1316,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 50
    argCount: 3
    argNames:
    - session_id
    - transport_buffer
    - receive_buffer
    argTypes:
    - u32
    - '&[u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 1317
      start: 1269
    functionDepth: 11
    functionLinenumber: 1269
    functionLinenumberEnd: 1317
    functionName: SpdmContext::decode_secured_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - decode_spdm_secured_message
    - decap
    - Err
    - Option::ok_or
    - decap_app
    - SpdmContext::get_session_via_id
    - deref_mut
    - lock
    - Ok
    - Mutex::new
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn decode_secured_message(&mut self,session_id: u32,transport_buffer:
      &[u8],receive_buffer: &mut [u8],) -> SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1321,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1322,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1323,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1324,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1325,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1329,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1334,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1339,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1342,1
    - Dst: '&mut Writer::used'
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1342,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 50
    argCount: 1
    argNames:
    - writer
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 1343
      start: 1319
    functionDepth: 3
    functionLinenumber: 1319
    functionLinenumberEnd: 1343
    functionName: SpdmContext::encode_checkpoint_data
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 1
    functionsReached:
    - Ok
    - '&mut Writer::used'
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode_checkpoint_data(&self, writer: &mut Writer) -> Result<usize,
      codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1347,1
    - Dst: SpdmCertChainBuffer::try_reserve_exact
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1348,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1348,1
    - Dst: SpdmCertChainBuffer::resize
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1351,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1355,1
    - Dst: SpdmContext::encode_checkpoint_data
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1356,1
    - Dst: SpdmCertChainBuffer::truncate
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1361,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1362,1
    - Dst: SpdmCertChainBuffer::len
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1365,1
    - Dst: usize::checked_mul
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1366,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1366,1
    - Dst: SpdmCertChainBuffer::try_reserve_exact
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1367,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1367,1
    - Dst: SpdmCertChainBuffer::resize
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1370,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1374
      start: 1346
    functionDepth: 4
    functionLinenumber: 1346
    functionLinenumberEnd: 1374
    functionName: SpdmContext::export
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 4
    functionsReached:
    - map_err
    - SpdmContext::encode_checkpoint_data
    - ok_or
    - SpdmCertChainBuffer::resize
    - SpdmCertChainBuffer::truncate
    - Writer::init
    - usize::checked_mul
    - SpdmCertChainBuffer::len
    - Vec::new
    - SpdmCertChainBuffer::try_reserve_exact
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: pub fn export(&self) -> SpdmResult<Vec<u8>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1379,1
    - Dst: SpdmConfigInfo::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1383,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1383,1
    - Dst: SpdmNegotiateInfo::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1385,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1385,1
    - Dst: SpdmRuntimeInfo::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1387,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1387,1
    - Dst: SpdmProvisionInfo::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1389,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1389,1
    - Dst: SpdmPeerInfo::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1390,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1390,1
    - Dst: SpdmEncapContext::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1395,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1395,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1400,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1400,1
    - Dst: SpdmSession::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1406,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1406,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1409,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 74
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 1410
      start: 1378
    functionDepth: 10
    functionLinenumber: 1378
    functionLinenumberEnd: 1410
    functionName: SpdmContext::import
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 4
    functionsReached:
    - Ok
    - SpdmEncapContext::read
    - u8::read
    - SpdmRuntimeInfo::read
    - Option::ok_or
    - SpdmPeerInfo::read
    - SpdmSession::read
    - Reader::init
    - SpdmProvisionInfo::read
    - SpdmConfigInfo::read
    - SpdmNegotiateInfo::read
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn import(&mut self, data: &[u8]) -> SpdmResult<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1447,1
    - Dst: flatten
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1447,1
    - Dst: count
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1447,1
    - Dst: u8::encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1448,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1449,1
    - Dst: flatten
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1449,1
    - Dst: SpdmResult::encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1450,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1453,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1454,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1455,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1456,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1457,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1458,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1459,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1460,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1461,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1462,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1463,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1464,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1465,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1466,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1467,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1468,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1469,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1470,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1472,1
    - Dst: flatten
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1472,1
    - Dst: count
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1472,1
    - Dst: u8::encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1473,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1474,1
    - Dst: flatten
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1474,1
    - Dst: SpdmResult::encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1475,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1478,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1479,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1480,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1481,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1482,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1483,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 166
    argCount: 1
    argNames:
    - writer
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 1484
      start: 1444
    functionDepth: 3
    functionLinenumber: 1444
    functionLinenumberEnd: 1484
    functionName: SpdmConfigInfo::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - flatten
    - iter
    - u8::encode
    - SpdmResult::encode
    - count
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, writer: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1487,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1489,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1489,1
    - Dst: usize::min
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1491,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1493,1
    - Dst: SpdmVersion::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1493,1
    - Dst: SpdmRequestCapabilityFlags::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1496,1
    - Dst: SpdmResponseCapabilityFlags::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1497,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1498,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1499,1
    - Dst: SpdmMeasurementSpecification::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1500,1
    - Dst: SpdmMeasurementHashAlgo::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1501,1
    - Dst: SpdmBaseHashAlgo::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1502,1
    - Dst: SpdmBaseAsymAlgo::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1503,1
    - Dst: SpdmDheAlgo::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1504,1
    - Dst: SpdmAeadAlgo::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1505,1
    - Dst: SpdmReqAsymAlgo::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1506,1
    - Dst: SpdmKeyScheduleAlgo::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1507,1
    - Dst: SpdmAlgoOtherParams::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1508,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1509,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1510,1
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1511,1
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1512,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1513,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1515,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1517,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1517,1
    - Dst: usize::min
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1519,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1521,1
    - Dst: SecuredMessageVersion::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1521,1
    - Dst: SpdmMelSpecification::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1524,1
    - Dst: SpdmPqcAsymAlgo::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1525,1
    - Dst: SpdmPqcReqAsymAlgo::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1526,1
    - Dst: SpdmKemAlgo::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1527,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1528,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1530,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 86
    argCount: 1
    argNames:
    - reader
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 1557
      start: 1486
    functionDepth: 9
    functionLinenumber: 1486
    functionLinenumberEnd: 1557
    functionName: SpdmConfigInfo::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 4
    functionsReached:
    - u32::read
    - u8::read
    - SpdmKemAlgo::read
    - SpdmVersion::read
    - SpdmAeadAlgo::read
    - usize::min
    - SpdmAlgoOtherParams::read
    - SpdmMelSpecification::read
    - iter_mut
    - SpdmBaseHashAlgo::read
    - Some
    - SpdmPqcAsymAlgo::read
    - SpdmRequestCapabilityFlags::read
    - SpdmResponseCapabilityFlags::read
    - SpdmDheAlgo::read
    - SpdmBaseAsymAlgo::read
    - take
    - SecuredMessageVersion::read
    - SpdmPqcReqAsymAlgo::read
    - SpdmKeyScheduleAlgo::read
    - SpdmReqAsymAlgo::read
    - SpdmMeasurementSpecification::read
    - SpdmMeasurementHashAlgo::read
    linkageType: ''
    returnType: Option
    signature: 'fn read(reader: &mut Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1592,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1593,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1594,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1595,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1596,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1597,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1598,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1599,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1600,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1601,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1602,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1603,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1604,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1605,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1606,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1607,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1608,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1609,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1610,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1611,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1612,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1613,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1614,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1615,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1616,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1617,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 132
    argCount: 1
    argNames:
    - writer
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 1618
      start: 1590
    functionDepth: 3
    functionLinenumber: 1590
    functionLinenumberEnd: 1618
    functionName: SpdmNegotiateInfo::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, writer: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1621,1
    - Dst: SpdmVersion::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1622,1
    - Dst: SpdmRequestCapabilityFlags::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1623,1
    - Dst: SpdmResponseCapabilityFlags::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1624,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1625,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1626,1
    - Dst: SpdmMeasurementSpecification::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1627,1
    - Dst: SpdmMeasurementHashAlgo::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1628,1
    - Dst: SpdmBaseHashAlgo::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1629,1
    - Dst: SpdmBaseAsymAlgo::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1630,1
    - Dst: SpdmDheAlgo::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1631,1
    - Dst: SpdmAeadAlgo::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1632,1
    - Dst: SpdmReqAsymAlgo::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1633,1
    - Dst: SpdmKeyScheduleAlgo::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1634,1
    - Dst: SpdmAlgoOtherParams::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1635,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1636,1
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1637,1
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1638,1
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1639,1
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1640,1
    - Dst: SpdmMelSpecification::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1641,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1642,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1643,1
    - Dst: SpdmPqcAsymAlgo::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1644,1
    - Dst: SpdmPqcReqAsymAlgo::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1645,1
    - Dst: SpdmKemAlgo::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1646,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 55
    argCount: 1
    argNames:
    - reader
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 1648
      start: 1620
    functionDepth: 10
    functionLinenumber: 1620
    functionLinenumberEnd: 1648
    functionName: SpdmNegotiateInfo::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 3
    functionsReached:
    - u32::read
    - u8::read
    - SpdmKemAlgo::read
    - SpdmVersion::read
    - SpdmAeadAlgo::read
    - SpdmAlgoOtherParams::read
    - SpdmMelSpecification::read
    - SpdmBaseHashAlgo::read
    - Some
    - SpdmPqcAsymAlgo::read
    - SpdmRequestCapabilityFlags::read
    - SpdmResponseCapabilityFlags::read
    - SpdmDheAlgo::read
    - SpdmBaseAsymAlgo::read
    - SpdmPqcReqAsymAlgo::read
    - SpdmKeyScheduleAlgo::read
    - SpdmReqAsymAlgo::read
    - SpdmMeasurementSpecification::read
    - SpdmMeasurementHashAlgo::read
    linkageType: ''
    returnType: Option
    signature: 'fn read(reader: &mut Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1695,1
    - Dst: Writer::extend_from_slice
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1696,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1698,1
    - Dst: Writer::used
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1698,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 1699
      start: 1693
    functionDepth: 9
    functionLinenumber: 1693
    functionLinenumberEnd: 1699
    functionName: ManagedBufferA::append_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Writer::used
    - Writer::extend_from_slice
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn append_message(&mut self, bytes: &[u8]) -> Option<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1702
      start: 1700
    functionDepth: 0
    functionLinenumber: 1700
    functionLinenumberEnd: 1702
    functionName: ManagedBufferA::reset_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: pub fn reset_message(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1708
      start: 1706
    functionDepth: 0
    functionLinenumber: 1706
    functionLinenumberEnd: 1708
    functionName: ManagedBufferA::as_ref
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: fn as_ref(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ManagedBufferA
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1714
      start: 1712
    functionDepth: 0
    functionLinenumber: 1712
    functionLinenumberEnd: 1714
    functionName: ManagedBufferA::default
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 4
    functionsReached:
    - ManagedBufferA
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1720,1
    - Dst: '&mut Writer::extend_from_slice'
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1721,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1721,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1724,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - writer
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 1725
      start: 1718
    functionDepth: 3
    functionLinenumber: 1718
    functionLinenumberEnd: 1725
    functionName: ManagedBufferA::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - Ok
    - '&mut Writer::extend_from_slice'
    - ok_or
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, writer: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u64::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1728,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1733,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1733,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1734,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1736,1
    - Dst: ManagedBufferA
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1736,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - reader
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 1737
      start: 1727
    functionDepth: 9
    functionLinenumber: 1727
    functionLinenumberEnd: 1737
    functionName: ManagedBufferA::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 6
    functionsReached:
    - take
    - u64::read
    - ManagedBufferA
    - iter_mut
    - u8::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(reader: &mut Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1746,1
    - Dst: Writer::extend_from_slice
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1747,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1749,1
    - Dst: Writer::used
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1749,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 1750
      start: 1744
    functionDepth: 9
    functionLinenumber: 1744
    functionLinenumberEnd: 1750
    functionName: ManagedBufferB::append_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Writer::used
    - Writer::extend_from_slice
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn append_message(&mut self, bytes: &[u8]) -> Option<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1753
      start: 1751
    functionDepth: 0
    functionLinenumber: 1751
    functionLinenumberEnd: 1753
    functionName: ManagedBufferB::reset_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: pub fn reset_message(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1759
      start: 1757
    functionDepth: 0
    functionLinenumber: 1757
    functionLinenumberEnd: 1759
    functionName: ManagedBufferB::as_ref
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: fn as_ref(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ManagedBufferB
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1765
      start: 1763
    functionDepth: 0
    functionLinenumber: 1763
    functionLinenumberEnd: 1765
    functionName: ManagedBufferB::default
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 3
    functionsReached:
    - ManagedBufferB
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1771,1
    - Dst: '&mut Writer::extend_from_slice'
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1772,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1772,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1775,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - writer
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 1776
      start: 1769
    functionDepth: 3
    functionLinenumber: 1769
    functionLinenumberEnd: 1776
    functionName: ManagedBufferB::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - Ok
    - '&mut Writer::extend_from_slice'
    - ok_or
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, writer: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u64::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1779,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1784,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1784,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1785,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1787,1
    - Dst: ManagedBufferB
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1787,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - reader
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 1788
      start: 1778
    functionDepth: 9
    functionLinenumber: 1778
    functionLinenumberEnd: 1788
    functionName: ManagedBufferB::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 3
    functionsReached:
    - take
    - u64::read
    - iter_mut
    - u8::read
    - ManagedBufferB
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(reader: &mut Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1797,1
    - Dst: Writer::extend_from_slice
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1798,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1800,1
    - Dst: Writer::used
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1800,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 1801
      start: 1795
    functionDepth: 9
    functionLinenumber: 1795
    functionLinenumberEnd: 1801
    functionName: ManagedBufferC::append_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Writer::used
    - Writer::extend_from_slice
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn append_message(&mut self, bytes: &[u8]) -> Option<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1804
      start: 1802
    functionDepth: 0
    functionLinenumber: 1802
    functionLinenumberEnd: 1804
    functionName: ManagedBufferC::reset_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: pub fn reset_message(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1810
      start: 1808
    functionDepth: 0
    functionLinenumber: 1808
    functionLinenumberEnd: 1810
    functionName: ManagedBufferC::as_ref
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: fn as_ref(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ManagedBufferC
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1816
      start: 1814
    functionDepth: 0
    functionLinenumber: 1814
    functionLinenumberEnd: 1816
    functionName: ManagedBufferC::default
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 2
    functionsReached:
    - ManagedBufferC
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1825,1
    - Dst: Writer::extend_from_slice
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1826,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1828,1
    - Dst: Writer::used
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1828,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 1829
      start: 1823
    functionDepth: 9
    functionLinenumber: 1823
    functionLinenumberEnd: 1829
    functionName: ManagedBufferM::append_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Writer::used
    - Writer::extend_from_slice
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn append_message(&mut self, bytes: &[u8]) -> Option<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1832
      start: 1830
    functionDepth: 0
    functionLinenumber: 1830
    functionLinenumberEnd: 1832
    functionName: ManagedBufferM::reset_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: pub fn reset_message(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1838
      start: 1836
    functionDepth: 0
    functionLinenumber: 1836
    functionLinenumberEnd: 1838
    functionName: ManagedBufferM::as_ref
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: fn as_ref(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ManagedBufferM
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1844
      start: 1842
    functionDepth: 0
    functionLinenumber: 1842
    functionLinenumberEnd: 1844
    functionName: ManagedBufferM::default
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 2
    functionsReached:
    - ManagedBufferM
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1853,1
    - Dst: Writer::extend_from_slice
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1854,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1856,1
    - Dst: Writer::used
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1856,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 1857
      start: 1851
    functionDepth: 9
    functionLinenumber: 1851
    functionLinenumberEnd: 1857
    functionName: ManagedBufferK::append_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Writer::used
    - Writer::extend_from_slice
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn append_message(&mut self, bytes: &[u8]) -> Option<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1860
      start: 1858
    functionDepth: 0
    functionLinenumber: 1858
    functionLinenumberEnd: 1860
    functionName: ManagedBufferK::reset_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: pub fn reset_message(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1866
      start: 1864
    functionDepth: 0
    functionLinenumber: 1864
    functionLinenumberEnd: 1866
    functionName: ManagedBufferK::as_ref
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: fn as_ref(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ManagedBufferK
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1872
      start: 1870
    functionDepth: 0
    functionLinenumber: 1870
    functionLinenumberEnd: 1872
    functionName: ManagedBufferK::default
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 1
    functionsReached:
    - ManagedBufferK
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1881,1
    - Dst: Writer::extend_from_slice
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1882,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1884,1
    - Dst: Writer::used
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1884,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 1885
      start: 1879
    functionDepth: 9
    functionLinenumber: 1879
    functionLinenumberEnd: 1885
    functionName: ManagedBufferF::append_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Writer::used
    - Writer::extend_from_slice
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn append_message(&mut self, bytes: &[u8]) -> Option<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1888
      start: 1886
    functionDepth: 0
    functionLinenumber: 1886
    functionLinenumberEnd: 1888
    functionName: ManagedBufferF::reset_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: pub fn reset_message(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1894
      start: 1892
    functionDepth: 0
    functionLinenumber: 1892
    functionLinenumberEnd: 1894
    functionName: ManagedBufferF::as_ref
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: fn as_ref(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ManagedBufferF
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1899,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1900
      start: 1898
    functionDepth: 0
    functionLinenumber: 1898
    functionLinenumberEnd: 1900
    functionName: ManagedBufferF::default
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 1
    functionsReached:
    - ManagedBufferF
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1909,1
    - Dst: Writer::extend_from_slice
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1910,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1912,1
    - Dst: Writer::used
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1912,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 1913
      start: 1907
    functionDepth: 9
    functionLinenumber: 1907
    functionLinenumberEnd: 1913
    functionName: ManagedBufferM1M2::append_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Writer::used
    - Writer::extend_from_slice
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn append_message(&mut self, bytes: &[u8]) -> Option<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1916
      start: 1914
    functionDepth: 0
    functionLinenumber: 1914
    functionLinenumberEnd: 1916
    functionName: ManagedBufferM1M2::reset_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: pub fn reset_message(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1922
      start: 1920
    functionDepth: 0
    functionLinenumber: 1920
    functionLinenumberEnd: 1922
    functionName: ManagedBufferM1M2::as_ref
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: fn as_ref(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ManagedBufferM1M2
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1928
      start: 1926
    functionDepth: 0
    functionLinenumber: 1926
    functionLinenumberEnd: 1928
    functionName: ManagedBufferM1M2::default
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 3
    functionsReached:
    - ManagedBufferM1M2
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1937,1
    - Dst: Writer::extend_from_slice
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1938,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1940,1
    - Dst: Writer::used
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1940,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 1941
      start: 1935
    functionDepth: 9
    functionLinenumber: 1935
    functionLinenumberEnd: 1941
    functionName: ManagedBufferL1L2::append_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Writer::used
    - Writer::extend_from_slice
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn append_message(&mut self, bytes: &[u8]) -> Option<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1944
      start: 1942
    functionDepth: 0
    functionLinenumber: 1942
    functionLinenumberEnd: 1944
    functionName: ManagedBufferL1L2::reset_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: pub fn reset_message(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1950
      start: 1948
    functionDepth: 0
    functionLinenumber: 1948
    functionLinenumberEnd: 1950
    functionName: ManagedBufferL1L2::as_ref
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: fn as_ref(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ManagedBufferL1L2
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1956
      start: 1954
    functionDepth: 0
    functionLinenumber: 1954
    functionLinenumberEnd: 1956
    functionName: ManagedBufferL1L2::default
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 5
    functionsReached:
    - ManagedBufferL1L2
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1965,1
    - Dst: Writer::extend_from_slice
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1966,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1968,1
    - Dst: Writer::used
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1968,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 1969
      start: 1963
    functionDepth: 9
    functionLinenumber: 1963
    functionLinenumberEnd: 1969
    functionName: ManagedBufferTH::append_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Writer::used
    - Writer::extend_from_slice
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn append_message(&mut self, bytes: &[u8]) -> Option<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1972
      start: 1970
    functionDepth: 0
    functionLinenumber: 1970
    functionLinenumberEnd: 1972
    functionName: ManagedBufferTH::reset_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: pub fn reset_message(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1978
      start: 1976
    functionDepth: 0
    functionLinenumber: 1976
    functionLinenumberEnd: 1978
    functionName: ManagedBufferTH::as_ref
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: fn as_ref(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ManagedBufferTH
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1983,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1984
      start: 1982
    functionDepth: 0
    functionLinenumber: 1982
    functionLinenumberEnd: 1984
    functionName: ManagedBufferTH::default
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 3
    functionsReached:
    - ManagedBufferTH
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1993,1
    - Dst: Writer::extend_from_slice
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1994,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1996,1
    - Dst: Writer::used
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:1996,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 1997
      start: 1991
    functionDepth: 9
    functionLinenumber: 1991
    functionLinenumberEnd: 1997
    functionName: ManagedBuffer12Sign::append_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Writer::used
    - Writer::extend_from_slice
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn append_message(&mut self, bytes: &[u8]) -> Option<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2000
      start: 1998
    functionDepth: 0
    functionLinenumber: 1998
    functionLinenumberEnd: 2000
    functionName: ManagedBuffer12Sign::reset_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: pub fn reset_message(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2006
      start: 2004
    functionDepth: 0
    functionLinenumber: 2004
    functionLinenumberEnd: 2006
    functionName: ManagedBuffer12Sign::as_ref
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: fn as_ref(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ManagedBuffer12Sign
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2012
      start: 2010
    functionDepth: 0
    functionLinenumber: 2010
    functionLinenumberEnd: 2012
    functionName: ManagedBuffer12Sign::default
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 3
    functionsReached:
    - ManagedBuffer12Sign
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2018,1
    - Dst: '&mut Writer::extend_from_slice'
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2019,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2019,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2022,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - writer
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 2023
      start: 2016
    functionDepth: 3
    functionLinenumber: 2016
    functionLinenumberEnd: 2023
    functionName: ManagedBufferC::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - Ok
    - '&mut Writer::extend_from_slice'
    - ok_or
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, writer: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u64::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2026,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2031,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2031,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2032,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2034,1
    - Dst: ManagedBufferC
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2034,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - reader
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 2035
      start: 2025
    functionDepth: 9
    functionLinenumber: 2025
    functionLinenumberEnd: 2035
    functionName: ManagedBufferC::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 2
    functionsReached:
    - take
    - u64::read
    - iter_mut
    - u8::read
    - ManagedBufferC
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(reader: &mut Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2041,1
    - Dst: '&mut Writer::extend_from_slice'
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2042,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2042,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2045,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - writer
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 2046
      start: 2039
    functionDepth: 3
    functionLinenumber: 2039
    functionLinenumberEnd: 2046
    functionName: ManagedBufferM::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - Ok
    - '&mut Writer::extend_from_slice'
    - ok_or
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, writer: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u64::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2049,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2054,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2054,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2055,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2057,1
    - Dst: ManagedBufferM
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2057,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - reader
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 2058
      start: 2048
    functionDepth: 9
    functionLinenumber: 2048
    functionLinenumberEnd: 2058
    functionName: ManagedBufferM::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 1
    functionsReached:
    - take
    - u64::read
    - iter_mut
    - u8::read
    - ManagedBufferM
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(reader: &mut Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2064,1
    - Dst: '&mut Writer::extend_from_slice'
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2065,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2065,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2068,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - writer
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 2069
      start: 2062
    functionDepth: 3
    functionLinenumber: 2062
    functionLinenumberEnd: 2069
    functionName: ManagedBufferK::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - Ok
    - '&mut Writer::extend_from_slice'
    - ok_or
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, writer: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u64::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2072,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2077,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2077,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2078,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2080,1
    - Dst: ManagedBufferK
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2080,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - reader
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 2081
      start: 2071
    functionDepth: 9
    functionLinenumber: 2071
    functionLinenumberEnd: 2081
    functionName: ManagedBufferK::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 1
    functionsReached:
    - take
    - u64::read
    - ManagedBufferK
    - iter_mut
    - u8::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(reader: &mut Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2087,1
    - Dst: '&mut Writer::extend_from_slice'
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2088,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2088,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2091,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - writer
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 2092
      start: 2085
    functionDepth: 3
    functionLinenumber: 2085
    functionLinenumberEnd: 2092
    functionName: ManagedBufferF::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - Ok
    - '&mut Writer::extend_from_slice'
    - ok_or
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, writer: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u64::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2095,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2100,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2100,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2101,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2103,1
    - Dst: ManagedBufferF
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - reader
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 2104
      start: 2094
    functionDepth: 9
    functionLinenumber: 2094
    functionLinenumberEnd: 2104
    functionName: ManagedBufferF::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 1
    functionsReached:
    - take
    - u64::read
    - iter_mut
    - u8::read
    - ManagedBufferF
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(reader: &mut Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2110,1
    - Dst: '&mut Writer::extend_from_slice'
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2111,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2111,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - writer
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 2115
      start: 2108
    functionDepth: 3
    functionLinenumber: 2108
    functionLinenumberEnd: 2115
    functionName: ManagedBufferM1M2::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - Ok
    - '&mut Writer::extend_from_slice'
    - ok_or
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, writer: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u64::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2118,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2123,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2123,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2124,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2126,1
    - Dst: ManagedBufferM1M2
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - reader
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 2127
      start: 2117
    functionDepth: 9
    functionLinenumber: 2117
    functionLinenumberEnd: 2127
    functionName: ManagedBufferM1M2::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 1
    functionsReached:
    - take
    - u64::read
    - ManagedBufferM1M2
    - iter_mut
    - u8::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(reader: &mut Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2133,1
    - Dst: '&mut Writer::extend_from_slice'
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2134,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2134,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - writer
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 2138
      start: 2131
    functionDepth: 3
    functionLinenumber: 2131
    functionLinenumberEnd: 2138
    functionName: ManagedBufferL1L2::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - Ok
    - '&mut Writer::extend_from_slice'
    - ok_or
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, writer: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u64::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2141,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2146,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2146,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2147,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2149,1
    - Dst: ManagedBufferL1L2
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2149,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - reader
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 2150
      start: 2140
    functionDepth: 9
    functionLinenumber: 2140
    functionLinenumberEnd: 2150
    functionName: ManagedBufferL1L2::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 1
    functionsReached:
    - take
    - u64::read
    - ManagedBufferL1L2
    - iter_mut
    - u8::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(reader: &mut Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2156,1
    - Dst: '&mut Writer::extend_from_slice'
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2157,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2157,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - writer
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 2161
      start: 2154
    functionDepth: 3
    functionLinenumber: 2154
    functionLinenumberEnd: 2161
    functionName: ManagedBufferTH::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - Ok
    - '&mut Writer::extend_from_slice'
    - ok_or
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, writer: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u64::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2164,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2169,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2169,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2170,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2172,1
    - Dst: ManagedBufferTH
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2172,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - reader
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 2173
      start: 2163
    functionDepth: 9
    functionLinenumber: 2163
    functionLinenumberEnd: 2173
    functionName: ManagedBufferTH::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 1
    functionsReached:
    - take
    - u64::read
    - ManagedBufferTH
    - iter_mut
    - u8::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(reader: &mut Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2179,1
    - Dst: '&mut Writer::extend_from_slice'
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2180,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2180,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - writer
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 2184
      start: 2177
    functionDepth: 3
    functionLinenumber: 2177
    functionLinenumberEnd: 2184
    functionName: ManagedBuffer12Sign::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - Ok
    - '&mut Writer::extend_from_slice'
    - ok_or
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, writer: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u64::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2187,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2192,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2192,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2193,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2195,1
    - Dst: ManagedBuffer12Sign
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - reader
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 2196
      start: 2186
    functionDepth: 9
    functionLinenumber: 2186
    functionLinenumberEnd: 2196
    functionName: ManagedBuffer12Sign::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 1
    functionsReached:
    - take
    - u64::read
    - iter_mut
    - u8::read
    - ManagedBuffer12Sign
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(reader: &mut Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2205,1
    - Dst: Writer::extend_from_slice
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2206,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2208,1
    - Dst: Writer::used
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 2209
      start: 2203
    functionDepth: 9
    functionLinenumber: 2203
    functionLinenumberEnd: 2209
    functionName: ManagedVdmBuffer::append_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Writer::used
    - Writer::extend_from_slice
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn append_message(&mut self, bytes: &[u8]) -> Option<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2212
      start: 2210
    functionDepth: 0
    functionLinenumber: 2210
    functionLinenumberEnd: 2212
    functionName: ManagedVdmBuffer::reset_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: pub fn reset_message(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2218
      start: 2216
    functionDepth: 0
    functionLinenumber: 2216
    functionLinenumberEnd: 2218
    functionName: ManagedVdmBuffer::as_ref
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: fn as_ref(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ManagedVdmBuffer
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2227
      start: 2222
    functionDepth: 0
    functionLinenumber: 2222
    functionLinenumberEnd: 2227
    functionName: ManagedVdmBuffer::default
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - ManagedVdmBuffer
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2233,1
    - Dst: '&mut Writer::extend_from_slice'
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2234,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2234,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - writer
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 2238
      start: 2231
    functionDepth: 3
    functionLinenumber: 2231
    functionLinenumberEnd: 2238
    functionName: ManagedVdmBuffer::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - Ok
    - '&mut Writer::extend_from_slice'
    - ok_or
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, writer: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u64::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2241,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2246,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2246,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2247,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2249,1
    - Dst: ManagedVdmBuffer
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2249,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - reader
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 2250
      start: 2240
    functionDepth: 9
    functionLinenumber: 2240
    functionLinenumberEnd: 2250
    functionName: ManagedVdmBuffer::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 2
    functionsReached:
    - take
    - u64::read
    - ManagedVdmBuffer
    - iter_mut
    - u8::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(reader: &mut Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2263,1
    - Dst: u8::encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - writer
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 2265
      start: 2262
    functionDepth: 4
    functionLinenumber: 2262
    functionLinenumberEnd: 2265
    functionName: SpdmMeasurementContentChanged::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - into
    - u8::encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, writer: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2268,1
    - Dst: Self::try_from
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2269,1
    - Dst: Result::ok
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - reader
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 2270
      start: 2267
    functionDepth: 9
    functionLinenumber: 2267
    functionLinenumberEnd: 2270
    functionName: SpdmMeasurementContentChanged::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 2
    functionsReached:
    - Self::try_from
    - u8::read
    - Result::ok
    linkageType: ''
    returnType: Option
    signature: 'fn read(reader: &mut Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2277,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2279,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2281,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2283,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - content_changed
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 2285
      start: 2275
    functionDepth: 0
    functionLinenumber: 2275
    functionLinenumberEnd: 2285
    functionName: SpdmMeasurementContentChanged::try_from
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 1
    functionsReached:
    - Err
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn try_from(content_changed: u8) -> Result<Self, <Self as TryFrom<u8>>::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - connection_state
    argTypes:
    - SpdmConnectionState
    constantsTouched: []
    func_position:
      end: 2336
      start: 2334
    functionDepth: 0
    functionLinenumber: 2334
    functionLinenumberEnd: 2336
    functionName: SpdmRuntimeInfo::set_connection_state
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub fn set_connection_state(&mut self, connection_state: SpdmConnectionState)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2340
      start: 2338
    functionDepth: 0
    functionLinenumber: 2338
    functionLinenumberEnd: 2340
    functionName: SpdmRuntimeInfo::get_connection_state
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SpdmConnectionState
    signature: pub fn get_connection_state(&self) -> SpdmConnectionState
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - last_session_id
    argTypes:
    - Option<u32>
    constantsTouched: []
    func_position:
      end: 2344
      start: 2342
    functionDepth: 0
    functionLinenumber: 2342
    functionLinenumberEnd: 2344
    functionName: SpdmRuntimeInfo::set_last_session_id
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub fn set_last_session_id(&mut self, last_session_id: Option<u32>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2348
      start: 2346
    functionDepth: 0
    functionLinenumber: 2346
    functionLinenumberEnd: 2348
    functionName: SpdmRuntimeInfo::get_last_session_id
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Option
    signature: pub fn get_last_session_id(&self) -> Option<u32>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - slot_id
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 2352
      start: 2350
    functionDepth: 0
    functionLinenumber: 2350
    functionLinenumberEnd: 2352
    functionName: SpdmRuntimeInfo::set_peer_used_cert_chain_slot_id
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub fn set_peer_used_cert_chain_slot_id(&mut self, slot_id: u8)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2356
      start: 2354
    functionDepth: 0
    functionLinenumber: 2354
    functionLinenumberEnd: 2356
    functionName: SpdmRuntimeInfo::get_peer_used_cert_chain_slot_id
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: pub fn get_peer_used_cert_chain_slot_id(&self) -> u8
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - slot_id
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 2360
      start: 2358
    functionDepth: 0
    functionLinenumber: 2358
    functionLinenumberEnd: 2360
    functionName: SpdmRuntimeInfo::set_local_used_cert_chain_slot_id
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub fn set_local_used_cert_chain_slot_id(&mut self, slot_id: u8)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2364
      start: 2362
    functionDepth: 0
    functionLinenumber: 2362
    functionLinenumberEnd: 2364
    functionName: SpdmRuntimeInfo::get_local_used_cert_chain_slot_id
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: pub fn get_local_used_cert_chain_slot_id(&self) -> u8
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2433,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2436,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2437,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2440,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2443,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2444,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2445,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2446,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2447,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2450,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2450,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2451,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2454,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2454,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2455,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2457,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2459,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2459,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2460,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2462,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 98
    argCount: 1
    argNames:
    - writer
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 2463
      start: 2431
    functionDepth: 3
    functionLinenumber: 2431
    functionLinenumberEnd: 2463
    functionName: SpdmRuntimeInfo::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, writer: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2466,1
    - Dst: SpdmConnectionState::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2467,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2469,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2470,1
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2470,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2475,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2476,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2477,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2478,1
    - Dst: ManagedBufferA::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2479,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2481,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2483,1
    - Dst: SpdmHashCtx::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2483,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2489,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2491,1
    - Dst: SpdmHashCtx::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2491,1
    - Dst: SpdmMeasurementContentChanged::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2496,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2498,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2500,1
    - Dst: ManagedVdmBuffer::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2500,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 50
    argCount: 1
    argNames:
    - reader
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 2506
      start: 2465
    functionDepth: 10
    functionLinenumber: 2465
    functionLinenumberEnd: 2506
    functionName: SpdmRuntimeInfo::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 5
    functionsReached:
    - SpdmConnectionState::read
    - SpdmMeasurementContentChanged::read
    - u32::read
    - u8::read
    - ManagedVdmBuffer::read
    - ManagedBufferA::read
    - SpdmHashCtx::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(reader: &mut Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2526,1
    - Dst: enumerate
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2526,1
    - Dst: SimpleLogger::is_some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2527,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2531,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2532,1
    - Dst: flatten
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2532,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2533,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2536,1
    - Dst: enumerate
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2536,1
    - Dst: SimpleLogger::is_some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2537,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2541,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2542,1
    - Dst: flatten
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2542,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2543,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2546,1
    - Dst: enumerate
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2546,1
    - Dst: SimpleLogger::is_some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2547,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2551,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2552,1
    - Dst: flatten
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2552,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2553,1
    - Dst: is_some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2555,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2556,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2558,1
    - Dst: is_some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2560,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2565,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2567,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2569,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2571,1
    - Dst: enumerate
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2571,1
    - Dst: SimpleLogger::is_some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2572,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2576,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2577,1
    - Dst: flatten
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2577,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2578,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2581,1
    - Dst: enumerate
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2581,1
    - Dst: SimpleLogger::is_some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2582,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2586,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2587,1
    - Dst: flatten
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2587,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2588,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2591,1
    - Dst: enumerate
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2591,1
    - Dst: SimpleLogger::is_some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2592,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2596,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2597,1
    - Dst: flatten
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2597,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2598,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2600,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 206
    argCount: 1
    argNames:
    - writer
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 2601
      start: 2523
    functionDepth: 3
    functionLinenumber: 2523
    functionLinenumberEnd: 2601
    functionName: SpdmProvisionInfo::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - SimpleLogger::is_some
    - enumerate
    - is_some
    - flatten
    - iter
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, writer: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2605,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2606,1
    - Dst: enumerate
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2606,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2606,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2612,1
    - Dst: SpdmCertChainData::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2612,1
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2618,1
    - Dst: SpdmResult::iter_mut
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2619,1
    - Dst: enumerate
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2619,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2619,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2625,1
    - Dst: SpdmCertChainBuffer::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2625,1
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2631,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2632,1
    - Dst: enumerate
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2632,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2632,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2638,1
    - Dst: SpdmCertChainData::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2638,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2643,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2645,1
    - Dst: SpdmCertChainData::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2645,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2649,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2651,1
    - Dst: SpdmCertChainData::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2651,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2655,1
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2657,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2658,1
    - Dst: enumerate
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2658,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2658,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2664,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2664,1
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2670,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2671,1
    - Dst: enumerate
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2671,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2671,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2677,1
    - Dst: SpdmCertificateModelType::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2677,1
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2683,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2684,1
    - Dst: enumerate
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2684,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2684,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2690,1
    - Dst: SpdmKeyUsageMask::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2690,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2695,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 180
    argCount: 1
    argNames:
    - reader
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 2706
      start: 2603
    functionDepth: 9
    functionLinenumber: 2603
    functionLinenumberEnd: 2706
    functionName: SpdmProvisionInfo::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 5
    functionsReached:
    - take
    - enumerate
    - SpdmKeyUsageMask::read
    - iter_mut
    - u32::read
    - u8::read
    - SpdmCertChainData::read
    - SpdmResult::iter_mut
    - SpdmCertificateModelType::read
    - SpdmCertChainBuffer::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(reader: &mut Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2722
      start: 2710
    functionDepth: 0
    functionLinenumber: 2710
    functionLinenumberEnd: 2722
    functionName: SpdmProvisionInfo::default
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2743,1
    - Dst: enumerate
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2743,1
    - Dst: SimpleLogger::is_some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2744,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2748,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2749,1
    - Dst: flatten
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2749,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2750,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2754,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2755,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2758,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2761,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2762,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2764,1
    - Dst: enumerate
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2764,1
    - Dst: SimpleLogger::is_some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2765,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2769,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2770,1
    - Dst: flatten
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2770,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2771,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2774,1
    - Dst: enumerate
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2774,1
    - Dst: SimpleLogger::is_some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2775,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2779,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2780,1
    - Dst: flatten
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2780,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2781,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2784,1
    - Dst: enumerate
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2784,1
    - Dst: SimpleLogger::is_some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2785,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2789,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2790,1
    - Dst: flatten
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2790,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2791,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2795,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2796,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2799,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2802,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 155
    argCount: 1
    argNames:
    - writer
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 2803
      start: 2740
    functionDepth: 3
    functionLinenumber: 2740
    functionLinenumberEnd: 2803
    functionName: SpdmPeerInfo::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - SimpleLogger::is_some
    - enumerate
    - flatten
    - iter
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, writer: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2807,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2808,1
    - Dst: enumerate
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2808,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2808,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2814,1
    - Dst: SpdmCertChainBuffer::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2814,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2819,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2820,1
    - Dst: SpdmCertChainBuffer::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2820,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2824,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2825,1
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2827,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2828,1
    - Dst: enumerate
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2828,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2828,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2834,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2834,1
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2840,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2841,1
    - Dst: enumerate
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2841,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2841,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2847,1
    - Dst: SpdmCertificateModelType::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2847,1
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2853,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2854,1
    - Dst: enumerate
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2854,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2854,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2860,1
    - Dst: SpdmKeyUsageMask::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2860,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2865,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2866,1
    - Dst: SpdmSupportedAlgorithmsBlock::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2866,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2870,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 128
    argCount: 1
    argNames:
    - reader
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 2880
      start: 2805
    functionDepth: 9
    functionLinenumber: 2805
    functionLinenumberEnd: 2880
    functionName: SpdmPeerInfo::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 5
    functionsReached:
    - take
    - enumerate
    - SpdmKeyUsageMask::read
    - iter_mut
    - u32::read
    - u8::read
    - SpdmSupportedAlgorithmsBlock::read
    - SpdmCertificateModelType::read
    - SpdmCertChainBuffer::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(reader: &mut Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2896,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2897,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2898,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2899,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2900,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - writer
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 2901
      start: 2894
    functionDepth: 3
    functionLinenumber: 2894
    functionLinenumberEnd: 2901
    functionName: SpdmEncapContext::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 0
    functionsReached:
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, writer: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2904,1
    - Dst: SpdmKeyExchangeMutAuthAttributes::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2905,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2906,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2907,1
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/common/mod.rs:2908,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - reader
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 2910
      start: 2903
    functionDepth: 10
    functionLinenumber: 2903
    functionLinenumberEnd: 2910
    functionName: SpdmEncapContext::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 2
    functionsReached:
    - u32::read
    - u8::read
    - SpdmKeyExchangeMutAuthAttributes::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(reader: &mut Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2945
      start: 2936
    functionDepth: 0
    functionLinenumber: 2936
    functionLinenumberEnd: 2945
    functionName: SpdmChunkContext::default
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/mod.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:34,1
    - Dst: Self::spdm_read
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - context
    - bytes
    argTypes:
    - '&mut SpdmContext'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 10
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: SpdmCodec::spdm_read_bytes
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs
    functionUses: 0
    functionsReached:
    - Reader::init
    - Self::spdm_read
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read_bytes(context: &mut SpdmContext, bytes: &[u8]) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:46,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:46,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:47,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:47,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - context
    - bytes
    argTypes:
    - '&mut SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 50
      start: 40
    functionDepth: 8
    functionLinenumber: 40
    functionLinenumberEnd: 50
    functionName: SpdmDigestStruct::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs
    functionUses: 0
    functionsReached:
    - take
    - iter
    - Result::map_err
    - Vec::encode
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,context: &mut SpdmContext,bytes: &mut Writer,)
      -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::get_hash_size
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:52,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:53,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:54,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:54,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:55,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - context
    - r
    argTypes:
    - '&mut SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 8
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: SpdmDigestStruct::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs
    functionUses: 8
    functionsReached:
    - take
    - iter_mut
    - u8::read
    - Box::new
    - bool::get_hash_size
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(context: &mut SpdmContext, r: &mut Reader) -> Option<SpdmDigestStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:68,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:68,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:69,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:69,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - context
    - bytes
    argTypes:
    - '&mut SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 8
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: SpdmSignatureStruct::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs
    functionUses: 0
    functionsReached:
    - take
    - iter
    - Result::map_err
    - Vec::encode
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,context: &mut SpdmContext,bytes: &mut Writer,)
      -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::get_asym_sig_size
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:74,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:76,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:76,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:77,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - context
    - r
    argTypes:
    - '&mut SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 8
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: SpdmSignatureStruct::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs
    functionUses: 5
    functionsReached:
    - take
    - iter_mut
    - u8::read
    - bool::get_asym_sig_size
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(context: &mut SpdmContext, r: &mut Reader) -> Option<SpdmSignatureStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:85,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:86,1
    - Dst: SpdmMeasurementBlockStructure::spdm_read
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:90,1
    - Dst: Option::is_none
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:91,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:94,1
    - Dst: Result::any_left
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 1
    argNames:
    - context
    argTypes:
    - '&mut SpdmContext'
    constantsTouched: []
    func_position:
      end: 104
      start: 84
    functionDepth: 10
    functionLinenumber: 84
    functionLinenumberEnd: 104
    functionName: SpdmMeasurementRecordStructure::verify_measurement_record
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs
    functionUses: 0
    functionsReached:
    - Option::is_none
    - Result::any_left
    - Result::unwrap
    - get
    - SpdmMeasurementBlockStructure::spdm_read
    - Reader::init
    linkageType: ''
    returnType: bool
    signature: 'fn verify_measurement_record(&self, context: &mut SpdmContext) ->
      bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:114,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:114,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:118,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:118,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:123,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:123,1
    - Dst: get
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:126,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:128,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:128,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 2
    argNames:
    - _context
    - bytes
    argTypes:
    - '&mut SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 131
      start: 108
    functionDepth: 8
    functionLinenumber: 108
    functionLinenumberEnd: 131
    functionName: SpdmMeasurementRecordStructure::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs
    functionUses: 0
    functionsReached:
    - take
    - map_err
    - iter
    - Result::map_err
    - get
    - Vec::encode
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,_context: &mut SpdmContext,bytes: &mut Writer,)
      -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:137,1
    - Dst: u24::read
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:138,1
    - Dst: get
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:139,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:143,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:143,1
    - Dst: get
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:145,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:147,1
    - Dst: SpdmResult::verify_measurement_record
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:155,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:159,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 2
    argNames:
    - context
    - r
    argTypes:
    - '&mut SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 160
      start: 133
    functionDepth: 9
    functionLinenumber: 133
    functionLinenumberEnd: 160
    functionName: SpdmMeasurementRecordStructure::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs
    functionUses: 2
    functionsReached:
    - take
    - SpdmResult::verify_measurement_record
    - iter_mut
    - u8::read
    - u24::read
    - get
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(context: &mut SpdmContext,r: &mut Reader,) -> Option<SpdmMeasurementRecordStructure>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:169,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:169,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:170,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:170,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - _context
    - bytes
    argTypes:
    - '&mut SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 173
      start: 164
    functionDepth: 8
    functionLinenumber: 164
    functionLinenumberEnd: 173
    functionName: SpdmDheExchangeStruct::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs
    functionUses: 0
    functionsReached:
    - take
    - iter
    - Result::map_err
    - Vec::encode
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,_context: &mut SpdmContext,bytes: &mut Writer,)
      -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_key_size
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:175,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:177,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:177,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:178,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - context
    - r
    argTypes:
    - '&mut SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 8
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: SpdmDheExchangeStruct::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs
    functionUses: 1
    functionsReached:
    - take
    - iter_mut
    - u8::read
    - get_key_size
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(context: &mut SpdmContext, r: &mut Reader) -> Option<SpdmDheExchangeStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:190,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:190,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:191,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:191,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - _context
    - bytes
    argTypes:
    - '&mut SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 194
      start: 185
    functionDepth: 8
    functionLinenumber: 185
    functionLinenumberEnd: 194
    functionName: SpdmKemEncapKeyStruct::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs
    functionUses: 0
    functionsReached:
    - take
    - iter
    - Result::map_err
    - Vec::encode
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,_context: &mut SpdmContext,bytes: &mut Writer,)
      -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_encap_key_size
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:196,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:198,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:198,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:199,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - context
    - r
    argTypes:
    - '&mut SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 202
      start: 195
    functionDepth: 8
    functionLinenumber: 195
    functionLinenumberEnd: 202
    functionName: SpdmKemEncapKeyStruct::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs
    functionUses: 0
    functionsReached:
    - take
    - iter_mut
    - u8::read
    - get_encap_key_size
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(context: &mut SpdmContext, r: &mut Reader) -> Option<SpdmKemEncapKeyStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:211,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:211,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:212,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:212,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - _context
    - bytes
    argTypes:
    - '&mut SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 215
      start: 206
    functionDepth: 8
    functionLinenumber: 206
    functionLinenumberEnd: 215
    functionName: SpdmKemCipherTextStruct::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs
    functionUses: 0
    functionsReached:
    - take
    - iter
    - Result::map_err
    - Vec::encode
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,_context: &mut SpdmContext,bytes: &mut Writer,)
      -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_cipher_text_size
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:217,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:219,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:219,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:220,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - context
    - r
    argTypes:
    - '&mut SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 223
      start: 216
    functionDepth: 8
    functionLinenumber: 216
    functionLinenumberEnd: 223
    functionName: SpdmKemCipherTextStruct::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs
    functionUses: 0
    functionsReached:
    - take
    - iter_mut
    - u8::read
    - get_cipher_text_size
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(context: &mut SpdmContext, r: &mut Reader) -> Option<SpdmKemCipherTextStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:232,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:232,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:233,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:233,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - _context
    - bytes
    argTypes:
    - '&mut SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 236
      start: 227
    functionDepth: 8
    functionLinenumber: 227
    functionLinenumberEnd: 236
    functionName: SpdmReqExchangeStruct::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs
    functionUses: 0
    functionsReached:
    - take
    - iter
    - Result::map_err
    - Vec::encode
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,_context: &mut SpdmContext,bytes: &mut Writer,)
      -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::get_req_key_exchange_size
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:238,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:240,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:240,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:241,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - context
    - r
    argTypes:
    - '&mut SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 244
      start: 237
    functionDepth: 8
    functionLinenumber: 237
    functionLinenumberEnd: 244
    functionName: SpdmReqExchangeStruct::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs
    functionUses: 1
    functionsReached:
    - take
    - iter_mut
    - u8::read
    - bool::get_req_key_exchange_size
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(context: &mut SpdmContext, r: &mut Reader) -> Option<SpdmReqExchangeStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:253,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:253,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:254,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:254,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - _context
    - bytes
    argTypes:
    - '&mut SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 257
      start: 248
    functionDepth: 8
    functionLinenumber: 248
    functionLinenumberEnd: 257
    functionName: SpdmRspExchangeStruct::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs
    functionUses: 0
    functionsReached:
    - take
    - iter
    - Result::map_err
    - Vec::encode
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,_context: &mut SpdmContext,bytes: &mut Writer,)
      -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::get_rsp_key_exchange_size
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:259,1
    - Dst: iter_mut
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:261,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:261,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:262,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - context
    - r
    argTypes:
    - '&mut SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 265
      start: 258
    functionDepth: 8
    functionLinenumber: 258
    functionLinenumberEnd: 265
    functionName: SpdmRspExchangeStruct::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs
    functionUses: 1
    functionsReached:
    - take
    - iter_mut
    - u8::read
    - bool::get_rsp_key_exchange_size
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(context: &mut SpdmContext, r: &mut Reader) -> Option<SpdmRspExchangeStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:275,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:276,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:278,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:278,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:284,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:284,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:288,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:288,1
    - Dst: SimpleLogger::encode
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:289,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:289,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:291,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 2
    argNames:
    - _context
    - bytes
    argTypes:
    - '&mut SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 292
      start: 269
    functionDepth: 8
    functionLinenumber: 269
    functionLinenumberEnd: 292
    functionName: SpdmDmtfMeasurementStructure::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs
    functionUses: 0
    functionsReached:
    - take
    - get_u8
    - map_err
    - SimpleLogger::encode
    - iter
    - Result::map_err
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,_context: &mut SpdmContext,bytes: &mut Writer,)
      -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:297,1
    - Dst: SpdmDmtfMeasurementType::Unknown
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:342,1
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:345,1
    - Dst: get_size
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:352,1
    - Dst: u8::iter_mut
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:359,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:359,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:360,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:362,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 55
    argCount: 2
    argNames:
    - context
    - r
    argTypes:
    - '&mut SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 368
      start: 293
    functionDepth: 9
    functionLinenumber: 293
    functionLinenumberEnd: 368
    functionName: SpdmDmtfMeasurementStructure::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs
    functionUses: 2
    functionsReached:
    - take
    - Some
    - u8::read
    - u8::iter_mut
    - u16::read
    - get_size
    - SpdmDmtfMeasurementType::Unknown
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(context: &mut SpdmContext,r: &mut Reader,) -> Option<SpdmDmtfMeasurementStructure>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:378,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:378,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:382,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:382,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:386,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:386,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:390,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:390,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:394,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 2
    argNames:
    - context
    - bytes
    argTypes:
    - '&mut SpdmContext'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 395
      start: 372
    functionDepth: 3
    functionLinenumber: 372
    functionLinenumberEnd: 395
    functionName: SpdmMeasurementBlockStructure::spdm_encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs
    functionUses: 0
    functionsReached:
    - map_err
    - spdm_encode
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn spdm_encode(&self,context: &mut SpdmContext,bytes: &mut Writer,)
      -> Result<usize, SpdmStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:400,1
    - Dst: SpdmMeasurementSpecification::read
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:401,1
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:405,1
    - Dst: SpdmDmtfMeasurementStructure::spdm_read
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:409,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs:413,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - context
    - r
    argTypes:
    - '&mut SpdmContext'
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 419
      start: 396
    functionDepth: 9
    functionLinenumber: 396
    functionLinenumberEnd: 419
    functionName: SpdmMeasurementBlockStructure::spdm_read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs
    functionUses: 2
    functionsReached:
    - SpdmDmtfMeasurementStructure::spdm_read
    - u8::read
    - u16::read
    - SpdmMeasurementSpecification::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn spdm_read(context: &mut SpdmContext,r: &mut Reader,) -> Option<SpdmMeasurementBlockStructure>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: SpdmSessionState::default
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: SpdmSessionState
    signature: fn default() -> SpdmSessionState
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:50,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:51,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:52,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:53,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:54,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:55,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - writer
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 3
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: SpdmSessionCryptoParam::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached:
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, writer: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:59,1
    - Dst: SpdmBaseHashAlgo::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:60,1
    - Dst: SpdmDheAlgo::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:61,1
    - Dst: SpdmKemAlgo::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:62,1
    - Dst: SpdmAeadAlgo::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:63,1
    - Dst: SpdmKeyScheduleAlgo::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:64,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - reader
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 10
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: SpdmSessionCryptoParam::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 1
    functionsReached:
    - SpdmKemAlgo::read
    - SpdmKeyScheduleAlgo::read
    - SpdmAeadAlgo::read
    - SpdmDheAlgo::read
    - SpdmBaseHashAlgo::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(reader: &mut Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:79,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:80,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:81,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - writer
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: SpdmSessionSharedSecretRoot::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached:
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, writer: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:86,1
    - Dst: SpdmSharedSecretFinalKeyStruct::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:87,1
    - Dst: SpdmHandshakeSecretStruct::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:88,1
    - Dst: SpdmMasterSecretStruct::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - reader
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 10
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: SpdmSessionSharedSecretRoot::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 1
    functionsReached:
    - SpdmSharedSecretFinalKeyStruct::read
    - SpdmMasterSecretStruct::read
    - SpdmHandshakeSecretStruct::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(reader: &mut Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:104,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:105,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:106,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - writer
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 3
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: SpdmSessionSecretParam::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached:
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, writer: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:111,1
    - Dst: SpdmAeadKeyStruct::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:112,1
    - Dst: SpdmAeadIvStruct::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:113,1
    - Dst: u64::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - reader
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 10
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: SpdmSessionSecretParam::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 2
    functionsReached:
    - SpdmAeadKeyStruct::read
    - u64::read
    - SpdmAeadIvStruct::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(reader: &mut Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:132,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:133,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:134,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:135,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:136,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:137,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:138,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - writer
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 139
      start: 130
    functionDepth: 3
    functionLinenumber: 130
    functionLinenumberEnd: 139
    functionName: SpdmSessionHandshakeSecret::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached:
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, writer: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:142,1
    - Dst: SpdmDirectionHandshakeSecretStruct::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:143,1
    - Dst: SpdmDirectionHandshakeSecretStruct::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:144,1
    - Dst: SpdmFinishedKeyStruct::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:145,1
    - Dst: SpdmFinishedKeyStruct::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:146,1
    - Dst: SpdmSessionSecretParam::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:147,1
    - Dst: SpdmSessionSecretParam::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:148,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - reader
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 150
      start: 141
    functionDepth: 10
    functionLinenumber: 141
    functionLinenumberEnd: 150
    functionName: SpdmSessionHandshakeSecret::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 1
    functionsReached:
    - SpdmSessionSecretParam::read
    - SpdmFinishedKeyStruct::read
    - SpdmDirectionHandshakeSecretStruct::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(reader: &mut Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:165,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:166,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:167,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:168,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:169,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:170,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - writer
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 171
      start: 163
    functionDepth: 3
    functionLinenumber: 163
    functionLinenumberEnd: 171
    functionName: SpdmSessionApplicationSecret::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached:
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, writer: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:174,1
    - Dst: SpdmDirectionDataSecretStruct::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:175,1
    - Dst: SpdmDirectionDataSecretStruct::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:176,1
    - Dst: SpdmSessionSecretParam::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:177,1
    - Dst: SpdmSessionSecretParam::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:178,1
    - Dst: SpdmExportMasterSecretStruct::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:179,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - reader
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 181
      start: 173
    functionDepth: 10
    functionLinenumber: 173
    functionLinenumberEnd: 181
    functionName: SpdmSessionApplicationSecret::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 1
    functionsReached:
    - SpdmDirectionDataSecretStruct::read
    - SpdmSessionSecretParam::read
    - SpdmExportMasterSecretStruct::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(reader: &mut Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:193,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:194,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - writer
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 3
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: SpdmSessionTransportParam::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached:
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, writer: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:199,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:200,1
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - reader
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 203
      start: 198
    functionDepth: 9
    functionLinenumber: 198
    functionLinenumberEnd: 203
    functionName: SpdmSessionTransportParam::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 1
    functionsReached:
    - u16::read
    - u8::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(reader: &mut Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:323,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:324,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:327,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:330,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:331,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:334,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:335,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:338,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:343,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:344,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:347,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:352,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:353,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:356,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:361,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:362,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:365,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:370,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:371,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:374,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:377,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 109
    argCount: 1
    argNames:
    - writer
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 378
      start: 319
    functionDepth: 3
    functionLinenumber: 319
    functionLinenumberEnd: 378
    functionName: SpdmSessionRuntimeInfo::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached:
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, writer: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:381,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:382,1
    - Dst: SpdmPskHintStruct::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:382,1
    - Dst: ManagedBufferA::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:386,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:387,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:388,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:389,1
    - Dst: SpdmDigestStruct::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:389,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:393,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:394,1
    - Dst: SpdmDigestStruct::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:394,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:398,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:399,1
    - Dst: SpdmHashCtx::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:399,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:403,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:404,1
    - Dst: SpdmHashCtx::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:404,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:408,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:409,1
    - Dst: ManagedVdmBuffer::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:409,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:413,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 49
    argCount: 1
    argNames:
    - reader
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 423
      start: 380
    functionDepth: 9
    functionLinenumber: 380
    functionLinenumberEnd: 423
    functionName: SpdmSessionRuntimeInfo::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 1
    functionsReached:
    - SpdmDigestStruct::read
    - SpdmPskHintStruct::read
    - u8::read
    - ManagedVdmBuffer::read
    - ManagedBufferA::read
    - SpdmHashCtx::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(reader: &mut Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::new
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 451
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 451
    functionName: SpdmSession::default
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 9
    functionsReached:
    - Self::new
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:457,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:458,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:459,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:460,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:461,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:462,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:463,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:464,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:465,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:466,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:467,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:468,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:469,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:470,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:471,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:472,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:473,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:474,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:475,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 97
    argCount: 1
    argNames:
    - writer
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 476
      start: 455
    functionDepth: 3
    functionLinenumber: 455
    functionLinenumberEnd: 476
    functionName: SpdmSession::encode
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached:
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, writer: &mut Writer) -> Result<usize, codec::EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:479,1
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:480,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:481,1
    - Dst: SpdmKeyExchangeMutAuthAttributes::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:482,1
    - Dst: SpdmSessionState::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:483,1
    - Dst: SpdmSessionCryptoParam::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:484,1
    - Dst: SpdmSessionSharedSecretRoot::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:485,1
    - Dst: SpdmSessionHandshakeSecret::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:486,1
    - Dst: SpdmSessionApplicationSecret::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:487,1
    - Dst: SpdmSessionApplicationSecret::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:488,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:489,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:490,1
    - Dst: SpdmSessionTransportParam::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:491,1
    - Dst: SpdmSessionRuntimeInfo::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:492,1
    - Dst: SpdmKeySchedule::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:493,1
    - Dst: SpdmDigestStruct::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:494,1
    - Dst: SpdmDigestStruct::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:495,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:496,1
    - Dst: SecuredMessageVersion::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:497,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 1
    argNames:
    - reader
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 499
      start: 478
    functionDepth: 9
    functionLinenumber: 478
    functionLinenumberEnd: 499
    functionName: SpdmSession::read
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 1
    functionsReached:
    - SpdmDigestStruct::read
    - SpdmKeyExchangeMutAuthAttributes::read
    - SecuredMessageVersion::read
    - SpdmSessionRuntimeInfo::read
    - u32::read
    - u8::read
    - SpdmSessionCryptoParam::read
    - SpdmSessionHandshakeSecret::read
    - SpdmKeySchedule::read
    - SpdmSessionApplicationSecret::read
    - SpdmSessionTransportParam::read
    - SpdmSessionSharedSecretRoot::read
    - SpdmSessionState::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(reader: &mut Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmSessionState::default
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:507,1
    - Dst: SpdmSessionCryptoParam::default
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:508,1
    - Dst: SpdmSessionSharedSecretRoot::default
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:509,1
    - Dst: SpdmSessionHandshakeSecret::default
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:510,1
    - Dst: SpdmSessionApplicationSecret::default
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:511,1
    - Dst: SpdmSessionApplicationSecret::default
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:512,1
    - Dst: SpdmSessionTransportParam::default
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:515,1
    - Dst: SpdmSessionRuntimeInfo::default
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:516,1
    - Dst: SpdmKeySchedule::new
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:517,1
    - Dst: SpdmDigestStruct::default
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:518,1
    - Dst: SpdmDigestStruct::default
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:519,1
    - Dst: SecuredMessageVersion::default
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:521,1
    - Dst: SpdmKeyExchangeMutAuthAttributes::default
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 524
      start: 503
    functionDepth: 2
    functionLinenumber: 503
    functionLinenumberEnd: 524
    functionName: SpdmSession::new
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 40
    functionsReached:
    - SpdmKeySchedule::new
    - SpdmSessionHandshakeSecret::default
    - SpdmSessionTransportParam::default
    - SpdmSessionState::default
    - SecuredMessageVersion::default
    - SpdmSessionRuntimeInfo::default
    - SpdmKeyExchangeMutAuthAttributes::default
    - SpdmSessionSharedSecretRoot::default
    - SpdmSessionCryptoParam::default
    - SpdmSessionApplicationSecret::default
    - SpdmDigestStruct::default
    linkageType: ''
    returnType: Self
    signature: pub fn new() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - seq
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 528
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 528
    functionName: SpdmSession::set_request_direction_sequence_number
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub fn set_request_direction_sequence_number(&mut self, seq: u64)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 532
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 532
    functionName: SpdmSession::get_request_direction_sequence_number
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: pub fn get_request_direction_sequence_number(&self) -> u64
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - seq
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 536
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 536
    functionName: SpdmSession::set_response_direction_sequence_number
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub fn set_response_direction_sequence_number(&mut self, seq: u64)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 540
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 540
    functionName: SpdmSession::get_response_direction_sequence_number
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: pub fn get_response_direction_sequence_number(&self) -> u64
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 544
      start: 542
    functionDepth: 2
    functionLinenumber: 542
    functionLinenumberEnd: 544
    functionName: SpdmSession::get_application_secret
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached:
    - clone
    linkageType: ''
    returnType: SpdmSessionApplicationSecret
    signature: pub fn get_application_secret(&self) -> SpdmSessionApplicationSecret
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - application_secret
    argTypes:
    - SpdmSessionApplicationSecret
    constantsTouched: []
    func_position:
      end: 548
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 548
    functionName: SpdmSession::set_application_secret
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub fn set_application_secret(&mut self, application_secret: SpdmSessionApplicationSecret)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmSessionState::default
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:553,1
    - Dst: SpdmSessionCryptoParam::default
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:554,1
    - Dst: SpdmSessionSharedSecretRoot::default
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:555,1
    - Dst: SpdmSessionHandshakeSecret::default
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:556,1
    - Dst: SpdmSessionApplicationSecret::default
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:557,1
    - Dst: SpdmSessionApplicationSecret::default
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:558,1
    - Dst: SpdmSessionTransportParam::default
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:559,1
    - Dst: SpdmSessionRuntimeInfo::default
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:560,1
    - Dst: SecuredMessageVersion::default
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:563,1
    - Dst: SpdmKeyExchangeMutAuthAttributes::empty
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:564,1
    - Dst: SpdmDigestStruct::default
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:567,1
    - Dst: SpdmDigestStruct::default
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 569
      start: 550
    functionDepth: 2
    functionLinenumber: 550
    functionLinenumberEnd: 569
    functionName: SpdmSession::set_default
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 4
    functionsReached:
    - SpdmKeyExchangeMutAuthAttributes::empty
    - SpdmSessionHandshakeSecret::default
    - SpdmSessionTransportParam::default
    - SpdmSessionState::default
    - SecuredMessageVersion::default
    - SpdmSessionRuntimeInfo::default
    - SpdmSessionSharedSecretRoot::default
    - SpdmSessionCryptoParam::default
    - SpdmSessionApplicationSecret::default
    - SpdmDigestStruct::default
    linkageType: ''
    returnType: void
    signature: pub fn set_default(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 573
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 573
    functionName: SpdmSession::get_session_id
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: pub fn get_session_id(&self) -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - session_id
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 577
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 577
    functionName: SpdmSession::set_session_id
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub fn set_session_id(&mut self, session_id: u32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmSession::set_default
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:581,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - session_id
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 587
      start: 579
    functionDepth: 3
    functionLinenumber: 579
    functionLinenumberEnd: 587
    functionName: SpdmSession::setup
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached:
    - SpdmSession::set_default
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn setup(&mut self, session_id: u32) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmSession::set_default
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 591
      start: 589
    functionDepth: 3
    functionLinenumber: 589
    functionLinenumberEnd: 591
    functionName: SpdmSession::teardown
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached:
    - SpdmSession::set_default
    linkageType: ''
    returnType: void
    signature: pub fn teardown(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - use_psk
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 595
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 595
    functionName: SpdmSession::set_use_psk
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub fn set_use_psk(&mut self, use_psk: bool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 599
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 599
    functionName: SpdmSession::get_use_psk
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: pub fn get_use_psk(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - th1
    argTypes:
    - SpdmDigestStruct
    constantsTouched: []
    func_position:
      end: 603
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 603
    functionName: SpdmSession::set_th1
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub fn set_th1(&mut self, th1: SpdmDigestStruct)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 607
      start: 605
    functionDepth: 2
    functionLinenumber: 605
    functionLinenumberEnd: 607
    functionName: SpdmSession::get_th1
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached:
    - clone
    linkageType: ''
    returnType: SpdmDigestStruct
    signature: pub fn get_th1(&self) -> SpdmDigestStruct
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - th2
    argTypes:
    - SpdmDigestStruct
    constantsTouched: []
    func_position:
      end: 611
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 611
    functionName: SpdmSession::set_th2
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub fn set_th2(&mut self, th2: SpdmDigestStruct)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 615
      start: 613
    functionDepth: 2
    functionLinenumber: 613
    functionLinenumberEnd: 615
    functionName: SpdmSession::get_th2
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached:
    - clone
    linkageType: ''
    returnType: SpdmDigestStruct
    signature: pub fn get_th2(&self) -> SpdmDigestStruct
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: derive_handshake_secret
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:625,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:632,1
    - Dst: derive_master_secret
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:635,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:642,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:657,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 38
    argCount: 2
    argNames:
    - spdm_version
    - shared_secret
    argTypes:
    - SpdmVersion
    - SpdmSharedSecretFinalKeyStruct
    constantsTouched: []
    func_position:
      end: 658
      start: 617
    functionDepth: 11
    functionLinenumber: 617
    functionLinenumberEnd: 658
    functionName: SpdmSession::set_shared_secret
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached:
    - derive_master_secret
    - Err
    - derive_handshake_secret
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn set_shared_secret(&mut self,spdm_version: SpdmVersion,shared_secret:
      SpdmSharedSecretFinalKeyStruct,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 662
      start: 660
    functionDepth: 2
    functionLinenumber: 660
    functionLinenumberEnd: 662
    functionName: SpdmSession::get_crypto_param
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached:
    - clone
    linkageType: ''
    returnType: SpdmSessionCryptoParam
    signature: pub fn get_crypto_param(&self) -> SpdmSessionCryptoParam
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 5
    argNames:
    - base_hash_algo
    - dhe_algo
    - kem_algo
    - aead_algo
    - key_schedule_algo
    argTypes:
    - SpdmBaseHashAlgo
    - SpdmDheAlgo
    - SpdmKemAlgo
    - SpdmAeadAlgo
    - SpdmKeyScheduleAlgo
    constantsTouched: []
    func_position:
      end: 677
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 677
    functionName: SpdmSession::set_crypto_param
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub fn set_crypto_param(&mut self,base_hash_algo: SpdmBaseHashAlgo,dhe_algo:
      SpdmDheAlgo,kem_algo: SpdmKemAlgo,aead_algo: SpdmAeadAlgo,key_schedule_algo:
      SpdmKeyScheduleAlgo,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - sequence_number_count
    - max_random_count
    argTypes:
    - u8
    - u16
    constantsTouched: []
    func_position:
      end: 682
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 682
    functionName: SpdmSession::set_transport_param
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub fn set_transport_param(&mut self, sequence_number_count: u8, max_random_count:
      u16)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - session_state
    argTypes:
    - SpdmSessionState
    constantsTouched: []
    func_position:
      end: 686
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 686
    functionName: SpdmSession::set_session_state
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub fn set_session_state(&mut self, session_state: SpdmSessionState)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 690
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 690
    functionName: SpdmSession::get_session_state
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SpdmSessionState
    signature: pub fn get_session_state(&self) -> SpdmSessionState
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mut_auth_requested
    argTypes:
    - SpdmKeyExchangeMutAuthAttributes
    constantsTouched: []
    func_position:
      end: 694
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 694
    functionName: SpdmSession::set_mut_auth_requested
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub fn set_mut_auth_requested(&mut self, mut_auth_requested: SpdmKeyExchangeMutAuthAttributes)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 698
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 698
    functionName: SpdmSession::get_mut_auth_requested
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SpdmKeyExchangeMutAuthAttributes
    signature: pub fn get_mut_auth_requested(&self) -> SpdmKeyExchangeMutAuthAttributes
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: derive_request_handshake_secret
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:711,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:718,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:720,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:721,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:725,1
    - Dst: derive_response_handshake_secret
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:732,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:739,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:741,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:742,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:746,1
    - Dst: derive_finished_key
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:753,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:760,1
    - Dst: derive_finished_key
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:767,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:774,1
    - Dst: derive_aead_key_iv
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:781,1
    - Dst: SpdmMajorSecret::SpdmDirectionHandshakeSecret
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:785,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:791,1
    - Dst: derive_aead_key_iv
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:808,1
    - Dst: SpdmMajorSecret::SpdmDirectionHandshakeSecret
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:812,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:818,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:834,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 139
    argCount: 2
    argNames:
    - spdm_version
    - th1
    argTypes:
    - SpdmVersion
    - '&SpdmDigestStruct'
    constantsTouched: []
    func_position:
      end: 835
      start: 700
    functionDepth: 11
    functionLinenumber: 700
    functionLinenumberEnd: 835
    functionName: SpdmSession::generate_handshake_secret
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached:
    - SpdmMajorSecret::SpdmDirectionHandshakeSecret
    - Err
    - derive_response_handshake_secret
    - derive_finished_key
    - derive_aead_key_iv
    - derive_request_handshake_secret
    - as_ref
    - Ok
    - Some
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn generate_handshake_secret(&mut self,spdm_version: SpdmVersion,th1:
      &SpdmDigestStruct,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: derive_request_data_secret
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:848,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:855,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:857,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:858,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:862,1
    - Dst: derive_response_data_secret
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:865,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:872,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:874,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:875,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:879,1
    - Dst: derive_aead_key_iv
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:890,1
    - Dst: SpdmMajorSecret::SpdmDirectionDataSecret
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:894,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:898,1
    - Dst: derive_aead_key_iv
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:914,1
    - Dst: SpdmMajorSecret::SpdmDirectionDataSecret
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:918,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:924,1
    - Dst: derive_export_master_secret
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:941,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:948,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:950,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:954,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:957,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 131
    argCount: 2
    argNames:
    - spdm_version
    - th2
    argTypes:
    - SpdmVersion
    - '&SpdmDigestStruct'
    constantsTouched: []
    func_position:
      end: 958
      start: 837
    functionDepth: 11
    functionLinenumber: 837
    functionLinenumberEnd: 958
    functionName: SpdmSession::generate_data_secret
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached:
    - derive_request_data_secret
    - derive_response_data_secret
    - SpdmMajorSecret::SpdmDirectionDataSecret
    - Err
    - derive_aead_key_iv
    - derive_export_master_secret
    - as_ref
    - Ok
    - Some
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn generate_data_secret(&mut self,spdm_version: SpdmVersion,th2:
      &SpdmDigestStruct,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:975,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:977,1
    - Dst: derive_update_secret
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:981,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:988,1
    - Dst: derive_aead_key_iv
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:995,1
    - Dst: SpdmMajorSecret::SpdmDirectionDataSecret
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:999,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1005,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1025,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1027,1
    - Dst: derive_update_secret
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1031,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1038,1
    - Dst: derive_aead_key_iv
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1045,1
    - Dst: SpdmMajorSecret::SpdmDirectionDataSecret
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1049,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1055,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1072,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 141
    argCount: 3
    argNames:
    - spdm_version
    - update_requester
    - update_responder
    argTypes:
    - SpdmVersion
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 1073
      start: 960
    functionDepth: 11
    functionLinenumber: 960
    functionLinenumberEnd: 1073
    functionName: SpdmSession::create_data_secret_update
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached:
    - clone
    - derive_update_secret
    - SpdmMajorSecret::SpdmDirectionDataSecret
    - Err
    - Ok
    - derive_aead_key_iv
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn create_data_secret_update(&mut self,spdm_version: SpdmVersion,update_requester:
      bool,update_responder: bool,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1085,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1087,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1091,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1093,1
    - Dst: SpdmDirectionDataSecretStruct::default
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1098,1
    - Dst: SpdmSessionSecretParam::default
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1100,1
    - Dst: SpdmDirectionDataSecretStruct::default
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1105,1
    - Dst: SpdmSessionSecretParam::default
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1107,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1111,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 75
    argCount: 4
    argNames:
    - _spdm_version
    - update_requester
    - update_responder
    - use_new_key
    argTypes:
    - SpdmVersion
    - bool
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 1112
      start: 1075
    functionDepth: 2
    functionLinenumber: 1075
    functionLinenumberEnd: 1112
    functionName: SpdmSession::activate_data_secret_update
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached:
    - SpdmDirectionDataSecretStruct::default
    - clone
    - Ok
    - SpdmSessionSecretParam::default
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn activate_data_secret_update(&mut self,_spdm_version: SpdmVersion,update_requester:
      bool,update_responder: bool,use_new_key: bool,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::hmac::hmac
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1118,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1120,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - message_hash
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 1124
      start: 1114
    functionDepth: 10
    functionLinenumber: 1114
    functionLinenumberEnd: 1124
    functionName: SpdmSession::generate_hmac_with_response_finished_key
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached:
    - as_ref
    - crypto::hmac::hmac
    - Option::ok_or
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn generate_hmac_with_response_finished_key(&self,message_hash:
      &[u8],) -> SpdmResult<SpdmDigestStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::hmac::hmac
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1130,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1132,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - message_hash
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 1136
      start: 1126
    functionDepth: 10
    functionLinenumber: 1126
    functionLinenumberEnd: 1136
    functionName: SpdmSession::generate_hmac_with_request_finished_key
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached:
    - as_ref
    - crypto::hmac::hmac
    - Option::ok_or
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn generate_hmac_with_request_finished_key(&self,message_hash:
      &[u8],) -> SpdmResult<SpdmDigestStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::hmac::hmac_verify
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1143,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - message_hash
    - hmac
    argTypes:
    - '&[u8]'
    - '&SpdmDigestStruct'
    constantsTouched: []
    func_position:
      end: 1149
      start: 1138
    functionDepth: 3
    functionLinenumber: 1138
    functionLinenumberEnd: 1149
    functionName: SpdmSession::verify_hmac_with_response_finished_key
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached:
    - crypto::hmac::hmac_verify
    - as_ref
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn verify_hmac_with_response_finished_key(&self,message_hash:
      &[u8],hmac: &SpdmDigestStruct,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crypto::hmac::hmac_verify
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1156,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - message_hash
    - hmac
    argTypes:
    - '&[u8]'
    - '&SpdmDigestStruct'
    constantsTouched: []
    func_position:
      end: 1162
      start: 1151
    functionDepth: 3
    functionLinenumber: 1151
    functionLinenumberEnd: 1162
    functionName: SpdmSession::verify_hmac_with_request_finished_key
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached:
    - crypto::hmac::hmac_verify
    - as_ref
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn verify_hmac_with_request_finished_key(&self,message_hash: &[u8],hmac:
      &SpdmDigestStruct,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1167,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1172,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1176,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1164
    functionDepth: 2
    functionLinenumber: 1164
    functionLinenumberEnd: 1185
    functionName: SpdmSession::export_keys
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached:
    - clone
    linkageType: ''
    returnType: (SpdmSessionSecretParam, SpdmSessionSecretParam)
    signature: pub fn export_keys(&mut self) -> (SpdmSessionSecretParam, SpdmSessionSecretParam)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1194,1
    - Dst: SpdmSession::encode_msg
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1197,1
    - Dst: is_ok
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1202,1
    - Dst: SpdmSession::encode_msg
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1207,1
    - Dst: is_ok
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1212,1
    - Dst: SpdmSession::encode_msg
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1220,1
    - Dst: is_ok
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1225,1
    - Dst: SpdmSession::encode_msg
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1230,1
    - Dst: is_ok
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1235,1
    - Dst: crate::error::StatusCode::CRYPTO
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1246,1
    - Dst: SpdmSession::set_default
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 65
    argCount: 3
    argNames:
    - app_buffer
    - secured_buffer
    - is_requester
    argTypes:
    - '&[u8]'
    - '&mut [u8]'
    - bool
    constantsTouched: []
    func_position:
      end: 1253
      start: 1187
    functionDepth: 4
    functionLinenumber: 1187
    functionLinenumberEnd: 1253
    functionName: SpdmSession::encode_spdm_secured_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached:
    - crate::error::StatusCode::CRYPTO
    - SpdmSession::encode_msg
    - Err
    - SpdmSession::set_default
    - is_ok
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn encode_spdm_secured_message(&mut self,app_buffer: &[u8],secured_buffer:
      &mut [u8],is_requester: bool,) -> SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1262,1
    - Dst: SpdmSession::decode_msg
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1265,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1270,1
    - Dst: SpdmSession::decode_msg
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1275,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1280,1
    - Dst: SpdmSession::decode_msg
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1288,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1293,1
    - Dst: SpdmSession::decode_msg
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1298,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1304,1
    - Dst: SpdmSession::decode_msg
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1306,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1311,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1317,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1325,1
    - Dst: crate::error::StatusCode::CRYPTO
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1330,1
    - Dst: SpdmSession::set_default
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1332,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 88
    argCount: 3
    argNames:
    - secured_buffer
    - app_buffer
    - is_requester
    argTypes:
    - '&[u8]'
    - '&mut [u8]'
    - bool
    constantsTouched: []
    func_position:
      end: 1337
      start: 1255
    functionDepth: 10
    functionLinenumber: 1255
    functionLinenumberEnd: 1337
    functionName: SpdmSession::decode_spdm_secured_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached:
    - SpdmSession::set_default
    - crate::error::StatusCode::CRYPTO
    - Err
    - SpdmSession::decode_msg
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn decode_spdm_secured_message(&mut self,secured_buffer: &[u8],app_buffer:
      &mut [u8],is_requester: bool,) -> SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1349,1
    - Dst: get_tag_size
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1350,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1353,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1354,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1358,1
    - Dst: SpdmResult::encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1361,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1361,1
    - Dst: SpdmResult::encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1368,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1368,1
    - Dst: Option::encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1372,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1372,1
    - Dst: Writer::used
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1375,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1379,1
    - Dst: u16::encode
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1380,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1380,1
    - Dst: Writer::used
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1383,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1385,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1385,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1389,1
    - Dst: crypto::aead::encrypt
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1400,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1412,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1413,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1416,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 204
    argCount: 3
    argNames:
    - app_buffer
    - secured_buffer
    - secret_param
    argTypes:
    - '&[u8]'
    - '&mut [u8]'
    - '&SpdmSessionSecretParam'
    constantsTouched: []
    func_position:
      end: 1417
      start: 1339
    functionDepth: 3
    functionLinenumber: 1339
    functionLinenumberEnd: 1417
    functionName: SpdmSession::encode_msg
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 1
    functionsReached:
    - u16::encode
    - crypto::aead::encrypt
    - clone
    - '&[u8]::len'
    - get_tag_size
    - Writer::used
    - Err
    - Result::map_err
    - Writer::init
    - SpdmResult::encode
    - copy_from_slice
    - Option::encode
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: 'fn encode_msg(&self,app_buffer: &[u8],secured_buffer: &mut [u8],secret_param:
      &SpdmSessionSecretParam,) -> SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_tag_size
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1428,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1431,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1434,1
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1435,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1435,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1438,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1443,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1443,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1446,1
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1450,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1450,1
    - Dst: Result::used
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1451,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1455,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1456,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1460,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1467,1
    - Dst: crypto::aead::decrypt
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1478,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1489,1
    - Dst: u16::read
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1490,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1490,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1492,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1495,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1496,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 201
    argCount: 3
    argNames:
    - secured_buffer
    - app_buffer
    - secret_param
    argTypes:
    - '&[u8]'
    - '&mut [u8]'
    - '&SpdmSessionSecretParam'
    constantsTouched: []
    func_position:
      end: 1497
      start: 1419
    functionDepth: 9
    functionLinenumber: 1419
    functionLinenumberEnd: 1497
    functionName: SpdmSession::decode_msg
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 1
    functionsReached:
    - Result::used
    - clone
    - '&[u8]::len'
    - get_tag_size
    - u32::read
    - u8::read
    - Err
    - Option::ok_or
    - u16::read
    - copy_from_slice
    - crypto::aead::decrypt
    - Reader::init
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: 'fn decode_msg(&self,secured_buffer: &[u8],app_buffer: &mut [u8],secret_param:
      &SpdmSessionSecretParam,) -> SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmSession::default
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1507,1
    - Dst: setup
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1512,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1512,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1513,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1516,1
    - Dst: set_session_state
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1520,1
    - Dst: set_session_state
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1551,1
    - Dst: set_request_direction_sequence_number
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1554,1
    - Dst: set_response_direction_sequence_number
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1555,1
    - Dst: encode_spdm_secured_message
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1557,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1571
      start: 1506
    functionDepth: 5
    functionLinenumber: 1506
    functionLinenumberEnd: 1571
    functionName: tests_session::test_case0_sequence_number_overflow
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached:
    - SpdmResult::unwrap
    - encode_spdm_secured_message
    - set_response_direction_sequence_number
    - set_crypto_param
    - set_request_direction_sequence_number
    - SpdmSession::default
    - set_session_state
    - SpdmKemAlgo::empty
    - setup
    linkageType: ''
    returnType: void
    signature: fn test_case0_sequence_number_overflow()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmSession::default
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1575,1
    - Dst: setup
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1580,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1580,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1581,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1584,1
    - Dst: set_session_state
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1588,1
    - Dst: set_session_state
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1619,1
    - Dst: set_request_direction_sequence_number
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1622,1
    - Dst: set_response_direction_sequence_number
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1623,1
    - Dst: encode_spdm_secured_message
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1625,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1639
      start: 1574
    functionDepth: 5
    functionLinenumber: 1574
    functionLinenumberEnd: 1639
    functionName: tests_session::test_case1_sequence_number_overflow
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached:
    - SpdmResult::unwrap
    - encode_spdm_secured_message
    - set_response_direction_sequence_number
    - set_crypto_param
    - set_request_direction_sequence_number
    - SpdmSession::default
    - set_session_state
    - SpdmKemAlgo::empty
    - setup
    linkageType: ''
    returnType: void
    signature: fn test_case1_sequence_number_overflow()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmSession::default
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1643,1
    - Dst: setup
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1648,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1648,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1649,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1652,1
    - Dst: set_session_state
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1656,1
    - Dst: set_session_state
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1687,1
    - Dst: set_request_direction_sequence_number
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1690,1
    - Dst: set_response_direction_sequence_number
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1691,1
    - Dst: decode_spdm_secured_message
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1694,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1708
      start: 1642
    functionDepth: 11
    functionLinenumber: 1642
    functionLinenumberEnd: 1708
    functionName: tests_session::test_case2_sequence_number_overflow
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached:
    - SpdmResult::unwrap
    - decode_spdm_secured_message
    - set_response_direction_sequence_number
    - set_crypto_param
    - set_request_direction_sequence_number
    - SpdmSession::default
    - set_session_state
    - SpdmKemAlgo::empty
    - setup
    linkageType: ''
    returnType: void
    signature: fn test_case2_sequence_number_overflow()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmSession::default
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1712,1
    - Dst: setup
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1717,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1717,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1718,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1721,1
    - Dst: set_session_state
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1725,1
    - Dst: set_session_state
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1756,1
    - Dst: set_request_direction_sequence_number
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1759,1
    - Dst: set_response_direction_sequence_number
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1760,1
    - Dst: decode_spdm_secured_message
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1762,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1780
      start: 1711
    functionDepth: 11
    functionLinenumber: 1711
    functionLinenumberEnd: 1780
    functionName: tests_session::test_case3_sequence_number_overflow
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached:
    - SpdmResult::unwrap
    - decode_spdm_secured_message
    - set_response_direction_sequence_number
    - set_crypto_param
    - set_request_direction_sequence_number
    - SpdmSession::default
    - set_session_state
    - SpdmKemAlgo::empty
    - setup
    linkageType: ''
    returnType: void
    signature: fn test_case3_sequence_number_overflow()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmSession::default
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1784,1
    - Dst: activate_data_secret_update
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1785,1
    - Dst: SpdmResult::is_ok
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1785,1
    - Dst: activate_data_secret_update
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1790,1
    - Dst: SpdmResult::is_ok
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1790,1
    - Dst: activate_data_secret_update
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1795,1
    - Dst: SpdmResult::is_ok
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1799
      start: 1783
    functionDepth: 3
    functionLinenumber: 1783
    functionLinenumberEnd: 1799
    functionName: tests_session::test_case0_activate_data_secret_update
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached:
    - activate_data_secret_update
    - SpdmResult::is_ok
    - SpdmSession::default
    linkageType: ''
    returnType: void
    signature: fn test_case0_activate_data_secret_update()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmSession::default
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1802,1
    - Dst: setup
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1807,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1807,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1808,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1811,1
    - Dst: set_session_state
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1815,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1820,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1824,1
    - Dst: decode_msg
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1830,1
    - Dst: SpdmResult::is_ok
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1830,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1839,1
    - Dst: decode_msg
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1841,1
    - Dst: SpdmResult::is_ok
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1849
      start: 1801
    functionDepth: 10
    functionLinenumber: 1801
    functionLinenumberEnd: 1849
    functionName: tests_session::test_case0_decode_msg
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached:
    - SpdmResult::unwrap
    - decode_msg
    - SpdmResult::is_ok
    - set_crypto_param
    - Box::new
    - Writer::init
    - SpdmSession::default
    - set_session_state
    - SpdmKemAlgo::empty
    - setup
    linkageType: ''
    returnType: void
    signature: fn test_case0_decode_msg()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmSession::default
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1852,1
    - Dst: setup
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1857,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1857,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1858,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1861,1
    - Dst: set_session_state
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1865,1
    - Dst: encode_msg
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1887,1
    - Dst: SpdmResult::is_ok
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1887,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1895
      start: 1851
    functionDepth: 5
    functionLinenumber: 1851
    functionLinenumberEnd: 1895
    functionName: tests_session::test_case0_encode_msg
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached:
    - SpdmResult::unwrap
    - SpdmResult::is_ok
    - set_crypto_param
    - encode_msg
    - SpdmSession::default
    - set_session_state
    - SpdmKemAlgo::empty
    - setup
    linkageType: ''
    returnType: void
    signature: fn test_case0_encode_msg()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmSession::default
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1901,1
    - Dst: setup
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1904,1
    - Dst: SpdmResult::is_err
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1904,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1905
      start: 1898
    functionDepth: 4
    functionLinenumber: 1898
    functionLinenumberEnd: 1905
    functionName: tests_session::test_case0_setup
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached:
    - SpdmResult::is_err
    - SpdmSession::default
    - setup
    linkageType: ''
    returnType: void
    signature: fn test_case0_setup()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmSession::default
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1910,1
    - Dst: teardown
      Src: /src/spdm-rs/spdmlib/src/common/session.rs:1912,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1914
      start: 1907
    functionDepth: 4
    functionLinenumber: 1907
    functionLinenumberEnd: 1914
    functionName: tests_session::test_case0_teardown
    functionSourceFile: /src/spdm-rs/spdmlib/src/common/session.rs
    functionUses: 0
    functionsReached:
    - teardown
    - SpdmSession::default
    linkageType: ''
    returnType: void
    signature: fn test_case0_teardown()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Arc::new
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:28,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:28,1
    - Dst: Arc::new
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:30,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:30,1
    - Dst: ResponderContext::new
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:31,1
    - Dst: SpdmConfigInfo::default
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:34,1
    - Dst: SpdmProvisionInfo::default
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:35,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 46
    functionName: new_responder
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/context_test.rs
    functionUses: 12
    functionsReached:
    - Arc::new
    - SpdmConfigInfo::default
    - set_connection_state
    - ResponderContext::new
    - Mutex::new
    - SpdmProvisionInfo::default
    linkageType: ''
    returnType: ResponderContext
    signature: fn new_responder() -> ResponderContext
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 2
    argNames:
    - ctx
    - session_id
    argTypes:
    - '&mut ResponderContext'
    - Option<u32>
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: stage_get
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/context_test.rs
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn stage_get(ctx: &mut ResponderContext, session_id: Option<u32>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 2
    argNames:
    - ctx
    - session_id
    argTypes:
    - '&mut ResponderContext'
    - Option<u32>
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: stage_send
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/context_test.rs
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn stage_send(ctx: &mut ResponderContext, session_id: Option<u32>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_responder
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:69,1
    - Dst: SpdmMessagePayload::SpdmChunkGetRequest
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:75,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:81,1
    - Dst: SpdmResult::spdm_encode
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:82,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:82,1
    - Dst: to_vec
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 2
    argNames:
    - handle
    - seq
    argTypes:
    - u8
    - u32
    constantsTouched: []
    func_position:
      end: 84
      start: 68
    functionDepth: 5
    functionLinenumber: 68
    functionLinenumberEnd: 84
    functionName: encode_chunk_get
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/context_test.rs
    functionUses: 5
    functionsReached:
    - new_responder
    - to_vec
    - SpdmMessagePayload::SpdmChunkGetRequest
    - Writer::init
    - Result::unwrap
    - SpdmResult::spdm_encode
    linkageType: ''
    returnType: Vec
    signature: 'fn encode_chunk_get(handle: u8, seq: u32) -> Vec<u8>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_responder
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:89,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:92,1
    - Dst: SpdmMessagePayload::SpdmChunkSendRequest
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:98,1
    - Dst: SpdmChunkSenderAttributes::default
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:99,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:107,1
    - Dst: SpdmResult::spdm_encode
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:108,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:108,1
    - Dst: to_vec
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 3
    argNames:
    - handle
    - seq
    - chunk_size
    argTypes:
    - u8
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 110
      start: 86
    functionDepth: 5
    functionLinenumber: 86
    functionLinenumberEnd: 110
    functionName: encode_chunk_send
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/context_test.rs
    functionUses: 5
    functionsReached:
    - new_responder
    - to_vec
    - SpdmMessagePayload::SpdmChunkSendRequest
    - Writer::init
    - Result::unwrap
    - SpdmResult::spdm_encode
    - SpdmChunkSenderAttributes::default
    - Some
    linkageType: ''
    returnType: Vec
    signature: 'fn encode_chunk_send(handle: u8, seq: u32, chunk_size: u32) -> Vec<u8>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:115,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:116,1
    - Dst: '&[u8]::get'
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:118,1
    - Dst: copied
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:118,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:118,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - resp
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 122
      start: 114
    functionDepth: 11
    functionLinenumber: 114
    functionLinenumberEnd: 122
    functionName: is_unexpected_request
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/context_test.rs
    functionUses: 0
    functionsReached:
    - get_u8
    - copied
    - '&[u8]::get'
    - SpdmMessageHeader::read
    - Reader::init
    - Some
    linkageType: ''
    returnType: bool
    signature: 'fn is_unexpected_request(resp: &[u8]) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_responder
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:128,1
    - Dst: stage_get
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:129,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:129,1
    - Dst: encode_chunk_get
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:130,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:132,1
    - Dst: write_spdm_chunk_get_response
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:133,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 127
    functionDepth: 11
    functionLinenumber: 127
    functionLinenumberEnd: 135
    functionName: chunk_get_matching_session_is_served
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/context_test.rs
    functionUses: 0
    functionsReached:
    - stage_get
    - new_responder
    - write_spdm_chunk_get_response
    - Writer::init
    - encode_chunk_get
    - Some
    linkageType: ''
    returnType: void
    signature: fn chunk_get_matching_session_is_served()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_responder
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:139,1
    - Dst: stage_get
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:140,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:140,1
    - Dst: encode_chunk_get
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:141,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:143,1
    - Dst: write_spdm_chunk_get_response
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:144,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 138
    functionDepth: 11
    functionLinenumber: 138
    functionLinenumberEnd: 147
    functionName: chunk_get_different_session_is_rejected
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/context_test.rs
    functionUses: 0
    functionsReached:
    - stage_get
    - new_responder
    - write_spdm_chunk_get_response
    - Writer::init
    - encode_chunk_get
    - Some
    linkageType: ''
    returnType: void
    signature: fn chunk_get_different_session_is_rejected()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_responder
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:151,1
    - Dst: stage_get
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:152,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:152,1
    - Dst: encode_chunk_get
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:153,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:155,1
    - Dst: write_spdm_chunk_get_response
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 150
    functionDepth: 11
    functionLinenumber: 150
    functionLinenumberEnd: 159
    functionName: chunk_get_unsecured_for_session_response_is_rejected
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/context_test.rs
    functionUses: 0
    functionsReached:
    - stage_get
    - new_responder
    - write_spdm_chunk_get_response
    - Writer::init
    - encode_chunk_get
    - Some
    linkageType: ''
    returnType: void
    signature: fn chunk_get_unsecured_for_session_response_is_rejected()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_responder
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:163,1
    - Dst: stage_get
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:164,1
    - Dst: encode_chunk_get
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:165,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:167,1
    - Dst: write_spdm_chunk_get_response
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:168,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 162
    functionDepth: 11
    functionLinenumber: 162
    functionLinenumberEnd: 171
    functionName: chunk_get_secured_for_unsecured_response_is_rejected
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/context_test.rs
    functionUses: 0
    functionsReached:
    - stage_get
    - new_responder
    - write_spdm_chunk_get_response
    - Writer::init
    - encode_chunk_get
    - Some
    linkageType: ''
    returnType: void
    signature: fn chunk_get_secured_for_unsecured_response_is_rejected()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_responder
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:175,1
    - Dst: stage_get
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:176,1
    - Dst: encode_chunk_get
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:177,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:179,1
    - Dst: write_spdm_chunk_get_response
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 11
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: chunk_get_unsecured_matching_is_served
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/context_test.rs
    functionUses: 0
    functionsReached:
    - stage_get
    - new_responder
    - write_spdm_chunk_get_response
    - Writer::init
    - encode_chunk_get
    linkageType: ''
    returnType: void
    signature: fn chunk_get_unsecured_matching_is_served()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_responder
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:188,1
    - Dst: stage_send
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:189,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:189,1
    - Dst: encode_chunk_send
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:190,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:192,1
    - Dst: write_spdm_chunk_send_response
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:193,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 187
    functionDepth: 13
    functionLinenumber: 187
    functionLinenumberEnd: 195
    functionName: chunk_send_matching_session_passes
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/context_test.rs
    functionUses: 0
    functionsReached:
    - stage_send
    - new_responder
    - Writer::init
    - encode_chunk_send
    - write_spdm_chunk_send_response
    - Some
    linkageType: ''
    returnType: void
    signature: fn chunk_send_matching_session_passes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_responder
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:199,1
    - Dst: stage_send
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:200,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:200,1
    - Dst: encode_chunk_send
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:201,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:203,1
    - Dst: write_spdm_chunk_send_response
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:204,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 207
      start: 198
    functionDepth: 13
    functionLinenumber: 198
    functionLinenumberEnd: 207
    functionName: chunk_send_different_session_is_rejected
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/context_test.rs
    functionUses: 0
    functionsReached:
    - stage_send
    - new_responder
    - Writer::init
    - encode_chunk_send
    - write_spdm_chunk_send_response
    - Some
    linkageType: ''
    returnType: void
    signature: fn chunk_send_different_session_is_rejected()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_responder
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:211,1
    - Dst: stage_send
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:212,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:212,1
    - Dst: encode_chunk_send
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:213,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:215,1
    - Dst: write_spdm_chunk_send_response
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 219
      start: 210
    functionDepth: 13
    functionLinenumber: 210
    functionLinenumberEnd: 219
    functionName: chunk_send_unsecured_for_session_request_is_rejected
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/context_test.rs
    functionUses: 0
    functionsReached:
    - stage_send
    - new_responder
    - Writer::init
    - encode_chunk_send
    - write_spdm_chunk_send_response
    - Some
    linkageType: ''
    returnType: void
    signature: fn chunk_send_unsecured_for_session_request_is_rejected()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_responder
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:223,1
    - Dst: stage_send
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:224,1
    - Dst: encode_chunk_send
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:225,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:227,1
    - Dst: write_spdm_chunk_send_response
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:228,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 231
      start: 222
    functionDepth: 13
    functionLinenumber: 222
    functionLinenumberEnd: 231
    functionName: chunk_send_secured_for_unsecured_request_is_rejected
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/context_test.rs
    functionUses: 0
    functionsReached:
    - stage_send
    - new_responder
    - Writer::init
    - encode_chunk_send
    - write_spdm_chunk_send_response
    - Some
    linkageType: ''
    returnType: void
    signature: fn chunk_send_secured_for_unsecured_request_is_rejected()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_responder
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:235,1
    - Dst: stage_send
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:236,1
    - Dst: encode_chunk_send
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:237,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:239,1
    - Dst: write_spdm_chunk_send_response
      Src: /src/spdm-rs/spdmlib/src/responder/context_test.rs:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 234
    functionDepth: 13
    functionLinenumber: 234
    functionLinenumberEnd: 242
    functionName: chunk_send_unsecured_matching_passes
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/context_test.rs
    functionUses: 0
    functionsReached:
    - stage_send
    - new_responder
    - Writer::init
    - encode_chunk_send
    - write_spdm_chunk_send_response
    linkageType: ''
    returnType: void
    signature: fn chunk_send_unsecured_matching_passes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/end_session_rsp.rs:22,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/end_session_rsp.rs:27,1
    - Dst: watchdog::stop_watchdog
      Src: /src/spdm-rs/spdmlib/src/responder/end_session_rsp.rs:33,1
    - Dst: ResponderContext::write_spdm_end_session_response
      Src: /src/spdm-rs/spdmlib/src/responder/end_session_rsp.rs:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - session_id
    - bytes
    - writer
    argTypes:
    - u32
    - '&[u8]'
    - '&''a mut Writer'
    constantsTouched: []
    func_position:
      end: 37
      start: 16
    functionDepth: 10
    functionLinenumber: 16
    functionLinenumberEnd: 37
    functionName: ResponderContext::handle_spdm_end_session
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/end_session_rsp.rs
    functionUses: 1
    functionsReached:
    - ResponderContext::write_spdm_end_session_response
    - contains
    - watchdog::stop_watchdog
    linkageType: ''
    returnType: (SpdmResult, Option
    signature: 'pub fn handle_spdm_end_session<''a>(&mut self,session_id: u32,bytes:
      &[u8],writer: &''a mut Writer,) -> (SpdmResult, Option<&''a [u8]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/responder/end_session_rsp.rs:45,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/responder/end_session_rsp.rs:46,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/end_session_rsp.rs:49,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/end_session_rsp.rs:51,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/end_session_rsp.rs:52,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/end_session_rsp.rs:52,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/end_session_rsp.rs:56,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/end_session_rsp.rs:58,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/end_session_rsp.rs:59,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/end_session_rsp.rs:59,1
    - Dst: SpdmEndSessionRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/responder/end_session_rsp.rs:64,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/end_session_rsp.rs:69,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/end_session_rsp.rs:71,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/end_session_rsp.rs:72,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/end_session_rsp.rs:72,1
    - Dst: reset_buffer_via_request_code
      Src: /src/spdm-rs/spdmlib/src/responder/end_session_rsp.rs:76,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/end_session_rsp.rs:78,1
    - Dst: SpdmMessagePayload::SpdmEndSessionResponse
      Src: /src/spdm-rs/spdmlib/src/responder/end_session_rsp.rs:88,1
    - Dst: SpdmResult::spdm_encode
      Src: /src/spdm-rs/spdmlib/src/responder/end_session_rsp.rs:90,1
    - Dst: Features::is_err
      Src: /src/spdm-rs/spdmlib/src/responder/end_session_rsp.rs:91,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/end_session_rsp.rs:92,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/end_session_rsp.rs:94,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/end_session_rsp.rs:95,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/end_session_rsp.rs:95,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/responder/end_session_rsp.rs:99,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/end_session_rsp.rs:99,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/end_session_rsp.rs:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 87
    argCount: 3
    argNames:
    - session_id
    - bytes
    - writer
    argTypes:
    - u32
    - '&[u8]'
    - '&''a mut Writer'
    constantsTouched: []
    func_position:
      end: 100
      start: 39
    functionDepth: 11
    functionLinenumber: 39
    functionLinenumberEnd: 100
    functionName: ResponderContext::write_spdm_end_session_response
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/end_session_rsp.rs
    functionUses: 1
    functionsReached:
    - '&''a mut Writer::used_slice'
    - Ok
    - SpdmMessagePayload::SpdmEndSessionResponse
    - Err
    - SpdmMessageHeader::read
    - SpdmEndSessionRequestPayload::spdm_read
    - ResponderContext::write_spdm_error
    - reset_buffer_via_request_code
    - SpdmResult::spdm_encode
    - Reader::init
    - Features::is_err
    - Some
    linkageType: ''
    returnType: (SpdmResult, Option
    signature: 'pub fn write_spdm_end_session_response<''a>(&mut self,session_id:
      u32,bytes: &[u8],writer: &''a mut Writer,) -> (SpdmResult, Option<&''a [u8]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ResponderContext::write_spdm_digest_response
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bytes
    - session_id
    - writer
    argTypes:
    - '&[u8]'
    - Option<u32>
    - '&''a mut Writer'
    constantsTouched: []
    func_position:
      end: 27
      start: 20
    functionDepth: 13
    functionLinenumber: 20
    functionLinenumberEnd: 27
    functionName: ResponderContext::handle_spdm_digest
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs
    functionUses: 2
    functionsReached:
    - ResponderContext::write_spdm_digest_response
    linkageType: ''
    returnType: (SpdmResult, Option
    signature: 'pub fn handle_spdm_digest<''a>(&mut self,bytes: &[u8],session_id:
      Option<u32>,writer: &''a mut Writer,) -> (SpdmResult, Option<&''a [u8]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_connection_state
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:35,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:35,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:36,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:38,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:40,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:41,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:41,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:44,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:45,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:48,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:50,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:51,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:51,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:55,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:57,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:58,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:58,1
    - Dst: reset_buffer_via_request_code
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:62,1
    - Dst: SpdmGetDigestsRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:67,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:72,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:74,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:75,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:75,1
    - Dst: append_message_b
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:81,1
    - Dst: Result::used
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:83,1
    - Dst: is_err
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:81,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:86,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:88,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:89,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:89,1
    - Dst: get_hash_size
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:96,1
    - Dst: is_some
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:100,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:105,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:106,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:110,1
    - Dst: SpdmKeyUsageMask::empty
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:110,1
    - Dst: is_some
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:117,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:119,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:121,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:123,1
    - Dst: SpdmMessagePayload::SpdmDigestsResponse
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:135,1
    - Dst: crate::protocol::gen_array_clone
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:137,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:140,1
    - Dst: SpdmResult::spdm_encode
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:150,1
    - Dst: Features::is_err
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:151,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:152,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:154,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:155,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:155,1
    - Dst: is_some
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:162,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:163,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:163,1
    - Dst: crypto::hash::hash_all
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:166,1
    - Dst: SpdmResult::as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:168,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:174,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:174,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:174,1
    - Dst: '&''a mut Writer::mut_used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:178,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:178,1
    - Dst: SpdmResult::as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:180,1
    - Dst: append_message_b
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:187,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:187,1
    - Dst: is_err
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:187,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:188,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:190,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:191,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:191,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:198,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:198,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs:198,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 279
    argCount: 3
    argNames:
    - session_id
    - bytes
    - writer
    argTypes:
    - Option<u32>
    - '&[u8]'
    - '&''a mut Writer'
    constantsTouched: []
    func_position:
      end: 199
      start: 29
    functionDepth: 12
    functionLinenumber: 29
    functionLinenumberEnd: 199
    functionName: ResponderContext::write_spdm_digest_response
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs
    functionUses: 1
    functionsReached:
    - Result::used
    - '&''a mut Writer::used_slice'
    - unwrap
    - ResponderContext::write_spdm_error
    - append_message_b
    - '&''a mut Writer::mut_used_slice'
    - gen_array_clone
    - get_u8
    - SpdmResult::as_ref
    - SpdmResult::spdm_encode
    - Reader::init
    - is_err
    - get_connection_state
    - Ok
    - Some
    - crypto::hash::hash_all
    - SpdmMessagePayload::SpdmDigestsResponse
    - is_some
    - SpdmKeyUsageMask::empty
    - Err
    - SpdmMessageHeader::read
    - get_hash_size
    - crate::protocol::gen_array_clone
    - Box::new
    - reset_buffer_via_request_code
    - copy_from_slice
    - as_ref
    - SpdmGetDigestsRequestPayload::spdm_read
    - Features::is_err
    linkageType: ''
    returnType: (SpdmResult, Option
    signature: 'fn write_spdm_digest_response<''a>(&mut self,session_id: Option<u32>,bytes:
      &[u8],writer: &''a mut Writer,) -> (SpdmResult, Option<&''a [u8]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ResponderContext::write_spdm_version_response
      Src: /src/spdm-rs/spdmlib/src/responder/version_rsp.rs:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bytes
    - writer
    argTypes:
    - '&[u8]'
    - '&''a mut Writer'
    constantsTouched: []
    func_position:
      end: 20
      start: 14
    functionDepth: 12
    functionLinenumber: 14
    functionLinenumberEnd: 20
    functionName: ResponderContext::handle_spdm_version
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/version_rsp.rs
    functionUses: 1
    functionsReached:
    - ResponderContext::write_spdm_version_response
    linkageType: ''
    returnType: (SpdmResult, Option
    signature: 'pub fn handle_spdm_version<''a>(&mut self,bytes: &[u8],writer: &''a
      mut Writer,) -> (SpdmResult, Option<&''a [u8]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/responder/version_rsp.rs:27,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/responder/version_rsp.rs:28,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/version_rsp.rs:31,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/version_rsp.rs:33,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/version_rsp.rs:34,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/version_rsp.rs:34,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/version_rsp.rs:38,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/version_rsp.rs:40,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/version_rsp.rs:41,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/version_rsp.rs:41,1
    - Dst: reset_buffer_via_request_code
      Src: /src/spdm-rs/spdmlib/src/responder/version_rsp.rs:45,1
    - Dst: SpdmGetVersionRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/responder/version_rsp.rs:48,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/version_rsp.rs:53,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/version_rsp.rs:55,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/version_rsp.rs:56,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/version_rsp.rs:56,1
    - Dst: reset_context
      Src: /src/spdm-rs/spdmlib/src/responder/version_rsp.rs:61,1
    - Dst: append_message_a
      Src: /src/spdm-rs/spdmlib/src/responder/version_rsp.rs:63,1
    - Dst: Result::used
      Src: /src/spdm-rs/spdmlib/src/responder/version_rsp.rs:65,1
    - Dst: is_err
      Src: /src/spdm-rs/spdmlib/src/responder/version_rsp.rs:63,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/version_rsp.rs:68,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/version_rsp.rs:70,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/version_rsp.rs:71,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/version_rsp.rs:71,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/spdmlib/src/responder/version_rsp.rs:77,1
    - Dst: SpdmVersionStruct::default
      Src: /src/spdm-rs/spdmlib/src/responder/version_rsp.rs:77,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/responder/version_rsp.rs:78,1
    - Dst: flatten
      Src: /src/spdm-rs/spdmlib/src/responder/version_rsp.rs:78,1
    - Dst: SpdmMessagePayload::SpdmVersionResponse
      Src: /src/spdm-rs/spdmlib/src/responder/version_rsp.rs:90,1
    - Dst: SpdmResult::spdm_encode
      Src: /src/spdm-rs/spdmlib/src/responder/version_rsp.rs:96,1
    - Dst: Features::is_err
      Src: /src/spdm-rs/spdmlib/src/responder/version_rsp.rs:97,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/version_rsp.rs:98,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/version_rsp.rs:100,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/version_rsp.rs:101,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/version_rsp.rs:101,1
    - Dst: append_message_a
      Src: /src/spdm-rs/spdmlib/src/responder/version_rsp.rs:104,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/version_rsp.rs:104,1
    - Dst: is_err
      Src: /src/spdm-rs/spdmlib/src/responder/version_rsp.rs:104,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/version_rsp.rs:105,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/version_rsp.rs:107,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/version_rsp.rs:108,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/version_rsp.rs:108,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/responder/version_rsp.rs:112,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/version_rsp.rs:112,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/version_rsp.rs:112,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 143
    argCount: 2
    argNames:
    - bytes
    - writer
    argTypes:
    - '&[u8]'
    - '&''a mut Writer'
    constantsTouched: []
    func_position:
      end: 113
      start: 22
    functionDepth: 11
    functionLinenumber: 22
    functionLinenumberEnd: 113
    functionName: ResponderContext::write_spdm_version_response
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/version_rsp.rs
    functionUses: 1
    functionsReached:
    - Result::used
    - '&''a mut Writer::used_slice'
    - ResponderContext::write_spdm_error
    - SpdmVersionStruct::default
    - gen_array_clone
    - SpdmGetVersionRequestPayload::spdm_read
    - flatten
    - append_message_a
    - SpdmResult::spdm_encode
    - Reader::init
    - is_err
    - reset_context
    - Ok
    - SpdmMessagePayload::SpdmVersionResponse
    - Some
    - Err
    - SpdmMessageHeader::read
    - iter
    - reset_buffer_via_request_code
    - Features::is_err
    linkageType: ''
    returnType: (SpdmResult, Option
    signature: 'pub fn write_spdm_version_response<''a>(&mut self,bytes: &[u8],writer:
      &''a mut Writer,) -> (SpdmResult, Option<&''a [u8]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/spdmlib/src/responder/app_message_handler.rs:47,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/responder/app_message_handler.rs:48,1
    - Dst: unwrap_or
      Src: /src/spdm-rs/spdmlib/src/responder/app_message_handler.rs:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 5
    argNames:
    - ctx
    - session_id
    - app_buffer
    - app_handle
    - writer
    argTypes:
    - '&mut ResponderContext'
    - u32
    - '&[u8]'
    - usize
    - '&''a mut Writer'
    constantsTouched: []
    func_position:
      end: 51
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 51
    functionName: dispatch_secured_app_message_cb
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/app_message_handler.rs
    functionUses: 1
    functionsReached:
    - unwrap_or
    - try_get_or_init
    - clone
    linkageType: ''
    returnType: (SpdmResult, Option
    signature: 'pub fn dispatch_secured_app_message_cb<''a>(ctx: &mut ResponderContext,session_id:
      u32,app_buffer: &[u8],app_handle: usize, // interpreted/managed by Userwriter:
      &''a mut Writer,) -> (SpdmResult, Option<&''a [u8]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ResponderContext::write_spdm_capability_response
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bytes
    - writer
    argTypes:
    - '&[u8]'
    - '&''a mut Writer'
    constantsTouched: []
    func_position:
      end: 22
      start: 16
    functionDepth: 13
    functionLinenumber: 16
    functionLinenumberEnd: 22
    functionName: ResponderContext::handle_spdm_capability
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs
    functionUses: 1
    functionsReached:
    - ResponderContext::write_spdm_capability_response
    linkageType: ''
    returnType: (SpdmResult, Option
    signature: 'pub fn handle_spdm_capability<''a>(&mut self,bytes: &[u8],writer:
      &''a mut Writer,) -> (SpdmResult, Option<&''a [u8]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_connection_state
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:29,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:32,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:34,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:35,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:35,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:38,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:39,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:46,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:48,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:49,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:49,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:55,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:57,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:58,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:58,1
    - Dst: reset_buffer_via_request_code
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:62,1
    - Dst: SpdmGetCapabilitiesRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:68,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:75,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:80,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:82,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:83,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:83,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:106,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:108,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:109,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:109,1
    - Dst: append_message_a
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:113,1
    - Dst: Result::used
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:115,1
    - Dst: is_err
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:113,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:118,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:120,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:121,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:121,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:136,1
    - Dst: ResponderContext::build_supported_algorithms_block
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:136,1
    - Dst: '&''a mut Writer::clear'
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:145,1
    - Dst: SpdmMessagePayload::SpdmCapabilitiesResponse
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:151,1
    - Dst: SpdmResponseCapabilityExFlags::default
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:157,1
    - Dst: SpdmResult::spdm_encode
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:162,1
    - Dst: encode_capabilities
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:165,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:165,1
    - Dst: Features::is_ok
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:174,1
    - Dst: is_some
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:174,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:175,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:180,1
    - Dst: '&''a mut Writer::used'
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:190,1
    - Dst: '&''a mut Writer::used'
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:192,1
    - Dst: encode_capabilities
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:195,1
    - Dst: Features::is_err
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:199,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:200,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:202,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:203,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:203,1
    - Dst: append_message_a
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:206,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:206,1
    - Dst: is_err
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:206,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:207,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:209,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:210,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:210,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:214,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:214,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:214,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 303
    argCount: 2
    argNames:
    - bytes
    - writer
    argTypes:
    - '&[u8]'
    - '&''a mut Writer'
    constantsTouched: []
    func_position:
      end: 215
      start: 24
    functionDepth: 12
    functionLinenumber: 24
    functionLinenumberEnd: 215
    functionName: ResponderContext::write_spdm_capability_response
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs
    functionUses: 1
    functionsReached:
    - Result::used
    - '&''a mut Writer::used_slice'
    - ResponderContext::write_spdm_error
    - encode_capabilities
    - SpdmMessagePayload::SpdmCapabilitiesResponse
    - ResponderContext::build_supported_algorithms_block
    - clone
    - Features::is_ok
    - '&''a mut Writer::clear'
    - append_message_a
    - SpdmResponseCapabilityExFlags::default
    - SpdmResult::spdm_encode
    - Reader::init
    - is_err
    - get_connection_state
    - Ok
    - Some
    - '&''a mut Writer::used'
    - is_some
    - Err
    - SpdmMessageHeader::read
    - SpdmGetCapabilitiesRequestPayload::spdm_read
    - contains
    - reset_buffer_via_request_code
    - Features::is_err
    linkageType: ''
    returnType: (SpdmResult, Option
    signature: 'pub fn write_spdm_capability_response<''a>(&mut self,bytes: &[u8],writer:
      &''a mut Writer,) -> (SpdmResult, Option<&''a [u8]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmMelSpecification::empty
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:225,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:230,1
    - Dst: SpdmAlgStruct::default
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:230,1
    - Dst: is_valid
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:231,1
    - Dst: SpdmAlg::SpdmAlgoDhe
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:234,1
    - Dst: is_valid
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:237,1
    - Dst: SpdmAlg::SpdmAlgoAead
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:240,1
    - Dst: is_valid
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:243,1
    - Dst: SpdmAlg::SpdmAlgoReqAsym
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:246,1
    - Dst: is_valid
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:249,1
    - Dst: SpdmAlg::SpdmAlgoKeySchedule
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:252,1
    - Dst: is_valid
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:256,1
    - Dst: SpdmAlg::SpdmAlgoPqcReqAsym
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:259,1
    - Dst: is_valid
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:262,1
    - Dst: SpdmAlg::SpdmAlgoKem
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:265,1
    - Dst: SpdmPqcAsymAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs:274,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 160
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 287
      start: 220
    functionDepth: 5
    functionLinenumber: 220
    functionLinenumberEnd: 287
    functionName: ResponderContext::build_supported_algorithms_block
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs
    functionUses: 1
    functionsReached:
    - SpdmMelSpecification::empty
    - SpdmAlg::SpdmAlgoDhe
    - SpdmAlgStruct::default
    - SpdmAlg::SpdmAlgoKeySchedule
    - is_valid
    - SpdmPqcAsymAlgo::empty
    - SpdmAlg::SpdmAlgoAead
    - SpdmAlg::SpdmAlgoPqcReqAsym
    - SpdmAlg::SpdmAlgoKem
    - gen_array_clone
    - SpdmAlg::SpdmAlgoReqAsym
    linkageType: ''
    returnType: SpdmSupportedAlgorithmsBlock
    signature: fn build_supported_algorithms_block(&self) -> SpdmSupportedAlgorithmsBlock
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmMessagePayload::SpdmGetDigestsRequest
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_digest.rs:20,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_digest.rs:23,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_digest.rs:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - encap_request
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 26
      start: 14
    functionDepth: 4
    functionLinenumber: 14
    functionLinenumberEnd: 26
    functionName: ResponderContext::encode_encap_request_get_digest
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/encap_get_digest.rs
    functionUses: 1
    functionsReached:
    - spdm_encode
    - SpdmMessagePayload::SpdmGetDigestsRequest
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn encode_encap_request_get_digest(&mut self, encap_request: &mut
      Writer) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_digest.rs:29,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_digest.rs:30,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_digest.rs:33,1
    - Dst: SpdmDigestsResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_digest.rs:38,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_digest.rs:41,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_digest.rs:44,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_digest.rs:47,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_digest.rs:50,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 1
    argNames:
    - encap_response
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 52
      start: 28
    functionDepth: 11
    functionLinenumber: 28
    functionLinenumberEnd: 52
    functionName: ResponderContext::handle_encap_response_digest
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/encap_get_digest.rs
    functionUses: 1
    functionsReached:
    - Err
    - SpdmMessageHeader::read
    - SpdmDigestsResponsePayload::spdm_read
    - Reader::init
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn handle_encap_response_digest(&mut self, encap_response: &[u8])
      -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ResponderContext::write_spdm_psk_finish_response
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:21,1
    - Dst: is_err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:22,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:23,1
    - Dst: teardown
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:24,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - session_id
    - bytes
    - writer
    argTypes:
    - u32
    - '&[u8]'
    - '&''a mut Writer'
    constantsTouched: []
    func_position:
      end: 29
      start: 15
    functionDepth: 12
    functionLinenumber: 15
    functionLinenumberEnd: 29
    functionName: ResponderContext::handle_spdm_psk_finish
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs
    functionUses: 1
    functionsReached:
    - teardown
    - is_err
    - get_session_via_id
    - ResponderContext::write_spdm_psk_finish_response
    linkageType: ''
    returnType: (SpdmResult, Option
    signature: 'pub fn handle_spdm_psk_finish<''a>(&mut self,session_id: u32,bytes:
      &[u8],writer: &''a mut Writer,) -> (SpdmResult, Option<&''a [u8]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:38,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:39,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:42,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:44,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:45,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:45,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:49,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:51,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:52,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:52,1
    - Dst: reset_buffer_via_request_code
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:56,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:58,1
    - Dst: SpdmPskFinishRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:61,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:67,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:69,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:70,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:70,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:74,1
    - Dst: Result::used
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:75,1
    - Dst: get_hash_size
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:78,1
    - Dst: get_immutable_session_via_id
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:84,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:87,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:89,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:90,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:90,1
    - Dst: get_use_psk
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:94,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:95,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:97,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:98,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:98,1
    - Dst: append_message_f
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:102,1
    - Dst: is_err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:102,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:108,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:110,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:111,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:111,1
    - Dst: get_immutable_session_via_id
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:116,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:119,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:121,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:122,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:122,1
    - Dst: calc_rsp_transcript_hash
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:126,1
    - Dst: SpdmResult::is_err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:127,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:128,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:129,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:129,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:129,1
    - Dst: SpdmResult::as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:131,1
    - Dst: '&[u8]::unwrap'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:131,1
    - Dst: get_immutable_session_via_id
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:134,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:137,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:139,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:140,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:140,1
    - Dst: verify_hmac_with_request_finished_key
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:143,1
    - Dst: SpdmResult::as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:144,1
    - Dst: Features::is_err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:147,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:149,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:150,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:150,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:150,1
    - Dst: append_message_f
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:155,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:157,1
    - Dst: is_err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:155,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:161,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:163,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:164,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:164,1
    - Dst: SpdmMessagePayload::SpdmPskFinishResponse
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:176,1
    - Dst: SpdmResult::spdm_encode
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:184,1
    - Dst: Features::is_err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:185,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:186,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:188,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:189,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:189,1
    - Dst: append_message_f
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:193,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:195,1
    - Dst: is_err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:193,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:199,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:201,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:202,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:202,1
    - Dst: get_immutable_session_via_id
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:206,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:209,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:211,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:212,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:212,1
    - Dst: calc_rsp_transcript_hash
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:216,1
    - Dst: is_err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:217,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:218,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:219,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:219,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:219,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:222,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:225,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:228,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:230,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:231,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:231,1
    - Dst: set_th2
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:234,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:234,1
    - Dst: generate_data_secret
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:235,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:236,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:237,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:237,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:237,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:240,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:240,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs:240,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 333
    argCount: 3
    argNames:
    - session_id
    - bytes
    - writer
    argTypes:
    - u32
    - '&[u8]'
    - '&''a mut Writer'
    constantsTouched: []
    func_position:
      end: 241
      start: 32
    functionDepth: 11
    functionLinenumber: 32
    functionLinenumberEnd: 241
    functionName: ResponderContext::write_spdm_psk_finish_response
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs
    functionUses: 1
    functionsReached:
    - Result::used
    - '&''a mut Writer::used_slice'
    - SpdmMessagePayload::SpdmPskFinishResponse
    - unwrap
    - ResponderContext::write_spdm_error
    - get_immutable_session_via_id
    - set_th2
    - clone
    - append_message_f
    - SpdmResult::as_ref
    - SpdmResult::spdm_encode
    - Reader::init
    - is_err
    - get_session_via_id
    - verify_hmac_with_request_finished_key
    - Ok
    - Some
    - generate_data_secret
    - Err
    - SpdmMessageHeader::read
    - get_hash_size
    - SpdmResult::is_err
    - '&[u8]::unwrap'
    - SpdmPskFinishRequestPayload::spdm_read
    - calc_rsp_transcript_hash
    - Result::unwrap
    - reset_buffer_via_request_code
    - get_use_psk
    - as_ref
    - Features::is_err
    linkageType: ''
    returnType: (SpdmResult, Option
    signature: 'pub fn write_spdm_psk_finish_response<''a>(&mut self,session_id: u32,bytes:
      &[u8],writer: &''a mut Writer,) -> (SpdmResult, Option<&''a [u8]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crate::common::SpdmContext::new
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - device_io
    - transport_encap
    - config_info
    - provision_info
    argTypes:
    - Arc<Mutex<dyn SpdmDeviceIo + Send + Sync>>
    - Arc<Mutex<dyn SpdmTransportEncap + Send + Sync>>
    - crate::common::SpdmConfigInfo
    - crate::common::SpdmProvisionInfo
    constantsTouched: []
    func_position:
      end: 44
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 44
    functionName: ResponderContext::new
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/context.rs
    functionUses: 98
    functionsReached:
    - crate::common::SpdmContext::new
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(device_io: Arc<Mutex<dyn SpdmDeviceIo + Send + Sync>>,transport_encap:
      Arc<Mutex<dyn SpdmTransportEncap + Send + Sync>>,config_info: crate::common::SpdmConfigInfo,provision_info:
      crate::common::SpdmProvisionInfo,) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:54,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:57,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:59,1
    - Dst: Writer::used_slice
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:60,1
    - Dst: SpdmResult::is_none
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:61,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:62,1
    - Dst: Writer::used_slice
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:63,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:65,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:66,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:69,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:74,1
    - Dst: overflowing_add
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:80,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:82,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:83,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:83,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:90,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:91,1
    - Dst: Writer::used_slice
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:92,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:94,1
    - Dst: Writer::used_slice
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:95,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:99,1
    - Dst: Writer::used_slice
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:100,1
    - Dst: encode_secured_message
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:108,1
    - Dst: encap
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:118,1
    - Dst: lock
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:124,1
    - Dst: deref_mut
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:125,1
    - Dst: send
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:126,1
    - Dst: Arc::new
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:126,1
    - Dst: fill
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:139,1
    - Dst: fill
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:152,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:157,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:158,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:161,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:162,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:165,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:166,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:169,1
    - Dst: get_connection_state
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:170,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:170,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:171,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:173,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:177,1
    - Dst: get_connection_state
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:178,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:178,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:179,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:181,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:185,1
    - Dst: set_connection_state
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:186,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:189,1
    - Dst: SpdmResult::is_none
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:190,1
    - Dst: get_last_session_id
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:193,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:196,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:200,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:200,1
    - Dst: set_session_state
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:204,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:211,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:216,1
    - Dst: watchdog::start_watchdog
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:222,1
    - Dst: set_last_session_id
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:225,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:226,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:227,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:229,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:227,1
    - Dst: teardown
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:231,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:232,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:233,1
    - Dst: SpdmResult::is_some
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:234,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:237,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:240,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:240,1
    - Dst: set_session_state
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:244,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:251,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:256,1
    - Dst: watchdog::start_watchdog
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:262,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:266,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 450
    argCount: 3
    argNames:
    - session_id
    - send_buffer
    - is_app_message
    argTypes:
    - Option<u32>
    - '&[u8]'
    - bool
    constantsTouched: []
    func_position:
      end: 267
      start: 47
    functionDepth: 12
    functionLinenumber: 47
    functionLinenumberEnd: 267
    functionName: ResponderContext::send_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/context.rs
    functionUses: 1
    functionsReached:
    - Arc::new
    - SpdmResult::unwrap
    - get_last_session_id
    - teardown
    - ok_or
    - Writer::init
    - ResponderContext::write_spdm_error
    - set_session_state
    - encode
    - get_u8
    - set_connection_state
    - encap
    - SpdmResult::is_some
    - get_session_via_id
    - get_connection_state
    - Ok
    - fill
    - set_last_session_id
    - SpdmResult::is_none
    - Err
    - send
    - '&[u8]::len'
    - contains
    - Writer::used_slice
    - deref_mut
    - encode_secured_message
    - copy_from_slice
    - watchdog::start_watchdog
    - lock
    - overflowing_add
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn send_message(&mut self,session_id: Option<u32>,send_buffer:
      &[u8],is_app_message: bool,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:277,1
    - Dst: ResponderContext::receive_message
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:279,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:282,1
    - Dst: u32::read
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:283,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:283,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:285,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:285,1
    - Dst: decode_spdm_secured_message
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:289,1
    - Dst: is_err
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:294,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:295,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:297,1
    - Dst: lock
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:301,1
    - Dst: deref_mut
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:303,1
    - Dst: decap_app
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:304,1
    - Dst: Arc::new
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:306,1
    - Dst: Arc::new
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:307,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:307,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:312,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:315,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:320,1
    - Dst: watchdog::reset_watchdog
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:326,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:334,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:335,1
    - Dst: fill
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:345,1
    - Dst: overflowing_add
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:358,1
    - Dst: fill
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:365,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:375,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:375,1
    - Dst: ResponderContext::dispatch_secured_message
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:379,1
    - Dst: ResponderContext::send_message
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:385,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:386,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:389,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:389,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:391,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:394,1
    - Dst: ResponderContext::dispatch_secured_app_message
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:397,1
    - Dst: ResponderContext::send_message
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:405,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:405,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:407,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:407,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:409,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:412,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:422,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:423,1
    - Dst: fill
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:433,1
    - Dst: overflowing_add
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:444,1
    - Dst: fill
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:447,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:454,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:454,1
    - Dst: ResponderContext::dispatch_message
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:459,1
    - Dst: ResponderContext::send_message
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:461,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:462,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:462,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:464,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:467,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:471,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 325
    argCount: 3
    argNames:
    - crypto_request
    - app_handle
    - raw_packet
    argTypes:
    - bool
    - usize
    - '&mut [u8; RECEIVER_BUFFER_SIZE]'
    constantsTouched: []
    func_position:
      end: 473
      start: 270
    functionDepth: 15
    functionLinenumber: 270
    functionLinenumberEnd: 473
    functionName: ResponderContext::process_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/context.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - decode_spdm_secured_message
    - unwrap
    - u32::read
    - ResponderContext::receive_message
    - ok_or
    - Writer::init
    - Mutex::new
    - ResponderContext::dispatch_message
    - ResponderContext::send_message
    - Reader::init
    - is_err
    - get_session_via_id
    - Ok
    - fill
    - Some
    - ResponderContext::dispatch_secured_app_message
    - Err
    - SpdmMessageHeader::read
    - decap_app
    - Option::ok_or
    - contains
    - ResponderContext::dispatch_secured_message
    - deref_mut
    - lock
    - overflowing_add
    - watchdog::reset_watchdog
    linkageType: ''
    returnType: Result
    signature: 'pub async fn process_message(&mut self,crypto_request: bool,app_handle:
      usize, // interpreted/managed by Userraw_packet: &mut [u8; RECEIVER_BUFFER_SIZE],)
      -> Result<SpdmResult, usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checked_shl
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:488,1
    - Dst: unwrap_or
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:488,1
    - Dst: lock
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:498,1
    - Dst: deref_mut
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:499,1
    - Dst: receive
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:500,1
    - Dst: Arc::new
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:501,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:501,1
    - Dst: lock
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:506,1
    - Dst: deref_mut
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:508,1
    - Dst: decap
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:509,1
    - Dst: Arc::new
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:511,1
    - Dst: Arc::new
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:512,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:512,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:509,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:518,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:519,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 53
    argCount: 2
    argNames:
    - receive_buffer
    - crypto_request
    argTypes:
    - '&mut [u8]'
    - bool
    constantsTouched: []
    func_position:
      end: 520
      start: 480
    functionDepth: 11
    functionLinenumber: 480
    functionLinenumberEnd: 520
    functionName: ResponderContext::receive_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/context.rs
    functionUses: 1
    functionsReached:
    - Arc::new
    - decap
    - map_err
    - receive
    - deref_mut
    - copy_from_slice
    - unwrap_or
    - lock
    - Ok
    - Mutex::new
    - checked_shl
    linkageType: ''
    returnType: Result
    signature: 'async fn receive_message(&mut self,receive_buffer: &mut [u8],crypto_request:
      bool,) -> Result<(usize, bool), usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:528,1
    - Dst: get_immutable_session_via_id
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:530,1
    - Dst: is_none
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:531,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:532,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:534,1
    - Dst: get_session_state
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:536,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:538,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:543,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:549,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:552,1
    - Dst: ResponderContext::handle_get_encapsulated_request
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:556,1
    - Dst: ResponderContext::handle_deliver_encapsulated_reponse
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:560,1
    - Dst: ResponderContext::handle_spdm_finish
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:563,1
    - Dst: ResponderContext::handle_spdm_psk_finish
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:567,1
    - Dst: ResponderContext::handle_spdm_vendor_defined_request
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:571,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:571,1
    - Dst: ResponderContext::handle_spdm_chunk_send
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:576,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:576,1
    - Dst: ResponderContext::handle_spdm_chunk_get
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:580,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:580,1
    - Dst: ResponderContext::handle_error_request
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:594,1
    - Dst: ResponderContext::handle_error_request
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:601,1
    - Dst: ResponderContext::handle_error_request
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:608,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:614,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:618,1
    - Dst: ResponderContext::handle_spdm_digest
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:621,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:621,1
    - Dst: ResponderContext::handle_spdm_certificate
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:624,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:624,1
    - Dst: ResponderContext::handle_spdm_measurement
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:627,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:627,1
    - Dst: ResponderContext::handle_spdm_heartbeat
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:631,1
    - Dst: ResponderContext::handle_spdm_key_update
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:635,1
    - Dst: ResponderContext::handle_spdm_end_session
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:639,1
    - Dst: ResponderContext::handle_spdm_vendor_defined_request
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:642,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:642,1
    - Dst: ResponderContext::handle_spdm_chunk_send
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:647,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:647,1
    - Dst: ResponderContext::handle_spdm_chunk_get
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:651,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:651,1
    - Dst: ResponderContext::handle_error_request
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:661,1
    - Dst: ResponderContext::handle_error_request
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:668,1
    - Dst: ResponderContext::handle_error_request
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:675,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:681,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:684,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:685,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 108
    argCount: 3
    argNames:
    - session_id
    - bytes
    - writer
    argTypes:
    - u32
    - '&[u8]'
    - '&''a mut Writer'
    constantsTouched: []
    func_position:
      end: 687
      start: 522
    functionDepth: 14
    functionLinenumber: 522
    functionLinenumberEnd: 687
    functionName: ResponderContext::dispatch_secured_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/context.rs
    functionUses: 2
    functionsReached:
    - ResponderContext::handle_spdm_chunk_send
    - unwrap
    - ResponderContext::handle_spdm_chunk_get
    - ResponderContext::handle_spdm_end_session
    - ResponderContext::handle_spdm_finish
    - get_immutable_session_via_id
    - ResponderContext::handle_spdm_vendor_defined_request
    - ResponderContext::handle_spdm_key_update
    - ResponderContext::handle_deliver_encapsulated_reponse
    - ResponderContext::handle_spdm_measurement
    - Reader::init
    - Some
    - ResponderContext::handle_get_encapsulated_request
    - ResponderContext::handle_spdm_psk_finish
    - Err
    - get_session_state
    - SpdmMessageHeader::read
    - ResponderContext::handle_spdm_heartbeat
    - ResponderContext::handle_spdm_certificate
    - ResponderContext::handle_error_request
    - contains
    - ResponderContext::handle_spdm_digest
    - is_none
    linkageType: ''
    returnType: (SpdmResult, Option
    signature: 'fn dispatch_secured_message<''a>(&mut self,session_id: u32,bytes:
      &[u8],writer: &''a mut Writer,) -> (SpdmResult, Option<&''a [u8]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::app_message_handler::dispatch_secured_app_message_cb
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - session_id
    - bytes
    - app_handle
    - writer
    argTypes:
    - u32
    - '&[u8]'
    - usize
    - '&''a mut Writer'
    constantsTouched: []
    func_position:
      end: 699
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 699
    functionName: ResponderContext::dispatch_secured_app_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/context.rs
    functionUses: 1
    functionsReached:
    - super::app_message_handler::dispatch_secured_app_message_cb
    linkageType: ''
    returnType: (SpdmResult, Option
    signature: 'fn dispatch_secured_app_message<''a>(&mut self,session_id: u32,bytes:
      &[u8],app_handle: usize,writer: &''a mut Writer,) -> (SpdmResult, Option<&''a
      [u8]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:706,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:707,1
    - Dst: ResponderContext::handle_spdm_version
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:710,1
    - Dst: ResponderContext::handle_spdm_capability
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:713,1
    - Dst: ResponderContext::handle_spdm_algorithm
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:716,1
    - Dst: ResponderContext::handle_spdm_digest
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:719,1
    - Dst: ResponderContext::handle_spdm_certificate
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:722,1
    - Dst: ResponderContext::handle_spdm_challenge
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:725,1
    - Dst: ResponderContext::handle_spdm_measurement
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:728,1
    - Dst: ResponderContext::handle_spdm_key_exchange
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:732,1
    - Dst: ResponderContext::handle_spdm_psk_exchange
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:736,1
    - Dst: ResponderContext::handle_spdm_vendor_defined_request
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:740,1
    - Dst: ResponderContext::handle_spdm_chunk_send
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:745,1
    - Dst: ResponderContext::handle_spdm_chunk_get
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:749,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:753,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:758,1
    - Dst: get_last_session_id
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:764,1
    - Dst: get_immutable_session_via_id
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:766,1
    - Dst: get_session_state
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:768,1
    - Dst: ResponderContext::handle_spdm_finish
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:771,1
    - Dst: ResponderContext::handle_error_request
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:777,1
    - Dst: ResponderContext::handle_error_request
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:787,1
    - Dst: ResponderContext::handle_error_request
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:793,1
    - Dst: ResponderContext::handle_error_request
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:799,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:805,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 74
    argCount: 2
    argNames:
    - bytes
    - writer
    argTypes:
    - '&[u8]'
    - '&''a mut Writer'
    constantsTouched: []
    func_position:
      end: 807
      start: 701
    functionDepth: 13
    functionLinenumber: 701
    functionLinenumberEnd: 807
    functionName: ResponderContext::dispatch_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/context.rs
    functionUses: 2
    functionsReached:
    - ResponderContext::handle_spdm_chunk_send
    - get_last_session_id
    - ResponderContext::handle_spdm_key_exchange
    - ResponderContext::handle_spdm_chunk_get
    - ResponderContext::handle_spdm_finish
    - get_immutable_session_via_id
    - ResponderContext::handle_spdm_vendor_defined_request
    - ResponderContext::handle_spdm_version
    - ResponderContext::handle_spdm_algorithm
    - ResponderContext::handle_spdm_measurement
    - Reader::init
    - ResponderContext::handle_spdm_capability
    - ResponderContext::handle_spdm_psk_exchange
    - SpdmMessageHeader::read
    - get_session_state
    - Err
    - ResponderContext::handle_spdm_certificate
    - ResponderContext::handle_error_request
    - ResponderContext::handle_spdm_challenge
    - contains
    - ResponderContext::handle_spdm_digest
    linkageType: ''
    returnType: (SpdmResult, Option
    signature: 'pub fn dispatch_message<''a>(&mut self,bytes: &[u8],writer: &''a mut
      Writer,) -> (SpdmResult, Option<&''a [u8]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ResponderContext::write_spdm_chunk_send_response
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:816,1
    - Dst: is_err
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:817,1
    - Dst: fill
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:821,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 42
    argCount: 3
    argNames:
    - session_id
    - bytes
    - writer
    argTypes:
    - Option<u32>
    - '&[u8]'
    - '&''a mut Writer'
    constantsTouched: []
    func_position:
      end: 828
      start: 810
    functionDepth: 13
    functionLinenumber: 810
    functionLinenumberEnd: 828
    functionName: ResponderContext::handle_spdm_chunk_send
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/context.rs
    functionUses: 2
    functionsReached:
    - is_err
    - ResponderContext::write_spdm_chunk_send_response
    - fill
    linkageType: ''
    returnType: (SpdmResult, Option
    signature: 'fn handle_spdm_chunk_send<''a>(&mut self,session_id: Option<u32>,bytes:
      &[u8],writer: &''a mut Writer,) -> (SpdmResult, Option<&''a [u8]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:849,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:854,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:860,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:861,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:861,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:861,1
    - Dst: get_connection_state
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:864,1
    - Dst: get_connection_state
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:866,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:869,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:871,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:872,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:872,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:876,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:877,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:884,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:886,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:887,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:887,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:891,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:893,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:894,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:894,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:898,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:900,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:901,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:901,1
    - Dst: SpdmChunkSendRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:905,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:908,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:922,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:925,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:931,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:933,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:934,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:934,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:946,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:948,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:949,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:949,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:959,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:961,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:962,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:962,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:967,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:975,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:977,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:978,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:978,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:983,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:985,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:986,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:986,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:990,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:998,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1000,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1001,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1001,1
    - Dst: ResponderContext::dispatch_secured_message
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1008,1
    - Dst: ResponderContext::dispatch_message
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1014,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1022,1
    - Dst: overflowing_add
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1029,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1031,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1032,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1032,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1037,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1038,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1039,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1039,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1039,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1041,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1042,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1042,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1044,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1045,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1051,1
    - Dst: '&''a mut Writer::clear'
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1055,1
    - Dst: SpdmMessagePayload::SpdmChunkSendAckResponse
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1062,1
    - Dst: SpdmChunkReceiverAttributes::default
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1064,1
    - Dst: SpdmResult::spdm_encode
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1071,1
    - Dst: Features::is_err
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1072,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1073,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1075,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1076,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1076,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1080,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1080,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1083,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1085,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1086,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1086,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 483
    argCount: 3
    argNames:
    - session_id
    - bytes
    - writer
    argTypes:
    - Option<u32>
    - '&[u8]'
    - '&''a mut Writer'
    constantsTouched: []
    func_position:
      end: 1089
      start: 831
    functionDepth: 12
    functionLinenumber: 831
    functionLinenumberEnd: 1089
    functionName: ResponderContext::write_spdm_chunk_send_response
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/context.rs
    functionUses: 1
    functionsReached:
    - '&''a mut Writer::used_slice'
    - unwrap
    - ResponderContext::write_spdm_error
    - encode
    - ResponderContext::dispatch_message
    - '&''a mut Writer::clear'
    - SpdmChunkReceiverAttributes::default
    - SpdmResult::spdm_encode
    - Reader::init
    - SpdmMessagePayload::SpdmChunkSendAckResponse
    - get_connection_state
    - Ok
    - Some
    - Err
    - SpdmMessageHeader::read
    - len
    - SpdmChunkSendRequestPayload::spdm_read
    - contains
    - ResponderContext::dispatch_secured_message
    - copy_from_slice
    - Features::is_err
    - overflowing_add
    linkageType: ''
    returnType: (SpdmResult, Option
    signature: 'fn write_spdm_chunk_send_response<''a>(&mut self,session_id: Option<u32>,bytes:
      &[u8],writer: &''a mut Writer,) -> (SpdmResult, Option<&''a [u8]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ResponderContext::write_spdm_chunk_get_response
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1098,1
    - Dst: is_err
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1099,1
    - Dst: fill
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 3
    argNames:
    - session_id
    - bytes
    - writer
    argTypes:
    - Option<u32>
    - '&[u8]'
    - '&''a mut Writer'
    constantsTouched: []
    func_position:
      end: 1109
      start: 1092
    functionDepth: 13
    functionLinenumber: 1092
    functionLinenumberEnd: 1109
    functionName: ResponderContext::handle_spdm_chunk_get
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/context.rs
    functionUses: 2
    functionsReached:
    - is_err
    - ResponderContext::write_spdm_chunk_get_response
    - fill
    linkageType: ''
    returnType: (SpdmResult, Option
    signature: 'fn handle_spdm_chunk_get<''a>(&mut self,session_id: Option<u32>,bytes:
      &[u8],writer: &''a mut Writer,) -> (SpdmResult, Option<&''a [u8]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1124,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1129,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1135,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1136,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1136,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1136,1
    - Dst: get_connection_state
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1146,1
    - Dst: get_connection_state
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1149,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1152,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1154,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1155,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1155,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1160,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1162,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1163,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1163,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1167,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1168,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1175,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1177,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1178,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1178,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1182,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1184,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1185,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1185,1
    - Dst: SpdmChunkGetRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1189,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1195,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1197,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1198,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1198,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1205,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1207,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1208,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1208,1
    - Dst: core::cmp::min
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1214,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1226,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1228,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1229,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1229,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1232,1
    - Dst: core::cmp::min
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1244,1
    - Dst: SpdmChunkSenderAttributes::default
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1252,1
    - Dst: SpdmMessagePayload::SpdmChunkResponse
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1260,1
    - Dst: SpdmResult::spdm_encode
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1268,1
    - Dst: Features::is_err
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1269,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1270,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1272,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1273,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1273,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1280,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1280,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/context.rs:1280,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 265
    argCount: 3
    argNames:
    - session_id
    - bytes
    - writer
    argTypes:
    - Option<u32>
    - '&[u8]'
    - '&''a mut Writer'
    constantsTouched: []
    func_position:
      end: 1281
      start: 1112
    functionDepth: 12
    functionLinenumber: 1112
    functionLinenumberEnd: 1281
    functionName: ResponderContext::write_spdm_chunk_get_response
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/context.rs
    functionUses: 1
    functionsReached:
    - SpdmMessagePayload::SpdmChunkResponse
    - SpdmChunkGetRequestPayload::spdm_read
    - '&''a mut Writer::used_slice'
    - Ok
    - core::cmp::min
    - Err
    - contains
    - SpdmMessageHeader::read
    - ResponderContext::write_spdm_error
    - SpdmResult::spdm_encode
    - Reader::init
    - get_connection_state
    - SpdmChunkSenderAttributes::default
    - Features::is_err
    - Some
    linkageType: ''
    returnType: (SpdmResult, Option
    signature: 'fn write_spdm_chunk_get_response<''a>(&mut self,session_id: Option<u32>,bytes:
      &[u8],writer: &''a mut Writer,) -> (SpdmResult, Option<&''a [u8]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmMessagePayload::SpdmErrorResponse
      Src: /src/spdm-rs/spdmlib/src/responder/error_rsp.rs:23,1
    - Dst: SpdmErrorResponseExtData::SpdmErrorExtDataNone
      Src: /src/spdm-rs/spdmlib/src/responder/error_rsp.rs:26,1
    - Dst: '&mut Writer::clear'
      Src: /src/spdm-rs/spdmlib/src/responder/error_rsp.rs:31,1
    - Dst: SpdmResult::spdm_encode
      Src: /src/spdm-rs/spdmlib/src/responder/error_rsp.rs:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 3
    argNames:
    - error_code
    - error_data
    - writer
    argTypes:
    - SpdmErrorCode
    - u8
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 33
      start: 12
    functionDepth: 11
    functionLinenumber: 12
    functionLinenumberEnd: 33
    functionName: ResponderContext::write_spdm_error
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/error_rsp.rs
    functionUses: 22
    functionsReached:
    - SpdmMessagePayload::SpdmErrorResponse
    - SpdmResult::spdm_encode
    - SpdmErrorResponseExtData::SpdmErrorExtDataNone
    - '&mut Writer::clear'
    linkageType: ''
    returnType: void
    signature: 'pub fn write_spdm_error(&mut self,error_code: SpdmErrorCode,error_data:
      u8,writer: &mut Writer,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ResponderContext::write_error_response
      Src: /src/spdm-rs/spdmlib/src/responder/error_rsp.rs:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - error_code
    - bytes
    - writer
    argTypes:
    - SpdmErrorCode
    - '&[u8]'
    - '&''a mut Writer'
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 12
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: ResponderContext::handle_error_request
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/error_rsp.rs
    functionUses: 2
    functionsReached:
    - ResponderContext::write_error_response
    linkageType: ''
    returnType: (SpdmResult, Option
    signature: 'pub fn handle_error_request<''a>(&mut self,error_code: SpdmErrorCode,bytes:
      &[u8],writer: &''a mut Writer,) -> (SpdmResult, Option<&''a [u8]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/responder/error_rsp.rs:52,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/responder/error_rsp.rs:53,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/error_rsp.rs:56,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/error_rsp.rs:58,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/error_rsp.rs:59,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/error_rsp.rs:59,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/responder/error_rsp.rs:63,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/error_rsp.rs:67,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/error_rsp.rs:69,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/error_rsp.rs:71,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/error_rsp.rs:72,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/error_rsp.rs:72,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/responder/error_rsp.rs:76,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/error_rsp.rs:76,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/error_rsp.rs:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 46
    argCount: 3
    argNames:
    - error_code
    - bytes
    - writer
    argTypes:
    - SpdmErrorCode
    - '&[u8]'
    - '&''a mut Writer'
    constantsTouched: []
    func_position:
      end: 77
      start: 46
    functionDepth: 11
    functionLinenumber: 46
    functionLinenumberEnd: 77
    functionName: ResponderContext::write_error_response
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/error_rsp.rs
    functionUses: 1
    functionsReached:
    - '&''a mut Writer::used_slice'
    - get_u8
    - Err
    - SpdmMessageHeader::read
    - ResponderContext::write_spdm_error
    - Reader::init
    - Ok
    - Some
    linkageType: ''
    returnType: (SpdmResult, Option
    signature: 'pub fn write_error_response<''a>(&mut self,error_code: SpdmErrorCode,bytes:
      &[u8],writer: &''a mut Writer,) -> (SpdmResult, Option<&''a [u8]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ResponderContext::write_spdm_key_exchange_response
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:36,1
    - Dst: is_err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:37,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:39,1
    - Dst: teardown
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - bytes
    - writer
    argTypes:
    - '&[u8]'
    - '&''a mut Writer'
    constantsTouched: []
    func_position:
      end: 46
      start: 29
    functionDepth: 13
    functionLinenumber: 29
    functionLinenumberEnd: 46
    functionName: ResponderContext::handle_spdm_key_exchange
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs
    functionUses: 1
    functionsReached:
    - teardown
    - ResponderContext::write_spdm_key_exchange_response
    - is_err
    - get_session_via_id
    linkageType: ''
    returnType: (SpdmResult, Option
    signature: 'pub fn handle_spdm_key_exchange<''a>(&mut self,bytes: &[u8],writer:
      &''a mut Writer,) -> (SpdmResult, Option<&''a [u8]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_connection_state
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:54,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:54,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:55,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:57,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:59,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:60,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:60,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:63,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:64,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:67,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:69,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:70,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:70,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:74,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:76,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:77,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:77,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:81,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:83,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:84,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:84,1
    - Dst: reset_buffer_via_request_code
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:88,1
    - Dst: SpdmKeyExchangeRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:92,1
    - Dst: SpdmOpaqueStruct::default
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:94,1
    - Dst: secret::measurement::generate_measurement_summary_hash
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:107,1
    - Dst: Option::is_none
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:114,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:115,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:117,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:118,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:118,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:121,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:123,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:125,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:126,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:126,1
    - Dst: SpdmDigestStruct::default
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:131,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:141,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:148,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:149,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:149,1
    - Dst: rsp_get_dmtf_supported_secure_spdm_version_list
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:153,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:160,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:162,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:163,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:163,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:169,1
    - Dst: flatten
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:169,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:172,1
    - Dst: SpdmOpaqueStruct::from_sm_version_sel_opaque
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:178,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:186,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:192,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:193,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:193,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:198,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:200,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:201,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:201,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:207,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:209,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:210,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:210,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:214,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:219,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:221,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:222,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:222,1
    - Dst: is_none
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:226,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:228,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:230,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:231,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:231,1
    - Dst: set_local_used_cert_chain_slot_id
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:235,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:244,1
    - Dst: to_kem
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:245,1
    - Dst: crypto::kem_encap::new_key
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:247,1
    - Dst: Option::is_none
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:248,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:249,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:250,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:250,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:250,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:252,1
    - Dst: Result::encap_key
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:255,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:258,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:259,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:259,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:259,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:262,1
    - Dst: SpdmRspExchangeStruct::from_kem
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:263,1
    - Dst: crypto::dhe::generate_key_pair
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:267,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:271,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:272,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:272,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:272,1
    - Dst: to_dhe
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:274,1
    - Dst: compute_final_key
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:276,1
    - Dst: SpdmRspExchangeStruct::from_dhe
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:277,1
    - Dst: Option::is_none
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:283,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:284,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:285,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:285,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:285,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:287,1
    - Dst: get_next_half_session_id
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:290,1
    - Dst: is_err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:291,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:292,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:294,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:295,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:295,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:298,1
    - Dst: lock
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:307,1
    - Dst: deref_mut
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:309,1
    - Dst: get_sequence_number_count
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:310,1
    - Dst: lock
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:313,1
    - Dst: deref_mut
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:315,1
    - Dst: get_max_random_count
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:316,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:320,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:334,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:336,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:337,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:337,1
    - Dst: set_peer_used_cert_chain_slot_id
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:346,1
    - Dst: SpdmKeyExchangeMutAuthAttributes::empty
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:351,1
    - Dst: crypto::hash::hash_all
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:357,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:359,1
    - Dst: get_certchain_hash_local
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:366,1
    - Dst: SpdmResult::is_none
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:371,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:372,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:374,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:375,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:375,1
    - Dst: get_next_avaiable_session
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:379,1
    - Dst: is_none
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:380,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:382,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:384,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:385,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:385,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:389,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:391,1
    - Dst: setup
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:392,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:392,1
    - Dst: set_use_psk
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:393,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:394,1
    - Dst: set_mut_auth_requested
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:395,1
    - Dst: set_transport_param
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:396,1
    - Dst: set_shared_secret
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:397,1
    - Dst: SpdmResult::is_err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:397,1
    - Dst: teardown
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:401,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:402,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:403,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:403,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:403,1
    - Dst: crypto::rand::get_random
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:410,1
    - Dst: Features::is_err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:411,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:412,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:413,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:413,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:413,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:416,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:421,1
    - Dst: SpdmMessagePayload::SpdmKeyExchangeResponse
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:436,1
    - Dst: get_asym_sig_size
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:446,1
    - Dst: get_hash_size
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:450,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:451,1
    - Dst: SpdmResult::spdm_encode
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:456,1
    - Dst: Features::is_err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:457,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:458,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:460,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:461,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:461,1
    - Dst: get_asym_sig_size
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:466,1
    - Dst: get_hash_size
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:467,1
    - Dst: '&''a mut Writer::used'
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:469,1
    - Dst: '&''a mut Writer::used'
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:471,1
    - Dst: append_message_k
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:474,1
    - Dst: Result::used
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:476,1
    - Dst: is_err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:474,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:479,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:480,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:480,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:480,1
    - Dst: append_message_k
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:482,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:484,1
    - Dst: is_err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:482,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:487,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:489,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:490,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:490,1
    - Dst: get_immutable_session_via_id
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:494,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:497,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:499,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:500,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:500,1
    - Dst: ResponderContext::generate_key_exchange_rsp_signature
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:504,1
    - Dst: Result::is_err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:505,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:506,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:507,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:507,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:507,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:509,1
    - Dst: append_message_k
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:511,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:513,1
    - Dst: is_err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:511,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:516,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:518,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:519,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:519,1
    - Dst: '&''a mut Writer::mut_used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:524,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:524,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:525,1
    - Dst: get_immutable_session_via_id
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:528,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:531,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:533,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:534,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:534,1
    - Dst: calc_rsp_transcript_hash
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:539,1
    - Dst: is_err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:540,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:541,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:542,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:542,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:542,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:544,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:547,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:550,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:552,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:553,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:553,1
    - Dst: set_th1
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:556,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:556,1
    - Dst: generate_handshake_secret
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:557,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:558,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:559,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:559,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:559,1
    - Dst: get_immutable_session_via_id
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:564,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:567,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:569,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:570,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:570,1
    - Dst: calc_rsp_transcript_hash
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:575,1
    - Dst: SpdmResult::is_err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:576,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:577,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:578,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:578,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:578,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:580,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:582,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:585,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:587,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:588,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:588,1
    - Dst: generate_hmac_with_response_finished_key
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:592,1
    - Dst: SpdmResult::as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:592,1
    - Dst: Option::is_err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:593,1
    - Dst: teardown
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:594,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:595,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:596,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:596,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:596,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:598,1
    - Dst: append_message_k
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:601,1
    - Dst: Option::as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:603,1
    - Dst: is_err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:601,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:606,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:609,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:611,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:612,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:612,1
    - Dst: teardown
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:615,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:616,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:618,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:619,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:619,1
    - Dst: '&''a mut Writer::mut_used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:624,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:624,1
    - Dst: Option::as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:625,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:629,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:632,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:634,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:635,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:635,1
    - Dst: SecuredMessageVersion::try_from
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:641,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:646,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:648,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:649,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:649,1
    - Dst: set_session_state
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:654,1
    - Dst: set_last_session_id
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:657,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:659,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:662,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:662,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:662,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 1061
    argCount: 3
    argNames:
    - bytes
    - writer
    - target_session_id
    argTypes:
    - '&[u8]'
    - '&''a mut Writer'
    - '&mut Option<u32>'
    constantsTouched: []
    func_position:
      end: 663
      start: 48
    functionDepth: 12
    functionLinenumber: 48
    functionLinenumberEnd: 663
    functionName: ResponderContext::write_spdm_key_exchange_response
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs
    functionUses: 1
    functionsReached:
    - Result::used
    - SpdmOpaqueStruct::from_sm_version_sel_opaque
    - append_message_k
    - '&''a mut Writer::mut_used_slice'
    - set_shared_secret
    - SpdmKemAlgo::empty
    - SpdmKeyExchangeMutAuthAttributes::empty
    - clone
    - Result::as_ref
    - get_max_random_count
    - SpdmOpaqueStruct::default
    - secret::measurement::generate_measurement_summary_hash
    - SpdmRspExchangeStruct::from_dhe
    - Reader::init
    - get_asym_sig_size
    - setup
    - SpdmResult::is_none
    - get_certchain_hash_local
    - get_hash_size
    - to_kem
    - rsp_get_dmtf_supported_secure_spdm_version_list
    - calc_rsp_transcript_hash
    - generate_hmac_with_response_finished_key
    - to_dhe
    - Box::new
    - Result::unwrap
    - Features::is_err
    - generate_handshake_secret
    - '&''a mut Writer::used_slice'
    - crypto::dhe::generate_key_pair
    - Option::as_ref
    - get_immutable_session_via_id
    - set_peer_used_cert_chain_slot_id
    - get_next_half_session_id
    - crypto::kem_encap::new_key
    - is_err
    - SpdmKeyExchangeRequestPayload::spdm_read
    - Ok
    - ResponderContext::generate_key_exchange_rsp_signature
    - SpdmMessageHeader::read
    - SpdmResult::is_err
    - SpdmRspExchangeStruct::from_kem
    - iter
    - set_local_used_cert_chain_slot_id
    - SpdmResult::unwrap
    - unwrap
    - Option::unwrap
    - Option::is_err
    - ResponderContext::write_spdm_error
    - get_sequence_number_count
    - set_session_state
    - flatten
    - get_next_avaiable_session
    - get_session_via_id
    - SpdmDigestStruct::default
    - Some
    - '&''a mut Writer::used'
    - set_last_session_id
    - Result::is_err
    - contains
    - Option::is_none
    - is_none
    - reset_buffer_via_request_code
    - as_ref
    - lock
    - teardown
    - compute_final_key
    - set_use_psk
    - set_transport_param
    - SecuredMessageVersion::try_from
    - set_th1
    - get_u8
    - SpdmResult::as_ref
    - SpdmResult::spdm_encode
    - get_connection_state
    - crypto::hash::hash_all
    - crypto::rand::get_random
    - set_crypto_param
    - Err
    - set_mut_auth_requested
    - Result::encap_key
    - SpdmMessagePayload::SpdmKeyExchangeResponse
    - deref_mut
    - copy_from_slice
    linkageType: ''
    returnType: (SpdmResult, Option
    signature: 'pub fn write_spdm_key_exchange_response<''a>(&mut self,bytes: &[u8],writer:
      &''a mut Writer,target_session_id: &mut Option<u32>,) -> (SpdmResult, Option<&''a
      [u8]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calc_rsp_transcript_hash
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:713,1
    - Dst: calc_rsp_transcript_data
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:720,1
    - Dst: bool::reset_message
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:728,1
    - Dst: bool::append_message
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:729,1
    - Dst: get_signing_prefix_context
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:730,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:729,1
    - Dst: bool::append_message
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:732,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:732,1
    - Dst: bool::append_message
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:735,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:735,1
    - Dst: bool::append_message
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:738,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:739,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:738,1
    - Dst: crate::secret::spdm_asym_sign
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:743,1
    - Dst: bool::as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:748,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs:743,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 69
    argCount: 2
    argNames:
    - _slot_id
    - session
    argTypes:
    - u8
    - '&SpdmSession'
    constantsTouched: []
    func_position:
      end: 751
      start: 708
    functionDepth: 11
    functionLinenumber: 708
    functionLinenumberEnd: 751
    functionName: ResponderContext::generate_key_exchange_rsp_signature
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs
    functionUses: 1
    functionsReached:
    - bool::as_ref
    - get_signing_prefix_context
    - calc_rsp_transcript_hash
    - Option::ok_or
    - calc_rsp_transcript_data
    - bool::reset_message
    - bool::append_message
    - as_ref
    - crate::secret::spdm_asym_sign
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn generate_key_exchange_rsp_signature(&self,_slot_id: u8,session:
      &SpdmSession,) -> SpdmResult<SpdmSignatureStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ResponderContext::write_spdm_heartbeat_response
      Src: /src/spdm-rs/spdmlib/src/responder/heartbeat_rsp.rs:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - session_id
    - bytes
    - writer
    argTypes:
    - u32
    - '&[u8]'
    - '&''a mut Writer'
    constantsTouched: []
    func_position:
      end: 20
      start: 13
    functionDepth: 12
    functionLinenumber: 13
    functionLinenumberEnd: 20
    functionName: ResponderContext::handle_spdm_heartbeat
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/heartbeat_rsp.rs
    functionUses: 1
    functionsReached:
    - ResponderContext::write_spdm_heartbeat_response
    linkageType: ''
    returnType: (SpdmResult, Option
    signature: 'pub fn handle_spdm_heartbeat<''a>(&mut self,session_id: u32,bytes:
      &[u8],writer: &''a mut Writer,) -> (SpdmResult, Option<&''a [u8]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/responder/heartbeat_rsp.rs:28,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/responder/heartbeat_rsp.rs:29,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/heartbeat_rsp.rs:32,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/heartbeat_rsp.rs:34,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/heartbeat_rsp.rs:35,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/heartbeat_rsp.rs:35,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/heartbeat_rsp.rs:39,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/heartbeat_rsp.rs:41,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/heartbeat_rsp.rs:42,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/heartbeat_rsp.rs:42,1
    - Dst: reset_buffer_via_request_code
      Src: /src/spdm-rs/spdmlib/src/responder/heartbeat_rsp.rs:46,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/heartbeat_rsp.rs:48,1
    - Dst: SpdmHeartbeatRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/responder/heartbeat_rsp.rs:51,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/heartbeat_rsp.rs:56,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/heartbeat_rsp.rs:58,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/heartbeat_rsp.rs:59,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/heartbeat_rsp.rs:59,1
    - Dst: SpdmMessagePayload::SpdmHeartbeatResponse
      Src: /src/spdm-rs/spdmlib/src/responder/heartbeat_rsp.rs:70,1
    - Dst: SpdmResult::spdm_encode
      Src: /src/spdm-rs/spdmlib/src/responder/heartbeat_rsp.rs:72,1
    - Dst: Features::is_err
      Src: /src/spdm-rs/spdmlib/src/responder/heartbeat_rsp.rs:73,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/heartbeat_rsp.rs:74,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/heartbeat_rsp.rs:76,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/heartbeat_rsp.rs:77,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/heartbeat_rsp.rs:77,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/responder/heartbeat_rsp.rs:81,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/heartbeat_rsp.rs:81,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/heartbeat_rsp.rs:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 87
    argCount: 3
    argNames:
    - session_id
    - bytes
    - writer
    argTypes:
    - u32
    - '&[u8]'
    - '&''a mut Writer'
    constantsTouched: []
    func_position:
      end: 82
      start: 22
    functionDepth: 11
    functionLinenumber: 22
    functionLinenumberEnd: 82
    functionName: ResponderContext::write_spdm_heartbeat_response
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/heartbeat_rsp.rs
    functionUses: 1
    functionsReached:
    - '&''a mut Writer::used_slice'
    - Ok
    - SpdmMessagePayload::SpdmHeartbeatResponse
    - Err
    - SpdmMessageHeader::read
    - ResponderContext::write_spdm_error
    - reset_buffer_via_request_code
    - SpdmResult::spdm_encode
    - Reader::init
    - Features::is_err
    - SpdmHeartbeatRequestPayload::spdm_read
    - Some
    linkageType: ''
    returnType: (SpdmResult, Option
    signature: 'pub fn write_spdm_heartbeat_response<''a>(&mut self,session_id: u32,bytes:
      &[u8],writer: &''a mut Writer,) -> (SpdmResult, Option<&''a [u8]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ResponderContext::write_spdm_algorithm
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bytes
    - writer
    argTypes:
    - '&[u8]'
    - '&''a mut Writer'
    constantsTouched: []
    func_position:
      end: 24
      start: 18
    functionDepth: 13
    functionLinenumber: 18
    functionLinenumberEnd: 24
    functionName: ResponderContext::handle_spdm_algorithm
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs
    functionUses: 1
    functionsReached:
    - ResponderContext::write_spdm_algorithm
    linkageType: ''
    returnType: (SpdmResult, Option
    signature: 'pub fn handle_spdm_algorithm<''a>(&mut self,bytes: &[u8],writer: &''a
      mut Writer,) -> (SpdmResult, Option<&''a [u8]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_connection_state
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:31,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:34,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:36,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:37,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:37,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:40,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:41,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:44,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:46,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:47,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:47,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:51,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:53,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:54,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:54,1
    - Dst: reset_buffer_via_request_code
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:58,1
    - Dst: SpdmNegotiateAlgorithmsRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:66,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:74,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:81,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:87,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:95,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:99,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:104,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:110,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:112,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:113,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:113,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:118,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:124,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:126,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:127,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:127,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:136,1
    - Dst: SpdmMelSpecification::empty
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:145,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:150,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:150,1
    - Dst: SimpleLogger::is_valid
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:157,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:161,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:167,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:168,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:168,1
    - Dst: SimpleLogger::is_valid
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:173,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:177,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:183,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:184,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:184,1
    - Dst: SimpleLogger::is_valid
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:189,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:193,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:199,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:200,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:200,1
    - Dst: SimpleLogger::is_valid
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:205,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:209,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:215,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:216,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:216,1
    - Dst: SimpleLogger::is_valid
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:223,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:230,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:236,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:237,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:237,1
    - Dst: SimpleLogger::is_valid
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:245,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:249,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:255,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:256,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:256,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:266,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:268,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:269,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:269,1
    - Dst: append_message_a
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:273,1
    - Dst: Result::used
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:275,1
    - Dst: is_err
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:273,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:278,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:280,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:281,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:281,1
    - Dst: prioritize
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:285,1
    - Dst: prioritize
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:291,1
    - Dst: prioritize
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:295,1
    - Dst: prioritize
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:299,1
    - Dst: prioritize
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:303,1
    - Dst: prioritize
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:307,1
    - Dst: prioritize
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:311,1
    - Dst: prioritize
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:315,1
    - Dst: prioritize
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:319,1
    - Dst: prioritize
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:324,1
    - Dst: prioritize
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:328,1
    - Dst: is_valid
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:333,1
    - Dst: is_valid
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:334,1
    - Dst: SpdmBaseAsymAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:337,1
    - Dst: SpdmPqcAsymAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:339,1
    - Dst: is_valid
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:342,1
    - Dst: is_valid
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:343,1
    - Dst: SpdmReqAsymAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:346,1
    - Dst: SpdmPqcReqAsymAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:348,1
    - Dst: is_valid
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:351,1
    - Dst: is_valid
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:352,1
    - Dst: SpdmDheAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:355,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:357,1
    - Dst: construct_my_cert_chain
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:364,1
    - Dst: is_err
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:364,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:365,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:367,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:368,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:368,1
    - Dst: SpdmAlgoOtherParams::empty
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:374,1
    - Dst: insert
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:377,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:382,1
    - Dst: insert
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:388,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:390,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:395,1
    - Dst: insert
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:401,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:409,1
    - Dst: SpdmAlgStruct::default
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:409,1
    - Dst: is_valid
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:410,1
    - Dst: SpdmAlg::SpdmAlgoDhe
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:413,1
    - Dst: is_valid
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:416,1
    - Dst: SpdmAlg::SpdmAlgoAead
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:419,1
    - Dst: is_valid
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:422,1
    - Dst: SpdmAlg::SpdmAlgoReqAsym
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:425,1
    - Dst: is_valid
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:428,1
    - Dst: SpdmAlg::SpdmAlgoKeySchedule
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:431,1
    - Dst: is_valid
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:435,1
    - Dst: SpdmAlg::SpdmAlgoPqcReqAsym
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:438,1
    - Dst: is_valid
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:441,1
    - Dst: SpdmAlg::SpdmAlgoKem
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:444,1
    - Dst: SpdmMessagePayload::SpdmAlgorithmsResponse
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:454,1
    - Dst: SpdmResult::spdm_encode
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:469,1
    - Dst: Features::is_err
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:470,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:471,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:473,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:474,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:474,1
    - Dst: append_message_a
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:477,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:477,1
    - Dst: is_err
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:477,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:478,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:480,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:481,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:481,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:485,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:485,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs:485,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 857
    argCount: 2
    argNames:
    - bytes
    - writer
    argTypes:
    - '&[u8]'
    - '&''a mut Writer'
    constantsTouched: []
    func_position:
      end: 486
      start: 26
    functionDepth: 12
    functionLinenumber: 26
    functionLinenumberEnd: 486
    functionName: ResponderContext::write_spdm_algorithm
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs
    functionUses: 1
    functionsReached:
    - Result::used
    - SpdmAlgStruct::default
    - '&''a mut Writer::used_slice'
    - SpdmAlg::SpdmAlgoAead
    - SpdmDheAlgo::empty
    - ResponderContext::write_spdm_error
    - SpdmMessagePayload::SpdmAlgorithmsResponse
    - gen_array_clone
    - SpdmKemAlgo::empty
    - SpdmAlg::SpdmAlgoReqAsym
    - SpdmAlg::SpdmAlgoPqcReqAsym
    - SpdmBaseAsymAlgo::empty
    - append_message_a
    - SpdmResult::spdm_encode
    - Reader::init
    - is_err
    - prioritize
    - get_connection_state
    - Ok
    - Some
    - SpdmMelSpecification::empty
    - SpdmReqAsymAlgo::empty
    - SpdmPqcReqAsymAlgo::empty
    - insert
    - construct_my_cert_chain
    - SpdmAlg::SpdmAlgoKeySchedule
    - Err
    - SpdmMessageHeader::read
    - take
    - SpdmAlg::SpdmAlgoDhe
    - SpdmAlgoOtherParams::empty
    - is_valid
    - iter
    - contains
    - SpdmPqcAsymAlgo::empty
    - SpdmNegotiateAlgorithmsRequestPayload::spdm_read
    - SpdmAlg::SpdmAlgoKem
    - reset_buffer_via_request_code
    - SimpleLogger::is_valid
    - Features::is_err
    linkageType: ''
    returnType: (SpdmResult, Option
    signature: 'pub fn write_spdm_algorithm<''a>(&mut self,bytes: &[u8],writer: &''a
      mut Writer,) -> (SpdmResult, Option<&''a [u8]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get
      Src: /src/spdm-rs/spdmlib/src/responder/vendor_rsp.rs:19,1
    - Dst: is_ok
      Src: /src/spdm-rs/spdmlib/src/responder/vendor_rsp.rs:19,1
    - Dst: ResponderContext::respond_to_vendor_defined_request_ex
      Src: /src/spdm-rs/spdmlib/src/responder/vendor_rsp.rs:20,1
    - Dst: '&''a mut Writer::mut_left_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/vendor_rsp.rs:23,1
    - Dst: ResponderContext::write_spdm_vendor_defined_response
      Src: /src/spdm-rs/spdmlib/src/responder/vendor_rsp.rs:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - session_id
    - bytes
    - writer
    argTypes:
    - Option<u32>
    - '&[u8]'
    - '&''a mut Writer'
    constantsTouched: []
    func_position:
      end: 29
      start: 13
    functionDepth: 12
    functionLinenumber: 13
    functionLinenumberEnd: 29
    functionName: ResponderContext::handle_spdm_vendor_defined_request
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/vendor_rsp.rs
    functionUses: 2
    functionsReached:
    - ResponderContext::write_spdm_vendor_defined_response
    - ResponderContext::respond_to_vendor_defined_request_ex
    - is_ok
    - try_get
    - '&''a mut Writer::mut_left_slice'
    linkageType: ''
    returnType: (SpdmResult, Option
    signature: 'pub fn handle_spdm_vendor_defined_request<''a>(&mut self,session_id:
      Option<u32>,bytes: &[u8],writer: &''a mut Writer,) -> (SpdmResult, Option<&''a
      [u8]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/responder/vendor_rsp.rs:38,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/responder/vendor_rsp.rs:39,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/vendor_rsp.rs:42,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/vendor_rsp.rs:44,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/vendor_rsp.rs:45,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/vendor_rsp.rs:45,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/vendor_rsp.rs:49,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/vendor_rsp.rs:51,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/vendor_rsp.rs:52,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/vendor_rsp.rs:52,1
    - Dst: reset_buffer_via_request_code
      Src: /src/spdm-rs/spdmlib/src/responder/vendor_rsp.rs:56,1
    - Dst: SpdmVendorDefinedRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/responder/vendor_rsp.rs:62,1
    - Dst: Option::is_none
      Src: /src/spdm-rs/spdmlib/src/responder/vendor_rsp.rs:63,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/vendor_rsp.rs:64,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/vendor_rsp.rs:66,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/vendor_rsp.rs:67,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/vendor_rsp.rs:67,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/vendor_rsp.rs:70,1
    - Dst: ResponderContext::respond_to_vendor_defined_request
      Src: /src/spdm-rs/spdmlib/src/responder/vendor_rsp.rs:75,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/vendor_rsp.rs:81,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/vendor_rsp.rs:82,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/vendor_rsp.rs:82,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/vendor_rsp.rs:82,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/vendor_rsp.rs:85,1
    - Dst: SpdmMessagePayload::SpdmVendorDefinedResponse
      Src: /src/spdm-rs/spdmlib/src/responder/vendor_rsp.rs:91,1
    - Dst: SpdmResult::spdm_encode
      Src: /src/spdm-rs/spdmlib/src/responder/vendor_rsp.rs:100,1
    - Dst: Features::is_err
      Src: /src/spdm-rs/spdmlib/src/responder/vendor_rsp.rs:101,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/vendor_rsp.rs:102,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/vendor_rsp.rs:104,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/vendor_rsp.rs:105,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/vendor_rsp.rs:105,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/responder/vendor_rsp.rs:109,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/vendor_rsp.rs:109,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/vendor_rsp.rs:109,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 108
    argCount: 3
    argNames:
    - session_id
    - bytes
    - writer
    argTypes:
    - Option<u32>
    - '&[u8]'
    - '&''a mut Writer'
    constantsTouched: []
    func_position:
      end: 110
      start: 32
    functionDepth: 11
    functionLinenumber: 32
    functionLinenumberEnd: 110
    functionName: ResponderContext::write_spdm_vendor_defined_response
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/vendor_rsp.rs
    functionUses: 1
    functionsReached:
    - '&''a mut Writer::used_slice'
    - ResponderContext::respond_to_vendor_defined_request
    - Ok
    - Err
    - SpdmMessageHeader::read
    - Option::is_none
    - SpdmMessagePayload::SpdmVendorDefinedResponse
    - Result::unwrap
    - ResponderContext::write_spdm_error
    - reset_buffer_via_request_code
    - SpdmResult::spdm_encode
    - Reader::init
    - SpdmVendorDefinedRequestPayload::spdm_read
    - Features::is_err
    - Some
    linkageType: ''
    returnType: (SpdmResult, Option
    signature: 'pub fn write_spdm_vendor_defined_response<''a>(&mut self,session_id:
      Option<u32>,bytes: &[u8],writer: &''a mut Writer,) -> (SpdmResult, Option<&''a
      [u8]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verdor_defined_func
      Src: /src/spdm-rs/spdmlib/src/responder/vendor_rsp.rs:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - req
    - vendor_id_struct
    - verdor_defined_func
    argTypes:
    - '&VendorDefinedReqPayloadStruct'
    - '&VendorIDStruct'
    - F
    constantsTouched: []
    func_position:
      end: 125
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 125
    functionName: ResponderContext::respond_to_vendor_defined_request
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/vendor_rsp.rs
    functionUses: 2
    functionsReached:
    - verdor_defined_func
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn respond_to_vendor_defined_request<F>(&mut self,req: &VendorDefinedReqPayloadStruct,vendor_id_struct:
      &VendorIDStruct,verdor_defined_func: F,) -> SpdmResult<VendorDefinedRspPayloadStruct>whereF:
      Fn(&VendorIDStruct,&VendorDefinedReqPayloadStruct,) -> SpdmResult<VendorDefinedRspPayloadStruct>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verdor_defined_func_ex
      Src: /src/spdm-rs/spdmlib/src/responder/vendor_rsp.rs:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - session_id
    - req_bytes
    - rsp_bytes
    - verdor_defined_func_ex
    argTypes:
    - Option<u32>
    - '&[u8]'
    - '&''a mut [u8]'
    - F
    constantsTouched: []
    func_position:
      end: 143
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 143
    functionName: ResponderContext::respond_to_vendor_defined_request_ex
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/vendor_rsp.rs
    functionUses: 1
    functionsReached:
    - verdor_defined_func_ex
    linkageType: ''
    returnType: (SpdmResult, Option
    signature: 'pub fn respond_to_vendor_defined_request_ex<''a, F>(&mut self,session_id:
      Option<u32>,req_bytes: &[u8],rsp_bytes: &''a mut [u8],verdor_defined_func_ex:
      F,) -> (SpdmResult, Option<&''a [u8]>)whereF: Fn(&mut ResponderContext,Option<u32>,&[u8],&''a
      mut [u8],) -> (SpdmResult, Option<&''a [u8]>),'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ResponderContext::write_spdm_psk_exchange_response
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:36,1
    - Dst: is_err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:37,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:39,1
    - Dst: teardown
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - bytes
    - writer
    argTypes:
    - '&[u8]'
    - '&''a mut Writer'
    constantsTouched: []
    func_position:
      end: 46
      start: 29
    functionDepth: 13
    functionLinenumber: 29
    functionLinenumberEnd: 46
    functionName: ResponderContext::handle_spdm_psk_exchange
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs
    functionUses: 1
    functionsReached:
    - is_err
    - ResponderContext::write_spdm_psk_exchange_response
    - get_session_via_id
    - teardown
    linkageType: ''
    returnType: (SpdmResult, Option
    signature: 'pub fn handle_spdm_psk_exchange<''a>(&mut self,bytes: &[u8],writer:
      &''a mut Writer,) -> (SpdmResult, Option<&''a [u8]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_connection_state
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:54,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:54,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:55,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:57,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:59,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:60,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:60,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:63,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:64,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:67,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:69,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:70,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:70,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:74,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:76,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:77,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:77,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:81,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:83,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:84,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:84,1
    - Dst: reset_buffer_via_request_code
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:88,1
    - Dst: SpdmPskExchangeRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:92,1
    - Dst: SpdmOpaqueStruct::default
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:94,1
    - Dst: secret::measurement::generate_measurement_summary_hash
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:108,1
    - Dst: Option::is_none
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:115,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:116,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:117,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:117,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:117,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:119,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:121,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:122,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:122,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:122,1
    - Dst: SpdmDigestStruct::default
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:126,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:129,1
    - Dst: rsp_get_dmtf_supported_secure_spdm_version_list
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:131,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:138,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:140,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:141,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:141,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:148,1
    - Dst: flatten
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:148,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:151,1
    - Dst: SpdmOpaqueStruct::from_sm_version_sel_opaque
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:157,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:165,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:171,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:172,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:172,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:177,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:179,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:180,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:180,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:186,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:188,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:189,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:189,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:193,1
    - Dst: crypto::rand::get_random
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:205,1
    - Dst: Features::is_err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:206,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:207,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:208,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:208,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:208,1
    - Dst: get_next_half_session_id
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:212,1
    - Dst: is_err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:213,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:214,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:216,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:217,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:217,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:220,1
    - Dst: lock
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:229,1
    - Dst: deref_mut
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:231,1
    - Dst: get_sequence_number_count
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:232,1
    - Dst: lock
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:235,1
    - Dst: deref_mut
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:237,1
    - Dst: get_max_random_count
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:238,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:242,1
    - Dst: get_next_avaiable_session
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:244,1
    - Dst: is_none
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:245,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:247,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:249,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:250,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:250,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:254,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:256,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:257,1
    - Dst: setup
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:258,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:258,1
    - Dst: set_use_psk
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:259,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:261,1
    - Dst: set_transport_param
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:262,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:264,1
    - Dst: SpdmMessagePayload::SpdmPskExchangeResponse
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:277,1
    - Dst: get_hash_size
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:287,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:288,1
    - Dst: SpdmResult::spdm_encode
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:293,1
    - Dst: Features::is_err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:294,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:295,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:297,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:298,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:298,1
    - Dst: '&''a mut Writer::used'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:301,1
    - Dst: get_hash_size
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:303,1
    - Dst: append_message_k
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:306,1
    - Dst: Result::used
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:308,1
    - Dst: is_err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:306,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:311,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:313,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:314,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:314,1
    - Dst: append_message_k
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:317,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:319,1
    - Dst: is_err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:317,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:322,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:324,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:325,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:325,1
    - Dst: get_immutable_session_via_id
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:329,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:332,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:334,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:335,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:335,1
    - Dst: calc_rsp_transcript_hash
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:340,1
    - Dst: is_err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:341,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:342,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:343,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:343,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:343,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:345,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:348,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:351,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:353,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:354,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:354,1
    - Dst: set_th1
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:357,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:357,1
    - Dst: generate_handshake_secret
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:358,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:359,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:360,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:360,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:360,1
    - Dst: get_immutable_session_via_id
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:363,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:366,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:368,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:369,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:369,1
    - Dst: calc_rsp_transcript_hash
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:373,1
    - Dst: SpdmResult::is_err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:374,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:375,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:376,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:376,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:376,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:378,1
    - Dst: generate_hmac_with_response_finished_key
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:380,1
    - Dst: SpdmResult::as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:380,1
    - Dst: Option::is_err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:381,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:382,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:385,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:387,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:388,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:388,1
    - Dst: teardown
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:391,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:392,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:393,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:393,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:393,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:395,1
    - Dst: append_message_k
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:398,1
    - Dst: Option::as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:400,1
    - Dst: is_err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:398,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:403,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:406,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:408,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:409,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:409,1
    - Dst: teardown
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:412,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:413,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:415,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:416,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:416,1
    - Dst: '&''a mut Writer::mut_used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:421,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:421,1
    - Dst: Option::as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:421,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:423,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:426,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:428,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:429,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:429,1
    - Dst: set_session_state
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:432,1
    - Dst: get_immutable_session_via_id
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:434,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:437,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:439,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:440,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:440,1
    - Dst: calc_rsp_transcript_hash
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:446,1
    - Dst: is_err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:447,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:448,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:449,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:449,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:449,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:451,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:455,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:458,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:460,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:461,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:461,1
    - Dst: set_th2
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:464,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:464,1
    - Dst: generate_data_secret
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:465,1
    - Dst: SpdmResult::is_err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:465,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:469,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:470,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:470,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:470,1
    - Dst: set_session_state
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:472,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:478,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:483,1
    - Dst: watchdog::start_watchdog
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:489,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:493,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:496,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:498,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:499,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:499,1
    - Dst: SecuredMessageVersion::try_from
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:504,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:509,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:511,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:512,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:512,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:517,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:517,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs:517,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 825
    argCount: 3
    argNames:
    - bytes
    - writer
    - target_session_id
    argTypes:
    - '&[u8]'
    - '&''a mut Writer'
    - '&mut Option<u32>'
    constantsTouched: []
    func_position:
      end: 518
      start: 48
    functionDepth: 12
    functionLinenumber: 48
    functionLinenumberEnd: 518
    functionName: ResponderContext::write_spdm_psk_exchange_response
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs
    functionUses: 1
    functionsReached:
    - SpdmResult::unwrap
    - Result::used
    - teardown
    - generate_handshake_secret
    - '&''a mut Writer::used_slice'
    - set_use_psk
    - unwrap
    - Option::unwrap
    - SpdmOpaqueStruct::from_sm_version_sel_opaque
    - Option::is_err
    - append_message_k
    - ResponderContext::write_spdm_error
    - set_transport_param
    - get_sequence_number_count
    - '&''a mut Writer::mut_used_slice'
    - set_th1
    - copy_from_slice
    - SecuredMessageVersion::try_from
    - Option::as_ref
    - set_session_state
    - get_immutable_session_via_id
    - clone
    - set_th2
    - get_u8
    - get_max_random_count
    - SpdmResult::as_ref
    - flatten
    - SpdmOpaqueStruct::default
    - get_next_half_session_id
    - secret::measurement::generate_measurement_summary_hash
    - get_next_avaiable_session
    - SpdmResult::spdm_encode
    - Reader::init
    - is_err
    - get_connection_state
    - get_session_via_id
    - SpdmMessagePayload::SpdmPskExchangeResponse
    - SpdmDigestStruct::default
    - Some
    - setup
    - '&''a mut Writer::used'
    - generate_data_secret
    - Ok
    - crypto::rand::get_random
    - set_crypto_param
    - Err
    - SpdmMessageHeader::read
    - get_hash_size
    - SpdmResult::is_err
    - SpdmPskExchangeRequestPayload::spdm_read
    - rsp_get_dmtf_supported_secure_spdm_version_list
    - calc_rsp_transcript_hash
    - generate_hmac_with_response_finished_key
    - iter
    - contains
    - Option::is_none
    - Box::new
    - deref_mut
    - reset_buffer_via_request_code
    - is_none
    - watchdog::start_watchdog
    - lock
    - Features::is_err
    linkageType: ''
    returnType: (SpdmResult, Option
    signature: 'pub fn write_spdm_psk_exchange_response<''a>(&mut self,bytes: &[u8],writer:
      &''a mut Writer,target_session_id: &mut Option<u32>,) -> (SpdmResult, Option<&''a
      [u8]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ResponderContext::write_spdm_key_update_response
      Src: /src/spdm-rs/spdmlib/src/responder/key_update_rsp.rs:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - session_id
    - bytes
    - writer
    argTypes:
    - u32
    - '&[u8]'
    - '&''a mut Writer'
    constantsTouched: []
    func_position:
      end: 20
      start: 13
    functionDepth: 12
    functionLinenumber: 13
    functionLinenumberEnd: 20
    functionName: ResponderContext::handle_spdm_key_update
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/key_update_rsp.rs
    functionUses: 1
    functionsReached:
    - ResponderContext::write_spdm_key_update_response
    linkageType: ''
    returnType: (SpdmResult, Option
    signature: 'pub fn handle_spdm_key_update<''a>(&mut self,session_id: u32,bytes:
      &[u8],writer: &''a mut Writer,) -> (SpdmResult, Option<&''a [u8]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/responder/key_update_rsp.rs:28,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/responder/key_update_rsp.rs:29,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/key_update_rsp.rs:32,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/key_update_rsp.rs:34,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_update_rsp.rs:35,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_update_rsp.rs:35,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/key_update_rsp.rs:39,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/key_update_rsp.rs:41,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_update_rsp.rs:42,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_update_rsp.rs:42,1
    - Dst: reset_buffer_via_request_code
      Src: /src/spdm-rs/spdmlib/src/responder/key_update_rsp.rs:46,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_update_rsp.rs:48,1
    - Dst: SpdmKeyUpdateRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/responder/key_update_rsp.rs:51,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/key_update_rsp.rs:56,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/key_update_rsp.rs:58,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_update_rsp.rs:59,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_update_rsp.rs:59,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/key_update_rsp.rs:62,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/responder/key_update_rsp.rs:65,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/key_update_rsp.rs:68,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/key_update_rsp.rs:70,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_update_rsp.rs:71,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_update_rsp.rs:71,1
    - Dst: create_data_secret_update
      Src: /src/spdm-rs/spdmlib/src/responder/key_update_rsp.rs:76,1
    - Dst: create_data_secret_update
      Src: /src/spdm-rs/spdmlib/src/responder/key_update_rsp.rs:79,1
    - Dst: activate_data_secret_update
      Src: /src/spdm-rs/spdmlib/src/responder/key_update_rsp.rs:80,1
    - Dst: activate_data_secret_update
      Src: /src/spdm-rs/spdmlib/src/responder/key_update_rsp.rs:83,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/key_update_rsp.rs:87,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/key_update_rsp.rs:89,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_update_rsp.rs:90,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_update_rsp.rs:90,1
    - Dst: SpdmMessagePayload::SpdmKeyUpdateResponse
      Src: /src/spdm-rs/spdmlib/src/responder/key_update_rsp.rs:102,1
    - Dst: SpdmResult::spdm_encode
      Src: /src/spdm-rs/spdmlib/src/responder/key_update_rsp.rs:107,1
    - Dst: Features::is_err
      Src: /src/spdm-rs/spdmlib/src/responder/key_update_rsp.rs:108,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/key_update_rsp.rs:109,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/key_update_rsp.rs:111,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_update_rsp.rs:112,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_update_rsp.rs:112,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/responder/key_update_rsp.rs:116,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/key_update_rsp.rs:116,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/key_update_rsp.rs:116,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 131
    argCount: 3
    argNames:
    - session_id
    - bytes
    - writer
    argTypes:
    - u32
    - '&[u8]'
    - '&''a mut Writer'
    constantsTouched: []
    func_position:
      end: 117
      start: 22
    functionDepth: 11
    functionLinenumber: 22
    functionLinenumberEnd: 117
    functionName: ResponderContext::write_spdm_key_update_response
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/key_update_rsp.rs
    functionUses: 1
    functionsReached:
    - create_data_secret_update
    - '&''a mut Writer::used_slice'
    - Ok
    - SpdmMessagePayload::SpdmKeyUpdateResponse
    - Err
    - SpdmMessageHeader::read
    - Result::unwrap
    - activate_data_secret_update
    - ResponderContext::write_spdm_error
    - reset_buffer_via_request_code
    - SpdmKeyUpdateRequestPayload::spdm_read
    - SpdmResult::spdm_encode
    - Reader::init
    - get_session_via_id
    - Features::is_err
    - Some
    linkageType: ''
    returnType: (SpdmResult, Option
    signature: 'pub fn write_spdm_key_update_response<''a>(&mut self,session_id: u32,bytes:
      &[u8],writer: &''a mut Writer,) -> (SpdmResult, Option<&''a [u8]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ResponderContext::write_spdm_certificate_response
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bytes
    - session_id
    - writer
    argTypes:
    - '&[u8]'
    - Option<u32>
    - '&''a mut Writer'
    constantsTouched: []
    func_position:
      end: 23
      start: 16
    functionDepth: 13
    functionLinenumber: 16
    functionLinenumberEnd: 23
    functionName: ResponderContext::handle_spdm_certificate
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs
    functionUses: 2
    functionsReached:
    - ResponderContext::write_spdm_certificate_response
    linkageType: ''
    returnType: (SpdmResult, Option
    signature: 'pub fn handle_spdm_certificate<''a>(&mut self,bytes: &[u8],session_id:
      Option<u32>,writer: &''a mut Writer,) -> (SpdmResult, Option<&''a [u8]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_connection_state
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:31,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:31,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:32,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:34,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:36,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:37,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:37,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:40,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:41,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:44,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:46,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:47,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:47,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:51,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:53,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:54,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:54,1
    - Dst: reset_buffer_via_request_code
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:58,1
    - Dst: SpdmGetCertificateRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:64,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:69,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:71,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:72,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:72,1
    - Dst: append_message_b
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:78,1
    - Dst: Result::used
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:80,1
    - Dst: is_err
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:78,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:83,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:85,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:86,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:86,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:93,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:96,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:98,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:99,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:99,1
    - Dst: is_none
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:102,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:103,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:105,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:106,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:106,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:110,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:110,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:121,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:123,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:124,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:124,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:138,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:138,1
    - Dst: SpdmMessagePayload::SpdmCertificateResponse
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:146,1
    - Dst: SpdmResult::spdm_encode
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:153,1
    - Dst: Features::is_err
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:154,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:155,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:157,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:158,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:158,1
    - Dst: append_message_b
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:164,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:164,1
    - Dst: is_err
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:164,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:165,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:167,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:168,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:168,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:175,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:175,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs:175,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 251
    argCount: 3
    argNames:
    - session_id
    - bytes
    - writer
    argTypes:
    - Option<u32>
    - '&[u8]'
    - '&''a mut Writer'
    constantsTouched: []
    func_position:
      end: 176
      start: 25
    functionDepth: 12
    functionLinenumber: 25
    functionLinenumberEnd: 176
    functionName: ResponderContext::write_spdm_certificate_response
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs
    functionUses: 1
    functionsReached:
    - Result::used
    - '&''a mut Writer::used_slice'
    - unwrap
    - ResponderContext::write_spdm_error
    - append_message_b
    - SpdmGetCertificateRequestPayload::spdm_read
    - get_u8
    - SpdmResult::spdm_encode
    - Reader::init
    - is_err
    - get_connection_state
    - Ok
    - Some
    - Err
    - SpdmMessageHeader::read
    - len
    - SpdmMessagePayload::SpdmCertificateResponse
    - is_none
    - reset_buffer_via_request_code
    - copy_from_slice
    - as_ref
    - Features::is_err
    linkageType: ''
    returnType: (SpdmResult, Option
    signature: 'fn write_spdm_certificate_response<''a>(&mut self,session_id: Option<u32>,bytes:
      &[u8],writer: &''a mut Writer,) -> (SpdmResult, Option<&''a [u8]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_none
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:31,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:32,1
    - Dst: SpdmCertChainBuffer::default
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:32,1
    - Dst: SpdmMessagePayload::SpdmGetCertificateRequest
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:40,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:42,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:42,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:55,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 40
    argCount: 1
    argNames:
    - encap_request
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 58
      start: 27
    functionDepth: 5
    functionLinenumber: 27
    functionLinenumberEnd: 58
    functionName: ResponderContext::encode_encap_requst_get_certificate
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs
    functionUses: 1
    functionsReached:
    - spdm_encode
    - SpdmCertChainBuffer::default
    - unwrap
    - is_none
    - SpdmMessagePayload::SpdmGetCertificateRequest
    - as_ref
    - Ok
    - Some
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn encode_encap_requst_get_certificate(&mut self,encap_request:
      &mut Writer,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:61,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:63,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:66,1
    - Dst: SpdmCertificateResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:70,1
    - Dst: as_mut
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:77,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:77,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:89,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:96,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:100,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:114,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:117,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:131,1
    - Dst: SpdmMessageGeneralPayload::read
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:135,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:135,1
    - Dst: ResponderContext::handle_encap_error_response_main
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:137,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:139,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:142,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:146,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:150,1
    - Dst: ResponderContext::verify_spdm_certificate_chain
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:153,1
    - Dst: SpdmResult::map
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:153,1
    - Dst: is_ok
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:162,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 197
    argCount: 1
    argNames:
    - encap_response
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 167
      start: 60
    functionDepth: 11
    functionLinenumber: 60
    functionLinenumberEnd: 167
    functionName: ResponderContext::handle_encap_response_certificate
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs
    functionUses: 1
    functionsReached:
    - SpdmMessageGeneralPayload::read
    - ResponderContext::verify_spdm_certificate_chain
    - SpdmCertificateResponsePayload::spdm_read
    - as_mut
    - Err
    - SpdmMessageHeader::read
    - ok_or
    - Option::ok_or
    - ResponderContext::handle_encap_error_response_main
    - SpdmResult::map
    - copy_from_slice
    - Reader::init
    - is_ok
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn handle_encap_response_certificate(&mut self, encap_response:
      &[u8]) -> SpdmResult<bool>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_none
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:173,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:175,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:178,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:178,1
    - Dst: get_hash_size
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:184,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:185,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:196,1
    - Dst: get_hash_size
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:199,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:201,1
    - Dst: get_hash_size
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:202,1
    - Dst: crypto::cert_operation::verify_cert_chain
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:211,1
    - Dst: SpdmResult::is_err
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:211,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:219,1
    - Dst: crypto::cert_operation::get_cert_from_cert_chain
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:226,1
    - Dst: is_root_certificate
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:231,1
    - Dst: SpdmResult::is_err
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:231,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:233,1
    - Dst: crypto::hash::hash_all
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:236,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:240,1
    - Dst: get_hash_size
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:243,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:246,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:255,1
    - Dst: flatten
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:255,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:263,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:275,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs:288,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 220
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 289
      start: 169
    functionDepth: 10
    functionLinenumber: 169
    functionLinenumberEnd: 289
    functionName: ResponderContext::verify_spdm_certificate_chain
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs
    functionUses: 1
    functionsReached:
    - crypto::hash::hash_all
    - Ok
    - iter
    - Err
    - get_hash_size
    - ok_or
    - SpdmResult::is_err
    - flatten
    - len
    - is_none
    - copy_from_slice
    - as_ref
    - is_root_certificate
    - crypto::cert_operation::get_cert_from_cert_chain
    - crypto::cert_operation::verify_cert_chain
    linkageType: ''
    returnType: SpdmResult
    signature: pub fn verify_spdm_certificate_chain(&mut self) -> SpdmResult
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:24,1
    - Dst: teardown
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:25,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:27,1
    - Dst: ResponderContext::write_spdm_finish_response
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:30,1
    - Dst: is_err
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:31,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:32,1
    - Dst: teardown
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:33,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 3
    argNames:
    - session_id
    - bytes
    - writer
    argTypes:
    - u32
    - '&[u8]'
    - '&''a mut Writer'
    constantsTouched: []
    func_position:
      end: 38
      start: 16
    functionDepth: 12
    functionLinenumber: 16
    functionLinenumberEnd: 38
    functionName: ResponderContext::handle_spdm_finish
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs
    functionUses: 2
    functionsReached:
    - teardown
    - ResponderContext::write_spdm_finish_response
    - is_err
    - get_session_via_id
    - Ok
    linkageType: ''
    returnType: (SpdmResult, Option
    signature: 'pub fn handle_spdm_finish<''a>(&mut self,session_id: u32,bytes: &[u8],writer:
      &''a mut Writer,) -> (SpdmResult, Option<&''a [u8]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:47,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:48,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:51,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:53,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:54,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:54,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:58,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:60,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:61,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:61,1
    - Dst: reset_buffer_via_request_code
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:65,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:67,1
    - Dst: SpdmFinishRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:70,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:75,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:77,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:78,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:78,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:81,1
    - Dst: append_message_f
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:90,1
    - Dst: is_err
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:90,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:95,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:97,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:98,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:98,1
    - Dst: get_immutable_session_via_id
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:103,1
    - Dst: get_mut_auth_requested
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:104,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:106,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:108,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:109,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:109,1
    - Dst: is_empty
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:115,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:116,1
    - Dst: is_empty
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:117,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:118,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:121,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:123,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:124,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:124,1
    - Dst: is_empty
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:128,1
    - Dst: get_immutable_session_via_id
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:131,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:134,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:136,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:137,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:137,1
    - Dst: ResponderContext::verify_finish_req_signature
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:141,1
    - Dst: SpdmResult::is_err
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:141,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:146,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:147,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:147,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:147,1
    - Dst: append_message_f
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:151,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:153,1
    - Dst: is_err
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:151,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:156,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:158,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:159,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:159,1
    - Dst: get_hash_size
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:165,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:168,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:171,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:173,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:174,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:174,1
    - Dst: get_use_psk
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:178,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:179,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:181,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:182,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:182,1
    - Dst: get_immutable_session_via_id
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:187,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:190,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:192,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:193,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:193,1
    - Dst: calc_rsp_transcript_hash
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:197,1
    - Dst: SpdmResult::is_err
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:200,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:201,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:202,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:202,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:202,1
    - Dst: SpdmResult::as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:204,1
    - Dst: '&[u8]::unwrap'
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:204,1
    - Dst: verify_hmac_with_request_finished_key
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:206,1
    - Dst: SpdmResult::as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:208,1
    - Dst: SpdmResult::is_err
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:206,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:214,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:215,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:215,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:215,1
    - Dst: append_message_f
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:220,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:222,1
    - Dst: is_err
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:220,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:226,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:228,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:229,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:229,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:234,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:239,1
    - Dst: SpdmMessagePayload::SpdmFinishResponse
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:252,1
    - Dst: get_hash_size
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:254,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:255,1
    - Dst: SpdmResult::spdm_encode
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:264,1
    - Dst: Features::is_err
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:265,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:266,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:268,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:269,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:269,1
    - Dst: '&''a mut Writer::used'
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:272,1
    - Dst: append_message_f
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:278,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:280,1
    - Dst: is_err
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:278,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:284,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:286,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:287,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:287,1
    - Dst: get_immutable_session_via_id
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:292,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:295,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:297,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:298,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:298,1
    - Dst: calc_rsp_transcript_hash
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:302,1
    - Dst: SpdmResult::is_err
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:305,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:306,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:307,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:307,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:307,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:309,1
    - Dst: generate_hmac_with_response_finished_key
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:311,1
    - Dst: SpdmResult::as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:311,1
    - Dst: Option::is_err
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:312,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:313,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:314,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:314,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:314,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:316,1
    - Dst: append_message_f
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:318,1
    - Dst: Option::as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:320,1
    - Dst: is_err
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:318,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:323,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:325,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:326,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:326,1
    - Dst: '&''a mut Writer::mut_used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:331,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:331,1
    - Dst: Option::as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:331,1
    - Dst: append_message_f
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:332,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:334,1
    - Dst: is_err
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:332,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:338,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:340,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:341,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:341,1
    - Dst: get_immutable_session_via_id
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:346,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:349,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:351,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:352,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:352,1
    - Dst: calc_rsp_transcript_hash
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:356,1
    - Dst: is_err
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:360,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:361,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:362,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:362,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:362,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:364,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:367,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:370,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:372,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:373,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:373,1
    - Dst: set_th2
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:376,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:376,1
    - Dst: generate_data_secret
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:377,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:378,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:379,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:379,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:379,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:381,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:381,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:381,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 557
    argCount: 3
    argNames:
    - session_id
    - bytes
    - writer
    argTypes:
    - u32
    - '&[u8]'
    - '&''a mut Writer'
    constantsTouched: []
    func_position:
      end: 383
      start: 41
    functionDepth: 11
    functionLinenumber: 41
    functionLinenumberEnd: 383
    functionName: ResponderContext::write_spdm_finish_response
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs
    functionUses: 1
    functionsReached:
    - SpdmResult::unwrap
    - '&''a mut Writer::used_slice'
    - is_empty
    - unwrap
    - Option::unwrap
    - Option::is_err
    - ResponderContext::write_spdm_error
    - SpdmFinishRequestPayload::spdm_read
    - '&''a mut Writer::mut_used_slice'
    - Option::as_ref
    - SpdmMessagePayload::SpdmFinishResponse
    - get_immutable_session_via_id
    - set_th2
    - clone
    - append_message_f
    - SpdmResult::as_ref
    - SpdmResult::spdm_encode
    - Reader::init
    - is_err
    - get_session_via_id
    - verify_hmac_with_request_finished_key
    - Ok
    - Some
    - '&''a mut Writer::used'
    - generate_data_secret
    - get_mut_auth_requested
    - Err
    - SpdmMessageHeader::read
    - get_hash_size
    - SpdmResult::is_err
    - '&[u8]::unwrap'
    - as_ref
    - calc_rsp_transcript_hash
    - generate_hmac_with_response_finished_key
    - contains
    - Box::new
    - Result::unwrap
    - reset_buffer_via_request_code
    - copy_from_slice
    - get_use_psk
    - ResponderContext::verify_finish_req_signature
    - Features::is_err
    linkageType: ''
    returnType: (SpdmResult, Option
    signature: 'pub fn write_spdm_finish_response<''a>(&mut self,session_id: u32,bytes:
      &[u8],writer: &''a mut Writer,) -> (SpdmResult, Option<&''a [u8]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calc_rsp_transcript_hash
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:451,1
    - Dst: get_peer_used_cert_chain_slot_id
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:453,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:455,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:455,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:463,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:463,1
    - Dst: get_hash_size
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:466,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:467,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:467,1
    - Dst: ManagedBuffer12Sign::default
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:472,1
    - Dst: Self::reset_message
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:474,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:475,1
    - Dst: get_signing_prefix_context
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:476,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:475,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:478,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:478,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:481,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:481,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:484,1
    - Dst: SpdmResult::as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:485,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:484,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:489,1
    - Dst: SpdmDer::SpdmDerPubKeyRfc7250
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:493,1
    - Dst: SpdmDer::SpdmDerCertChain
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:495,1
    - Dst: crypto::spdm_asym_verify
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:498,1
    - Dst: to_base
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:500,1
    - Dst: to_base
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:501,1
    - Dst: Self::as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs:503,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 123
    argCount: 2
    argNames:
    - signature
    - session
    argTypes:
    - '&SpdmSignatureStruct'
    - '&SpdmSession'
    constantsTouched: []
    func_position:
      end: 508
      start: 446
    functionDepth: 11
    functionLinenumber: 446
    functionLinenumberEnd: 508
    functionName: ResponderContext::verify_finish_req_signature
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs
    functionUses: 1
    functionsReached:
    - Self::reset_message
    - Self::append_message
    - to_base
    - get_signing_prefix_context
    - SpdmResult::as_ref
    - calc_rsp_transcript_hash
    - Self::as_ref
    - ManagedBuffer12Sign::default
    - get_hash_size
    - ok_or
    - Option::ok_or
    - Err
    - SpdmDer::SpdmDerCertChain
    - get_peer_used_cert_chain_slot_id
    - crypto::spdm_asym_verify
    - as_ref
    - SpdmDer::SpdmDerPubKeyRfc7250
    linkageType: ''
    returnType: SpdmResult
    signature: 'fn verify_finish_req_signature(&self,signature: &SpdmSignatureStruct,session:
      &SpdmSession,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ResponderContext::write_spdm_measurement_response
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:35,1
    - Dst: reset_message_m
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - session_id
    - bytes
    - writer
    argTypes:
    - Option<u32>
    - '&[u8]'
    - '&''a mut Writer'
    constantsTouched: []
    func_position:
      end: 44
      start: 29
    functionDepth: 13
    functionLinenumber: 29
    functionLinenumberEnd: 44
    functionName: ResponderContext::handle_spdm_measurement
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs
    functionUses: 2
    functionsReached:
    - reset_message_m
    - ResponderContext::write_spdm_measurement_response
    linkageType: ''
    returnType: (SpdmResult, Option
    signature: 'pub fn handle_spdm_measurement<''a>(&mut self,session_id: Option<u32>,bytes:
      &[u8],writer: &''a mut Writer,) -> (SpdmResult, Option<&''a [u8]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_connection_state
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:52,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:52,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:53,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:55,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:57,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:58,1
    - Dst: '&''a mut Writer<''_>::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:58,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:61,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:62,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:65,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:67,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:68,1
    - Dst: '&''a mut Writer<''_>::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:68,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:72,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:74,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:75,1
    - Dst: '&''a mut Writer<''_>::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:75,1
    - Dst: reset_buffer_via_request_code
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:79,1
    - Dst: SpdmGetMeasurementsRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:85,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:90,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:92,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:93,1
    - Dst: '&''a mut Writer<''_>::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:93,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:96,1
    - Dst: get_asym_sig_size
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:100,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:102,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:111,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:113,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:114,1
    - Dst: '&''a mut Writer<''_>::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:114,1
    - Dst: is_none
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:117,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:118,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:120,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:121,1
    - Dst: '&''a mut Writer<''_>::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:121,1
    - Dst: is_none
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:124,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:125,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:127,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:128,1
    - Dst: '&''a mut Writer<''_>::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:128,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:135,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:137,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:138,1
    - Dst: '&''a mut Writer<''_>::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:138,1
    - Dst: append_message_m
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:150,1
    - Dst: Result::used
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:152,1
    - Dst: is_err
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:150,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:155,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:157,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:158,1
    - Dst: '&''a mut Writer<''_>::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:158,1
    - Dst: secret::measurement::measurement_collection
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:162,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:166,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:170,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:172,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:173,1
    - Dst: '&''a mut Writer<''_>::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:173,1
    - Dst: secret::measurement::measurement_collection
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:180,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:184,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:188,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:190,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:191,1
    - Dst: '&''a mut Writer<''_>::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:191,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:198,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:200,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:201,1
    - Dst: '&''a mut Writer<''_>::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:201,1
    - Dst: secret::measurement::measurement_collection
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:204,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:212,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:214,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:215,1
    - Dst: '&''a mut Writer<''_>::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:215,1
    - Dst: SpdmMeasurementRecordStructure::default
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:219,1
    - Dst: crypto::rand::get_random
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:230,1
    - Dst: Features::is_err
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:231,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:232,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:233,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:233,1
    - Dst: '&''a mut Writer<''_>::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:233,1
    - Dst: SpdmMessagePayload::SpdmMeasurementsResponse
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:243,1
    - Dst: SpdmResult::spdm_encode
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:264,1
    - Dst: Features::is_err
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:265,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:266,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:268,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:269,1
    - Dst: '&''a mut Writer<''_>::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:269,1
    - Dst: '&''a mut Writer<''_>::used'
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:272,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:275,1
    - Dst: get_asym_sig_size
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:279,1
    - Dst: append_message_m
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:282,1
    - Dst: '&''a mut Writer<''_>::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:284,1
    - Dst: is_err
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:282,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:287,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:289,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:290,1
    - Dst: '&''a mut Writer<''_>::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:290,1
    - Dst: ResponderContext::generate_measurement_signature
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:294,1
    - Dst: Result::is_err
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:295,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:296,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:298,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:299,1
    - Dst: '&''a mut Writer<''_>::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:299,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:302,1
    - Dst: '&''a mut Writer<''_>::mut_used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:304,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:304,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:305,1
    - Dst: reset_message_m
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:307,1
    - Dst: append_message_m
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:308,1
    - Dst: '&''a mut Writer<''_>::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:310,1
    - Dst: is_err
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:308,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:313,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:315,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:316,1
    - Dst: '&''a mut Writer<''_>::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:316,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:320,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:320,1
    - Dst: '&''a mut Writer<''_>::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:320,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 408
    argCount: 3
    argNames:
    - session_id
    - bytes
    - writer
    argTypes:
    - Option<u32>
    - '&[u8]'
    - '&''a mut Writer<''_>'
    constantsTouched: []
    func_position:
      end: 321
      start: 46
    functionDepth: 12
    functionLinenumber: 46
    functionLinenumberEnd: 321
    functionName: ResponderContext::write_spdm_measurement_response
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs
    functionUses: 1
    functionsReached:
    - Result::used
    - '&''a mut Writer<''_>::used'
    - ResponderContext::write_spdm_error
    - SpdmMeasurementRecordStructure::default
    - Result::as_ref
    - get_u8
    - '&''a mut Writer<''_>::mut_used_slice'
    - SpdmGetMeasurementsRequestPayload::spdm_read
    - SpdmResult::spdm_encode
    - Reader::init
    - is_err
    - get_connection_state
    - get_asym_sig_size
    - SpdmMessagePayload::SpdmMeasurementsResponse
    - Some
    - ResponderContext::generate_measurement_signature
    - Ok
    - crypto::rand::get_random
    - Result::is_err
    - secret::measurement::measurement_collection
    - reset_message_m
    - '&''a mut Writer<''_>::used_slice'
    - append_message_m
    - Err
    - SpdmMessageHeader::read
    - contains
    - Result::unwrap
    - is_none
    - reset_buffer_via_request_code
    - copy_from_slice
    - Features::is_err
    linkageType: ''
    returnType: (SpdmResult, Option
    signature: 'pub fn write_spdm_measurement_response<''a>(&mut self,session_id:
      Option<u32>,bytes: &[u8],writer: &''a mut Writer<''_>,) -> (SpdmResult, Option<&''a
      [u8]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ManagedBufferL1L2::default
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:388,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:390,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:391,1
    - Dst: SpdmResult::as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:392,1
    - Dst: Option::map_or_else
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:391,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:393,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:393,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:398,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:399,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:398,1
    - Dst: get_immutable_session_via_id
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:403,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:407,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:409,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:410,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:409,1
    - Dst: crypto::hash::hash_all
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:416,1
    - Dst: Self::as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:418,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:416,1
    - Dst: Self::reset_message
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:425,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:426,1
    - Dst: get_signing_prefix_context
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:427,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:426,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:429,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:429,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:432,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:432,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:435,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:436,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:435,1
    - Dst: crate::secret::spdm_asym_sign
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:440,1
    - Dst: Self::as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:445,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs:440,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 122
    argCount: 1
    argNames:
    - session_id
    argTypes:
    - Option<u32>
    constantsTouched: []
    func_position:
      end: 448
      start: 384
    functionDepth: 10
    functionLinenumber: 384
    functionLinenumberEnd: 448
    functionName: ResponderContext::generate_measurement_signature
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs
    functionUses: 1
    functionsReached:
    - Self::reset_message
    - Self::append_message
    - clone
    - ManagedBufferL1L2::default
    - SpdmResult::as_ref
    - crypto::hash::hash_all
    - Self::as_ref
    - Option::map_or_else
    - get_signing_prefix_context
    - Err
    - Option::ok_or
    - as_ref
    - crate::secret::spdm_asym_sign
    - Ok
    - get_immutable_session_via_id
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn generate_measurement_signature(&self,session_id: Option<u32>,)
      -> SpdmResult<SpdmSignatureStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ResponderContext::encap_check_version_cap_state
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:30,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:31,1
    - Dst: is_err
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:34,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:35,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:35,1
    - Dst: ResponderContext::write_encap_request_response
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - bytes
    - writer
    argTypes:
    - '&[u8]'
    - '&''a mut Writer'
    constantsTouched: []
    func_position:
      end: 38
      start: 25
    functionDepth: 13
    functionLinenumber: 25
    functionLinenumberEnd: 38
    functionName: ResponderContext::handle_get_encapsulated_request
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs
    functionUses: 1
    functionsReached:
    - '&''a mut Writer::used_slice'
    - get_u8
    - ResponderContext::encap_check_version_cap_state
    - ResponderContext::write_encap_request_response
    - is_err
    - Some
    linkageType: ''
    returnType: (SpdmResult, Option
    signature: 'pub fn handle_get_encapsulated_request<''a>(&mut self,bytes: &[u8],writer:
      &''a mut Writer,) -> (SpdmResult, Option<&''a [u8]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:45,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:46,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:48,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:50,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:51,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:51,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:55,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:57,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:58,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:58,1
    - Dst: SpdmMessagePayload::SpdmEncapsulatedRequestPayload
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:67,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:74,1
    - Dst: Result::is_err
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:74,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:78,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:80,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:81,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:81,1
    - Dst: ResponderContext::encode_encap_request_get_digest
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:85,1
    - Dst: SpdmResult::is_err
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:85,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:86,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:88,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:89,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:89,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:93,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:93,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 82
    argCount: 2
    argNames:
    - bytes
    - writer
    argTypes:
    - '&[u8]'
    - '&''a mut Writer'
    constantsTouched: []
    func_position:
      end: 94
      start: 40
    functionDepth: 11
    functionLinenumber: 40
    functionLinenumberEnd: 94
    functionName: ResponderContext::write_encap_request_response
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs
    functionUses: 1
    functionsReached:
    - spdm_encode
    - ResponderContext::encode_encap_request_get_digest
    - '&''a mut Writer::used_slice'
    - Result::is_err
    - Ok
    - Err
    - SpdmMessageHeader::read
    - SpdmResult::is_err
    - ResponderContext::write_spdm_error
    - Reader::init
    - SpdmMessagePayload::SpdmEncapsulatedRequestPayload
    - Some
    linkageType: ''
    returnType: (SpdmResult, Option
    signature: 'fn write_encap_request_response<''a>(&mut self,bytes: &[u8],writer:
      &''a mut Writer,) -> (SpdmResult, Option<&''a [u8]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ResponderContext::encap_check_version_cap_state
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:101,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:102,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:105,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:105,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:105,1
    - Dst: ResponderContext::write_encap_response_ack_response
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - bytes
    - writer
    argTypes:
    - '&[u8]'
    - '&''a mut Writer'
    constantsTouched: []
    func_position:
      end: 109
      start: 96
    functionDepth: 13
    functionLinenumber: 96
    functionLinenumberEnd: 109
    functionName: ResponderContext::handle_deliver_encapsulated_reponse
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs
    functionUses: 1
    functionsReached:
    - '&''a mut Writer::used_slice'
    - get_u8
    - ResponderContext::write_encap_response_ack_response
    - Err
    - ResponderContext::encap_check_version_cap_state
    - Some
    linkageType: ''
    returnType: (SpdmResult, Option
    signature: 'pub fn handle_deliver_encapsulated_reponse<''a>(&mut self,bytes: &[u8],writer:
      &''a mut Writer,) -> (SpdmResult, Option<&''a [u8]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:116,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:117,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:119,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:121,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:122,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:122,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:126,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:128,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:129,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:129,1
    - Dst: SpdmDeliverEncapsulatedResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:134,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:138,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:140,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:141,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:141,1
    - Dst: ResponderContext::process_encapsulated_response
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:145,1
    - Dst: Result::used
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:146,1
    - Dst: SpdmResult::is_err
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:145,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:149,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:151,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:152,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:152,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:156,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:156,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 75
    argCount: 2
    argNames:
    - bytes
    - writer
    argTypes:
    - '&[u8]'
    - '&''a mut Writer'
    constantsTouched: []
    func_position:
      end: 157
      start: 111
    functionDepth: 11
    functionLinenumber: 111
    functionLinenumberEnd: 157
    functionName: ResponderContext::write_encap_response_ack_response
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs
    functionUses: 1
    functionsReached:
    - Result::used
    - '&''a mut Writer::used_slice'
    - SpdmDeliverEncapsulatedResponsePayload::spdm_read
    - Err
    - SpdmMessageHeader::read
    - ResponderContext::process_encapsulated_response
    - SpdmResult::is_err
    - ResponderContext::write_spdm_error
    - Reader::init
    - Ok
    - Some
    linkageType: ''
    returnType: (SpdmResult, Option
    signature: 'fn write_encap_response_ack_response<''a>(&mut self,bytes: &[u8],writer:
      &''a mut Writer,) -> (SpdmResult, Option<&''a [u8]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:165,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:170,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:173,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:178,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:184,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:189,1
    - Dst: get_connection_state
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:192,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:192,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:193,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:195,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:196,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 52
    argCount: 2
    argNames:
    - request_response_code
    - writer
    argTypes:
    - u8
    - '&mut Writer<''_>'
    constantsTouched: []
    func_position:
      end: 200
      start: 159
    functionDepth: 12
    functionLinenumber: 159
    functionLinenumberEnd: 200
    functionName: ResponderContext::encap_check_version_cap_state
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs
    functionUses: 2
    functionsReached:
    - get_u8
    - Err
    - contains
    - ResponderContext::write_spdm_error
    - get_connection_state
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: 'fn encap_check_version_cap_state(&mut self,request_response_code:
      u8,writer: &mut Writer<''_>,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:208,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:209,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:211,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:215,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:222,1
    - Dst: ResponderContext::handle_encap_response_digest
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:232,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:234,1
    - Dst: ResponderContext::encode_encap_requst_get_certificate
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:235,1
    - Dst: ResponderContext::handle_encap_response_certificate
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:238,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:241,1
    - Dst: ResponderContext::encode_encap_requst_get_certificate
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:242,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:246,1
    - Dst: encode
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:247,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:247,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:253,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:260,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:261,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:263,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:268,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 88
    argCount: 3
    argNames:
    - encap_response_payload
    - encap_response
    - encap_response_ack
    argTypes:
    - '&SpdmDeliverEncapsulatedResponsePayload'
    - '&[u8]'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 270
      start: 202
    functionDepth: 11
    functionLinenumber: 202
    functionLinenumberEnd: 270
    functionName: ResponderContext::process_encapsulated_response
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs
    functionUses: 1
    functionsReached:
    - spdm_encode
    - ResponderContext::encode_encap_requst_get_certificate
    - ResponderContext::handle_encap_response_certificate
    - map_err
    - ResponderContext::handle_encap_response_digest
    - Err
    - SpdmMessageHeader::read
    - Reader::init
    - Ok
    - encode
    linkageType: ''
    returnType: SpdmResult
    signature: 'fn process_encapsulated_response(&mut self,encap_response_payload:
      &SpdmDeliverEncapsulatedResponsePayload,encap_response: &[u8],encap_response_ack:
      &mut Writer,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:273,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:274,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - error_code
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 278
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 278
    functionName: ResponderContext::handle_encap_error_response_main
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs
    functionUses: 1
    functionsReached:
    - Err
    - get_u8
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn handle_encap_error_response_main(&self, error_code: u8) ->
      SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ResponderContext::write_spdm_challenge_response
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bytes
    - writer
    argTypes:
    - '&[u8]'
    - '&''a mut Writer'
    constantsTouched: []
    func_position:
      end: 30
      start: 24
    functionDepth: 13
    functionLinenumber: 24
    functionLinenumberEnd: 30
    functionName: ResponderContext::handle_spdm_challenge
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs
    functionUses: 1
    functionsReached:
    - ResponderContext::write_spdm_challenge_response
    linkageType: ''
    returnType: (SpdmResult, Option
    signature: 'pub fn handle_spdm_challenge<''a>(&mut self,bytes: &[u8],writer: &''a
      mut Writer,) -> (SpdmResult, Option<&''a [u8]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_connection_state
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:37,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:37,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:38,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:40,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:42,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:43,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:43,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:46,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:47,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:50,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:52,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:53,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:53,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:57,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:59,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:60,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:60,1
    - Dst: reset_buffer_via_request_code
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:64,1
    - Dst: SpdmChallengeRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:68,1
    - Dst: secret::measurement::generate_measurement_summary_hash
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:79,1
    - Dst: Option::is_none
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:86,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:87,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:89,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:90,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:90,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:93,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:95,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:97,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:98,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:98,1
    - Dst: SpdmDigestStruct::default
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:103,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:107,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:109,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:110,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:110,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:114,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:119,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:121,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:122,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:122,1
    - Dst: is_none
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:125,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:126,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:128,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:129,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:129,1
    - Dst: is_none
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:132,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:133,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:135,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:136,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:136,1
    - Dst: append_message_c
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:140,1
    - Dst: Result::used
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:142,1
    - Dst: is_err
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:140,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:145,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:147,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:148,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:148,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:153,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:153,1
    - Dst: crypto::hash::hash_all
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:154,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:156,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:159,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:159,1
    - Dst: crypto::hash::hash_all
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:162,1
    - Dst: SpdmResult::as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:164,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:170,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:171,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:171,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:171,1
    - Dst: crypto::rand::get_random
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:175,1
    - Dst: Features::is_err
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:176,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:177,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:179,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:180,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:180,1
    - Dst: SpdmMessagePayload::SpdmChallengeAuthResponse
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:198,1
    - Dst: is_some
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:210,1
    - Dst: SpdmChallengeAuthAttribute::empty
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:216,1
    - Dst: get_asym_sig_size
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:228,1
    - Dst: SpdmResult::spdm_encode
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:234,1
    - Dst: Features::is_err
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:235,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:236,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:238,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:239,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:239,1
    - Dst: '&''a mut Writer::used'
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:242,1
    - Dst: get_asym_sig_size
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:245,1
    - Dst: append_message_c
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:248,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:250,1
    - Dst: is_err
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:248,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:253,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:255,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:256,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:256,1
    - Dst: ResponderContext::generate_challenge_auth_signature
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:260,1
    - Dst: Result::is_err
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:261,1
    - Dst: ResponderContext::write_spdm_error
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:262,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:264,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:265,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:265,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:268,1
    - Dst: '&''a mut Writer::mut_used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:270,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:270,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:270,1
    - Dst: reset_message_b
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:272,1
    - Dst: reset_message_c
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:273,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:275,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:275,1
    - Dst: '&''a mut Writer::used_slice'
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:275,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 410
    argCount: 2
    argNames:
    - bytes
    - writer
    argTypes:
    - '&[u8]'
    - '&''a mut Writer'
    constantsTouched: []
    func_position:
      end: 276
      start: 32
    functionDepth: 12
    functionLinenumber: 32
    functionLinenumberEnd: 276
    functionName: ResponderContext::write_spdm_challenge_response
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs
    functionUses: 1
    functionsReached:
    - Result::used
    - '&''a mut Writer::used_slice'
    - unwrap
    - reset_message_c
    - Option::unwrap
    - ResponderContext::write_spdm_error
    - '&''a mut Writer::mut_used_slice'
    - Result::as_ref
    - get_u8
    - SpdmResult::as_ref
    - secret::measurement::generate_measurement_summary_hash
    - SpdmResult::spdm_encode
    - Reader::init
    - is_err
    - get_connection_state
    - get_asym_sig_size
    - SpdmDigestStruct::default
    - Some
    - '&''a mut Writer::used'
    - Ok
    - crypto::hash::hash_all
    - crypto::rand::get_random
    - Result::is_err
    - is_some
    - Err
    - SpdmMessageHeader::read
    - ResponderContext::generate_challenge_auth_signature
    - SpdmChallengeAuthAttribute::empty
    - reset_message_b
    - Option::is_none
    - Result::unwrap
    - append_message_c
    - SpdmMessagePayload::SpdmChallengeAuthResponse
    - is_none
    - reset_buffer_via_request_code
    - copy_from_slice
    - as_ref
    - SpdmChallengeRequestPayload::spdm_read
    - Features::is_err
    linkageType: ''
    returnType: (SpdmResult, Option
    signature: 'pub fn write_spdm_challenge_response<''a>(&mut self,bytes: &[u8],writer:
      &''a mut Writer,) -> (SpdmResult, Option<&''a [u8]>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ManagedBufferM1M2::default
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:324,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:325,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:326,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:325,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:328,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:329,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:328,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:331,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:332,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:331,1
    - Dst: crypto::hash::hash_all
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:336,1
    - Dst: Self::as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:338,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:336,1
    - Dst: Self::reset_message
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:344,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:345,1
    - Dst: get_signing_prefix_context
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:346,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:345,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:348,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:348,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:351,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:351,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:354,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:355,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:354,1
    - Dst: crate::secret::spdm_asym_sign
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:359,1
    - Dst: Self::as_ref
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:364,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs:359,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 101
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 367
      start: 323
    functionDepth: 10
    functionLinenumber: 323
    functionLinenumberEnd: 367
    functionName: ResponderContext::generate_challenge_auth_signature
    functionSourceFile: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs
    functionUses: 1
    functionsReached:
    - Self::reset_message
    - Self::append_message
    - crypto::hash::hash_all
    - get_signing_prefix_context
    - Self::as_ref
    - Option::ok_or
    - ManagedBufferM1M2::default
    - as_ref
    - crate::secret::spdm_asym_sign
    linkageType: ''
    returnType: SpdmResult
    signature: pub fn generate_challenge_auth_signature(&self) -> SpdmResult<SpdmSignatureStruct>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_none
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:38,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:41,1
    - Dst: get_next_half_session_id
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:44,1
    - Dst: reset_buffer_via_request_code
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:46,1
    - Dst: set_peer_used_cert_chain_slot_id
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:49,1
    - Dst: RequesterContext::encode_spdm_key_exchange
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:53,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 3
    argNames:
    - slot_id
    - measurement_summary_hash_type
    - send_buffer
    argTypes:
    - u8
    - SpdmMeasurementSummaryHashType
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 61
      start: 28
    functionDepth: 9
    functionLinenumber: 28
    functionLinenumberEnd: 61
    functionName: RequesterContext::init_spdm_key_exchange
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs
    functionUses: 1
    functionsReached:
    - set_peer_used_cert_chain_slot_id
    - Err
    - get_next_half_session_id
    - is_none
    - reset_buffer_via_request_code
    - RequesterContext::encode_spdm_key_exchange
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn init_spdm_key_exchange(&mut self,slot_id: u8,measurement_summary_hash_type:
      SpdmMeasurementSummaryHashType,send_buffer: &mut [u8],) -> SpdmResult<(u16,
      SpdmReqExchangeContext, usize)>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RequesterContext::receive_message
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:73,1
    - Dst: RequesterContext::handle_spdm_key_exchange_response
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:78,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:88,1
    - Dst: teardown
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:89,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:93,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:95,1
    - Dst: None::unwrap
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:95,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 5
    argNames:
    - req_session_id
    - slot_id
    - measurement_summary_hash_type
    - key_exchange_context
    - send_buffer
    argTypes:
    - u16
    - u8
    - SpdmMeasurementSummaryHashType
    - SpdmReqExchangeContext
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 97
      start: 64
    functionDepth: 13
    functionLinenumber: 64
    functionLinenumberEnd: 97
    functionName: RequesterContext::receive_spdm_key_exchange
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs
    functionUses: 1
    functionsReached:
    - teardown
    - Err
    - None::unwrap
    - RequesterContext::handle_spdm_key_exchange_response
    - get_session_via_id
    - Ok
    - RequesterContext::receive_message
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn receive_spdm_key_exchange(&mut self,req_session_id: u16,slot_id:
      u8,measurement_summary_hash_type: SpdmMeasurementSummaryHashType,key_exchange_context:
      SpdmReqExchangeContext,send_buffer: &[u8],) -> SpdmResult<u32>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RequesterContext::init_spdm_key_exchange
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:107,1
    - Dst: RequesterContext::send_message
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:110,1
    - Dst: RequesterContext::receive_spdm_key_exchange
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - slot_id
    - measurement_summary_hash_type
    argTypes:
    - u8
    - SpdmMeasurementSummaryHashType
    constantsTouched: []
    func_position:
      end: 120
      start: 100
    functionDepth: 11
    functionLinenumber: 100
    functionLinenumberEnd: 120
    functionName: RequesterContext::send_receive_spdm_key_exchange
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs
    functionUses: 1
    functionsReached:
    - RequesterContext::receive_spdm_key_exchange
    - RequesterContext::init_spdm_key_exchange
    - RequesterContext::send_message
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn send_receive_spdm_key_exchange(&mut self,slot_id: u8,measurement_summary_hash_type:
      SpdmMeasurementSummaryHashType,) -> SpdmResult<u32>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:129,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:136,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:142,1
    - Dst: crypto::rand::get_random
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:146,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:149,1
    - Dst: crypto::kem_decap::generate_key_pair
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:151,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:151,1
    - Dst: SpdmReqExchangeStruct::from_kem
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:154,1
    - Dst: SpdmReqExchangeContext::SpdmReqExchangeContextKem
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:155,1
    - Dst: crypto::dhe::generate_key_pair
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:159,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:159,1
    - Dst: SpdmReqExchangeStruct::from_dhe
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:162,1
    - Dst: SpdmReqExchangeContext::SpdmReqExchangeContextDhe
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:163,1
    - Dst: SecuredMessageVersion::default
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:171,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:174,1
    - Dst: flatten
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:174,1
    - Dst: SpdmOpaqueStruct::from_sm_supported_ver_list_opaque
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:180,1
    - Dst: SpdmMessagePayload::SpdmKeyExchangeRequest
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:192,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:202,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:203,1
    - Dst: Writer::used
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:203,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 100
    argCount: 4
    argNames:
    - req_session_id
    - buf
    - slot_id
    - measurement_summary_hash_type
    argTypes:
    - u16
    - '&mut [u8]'
    - u8
    - SpdmMeasurementSummaryHashType
    constantsTouched: []
    func_position:
      end: 204
      start: 122
    functionDepth: 10
    functionLinenumber: 122
    functionLinenumberEnd: 204
    functionName: RequesterContext::encode_spdm_key_exchange
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs
    functionUses: 1
    functionsReached:
    - Writer::used
    - Writer::init
    - crypto::dhe::generate_key_pair
    - SpdmKemAlgo::empty
    - SpdmReqExchangeContext::SpdmReqExchangeContextDhe
    - flatten
    - SecuredMessageVersion::default
    - Ok
    - crypto::rand::get_random
    - Err
    - crypto::kem_decap::generate_key_pair
    - SpdmReqExchangeStruct::from_dhe
    - spdm_encode
    - SpdmReqExchangeContext::SpdmReqExchangeContextKem
    - SpdmReqExchangeStruct::from_kem
    - iter
    - contains
    - Option::ok_or
    - SpdmOpaqueStruct::from_sm_supported_ver_list_opaque
    - SpdmMessagePayload::SpdmKeyExchangeRequest
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn encode_spdm_key_exchange(&mut self,req_session_id: u16,buf:
      &mut [u8],slot_id: u8,measurement_summary_hash_type: SpdmMeasurementSummaryHashType,)
      -> SpdmResult<(SpdmReqExchangeContext, usize)>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:222,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:227,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:234,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:235,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:238,1
    - Dst: SpdmKeyExchangeResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:242,1
    - Dst: Result::used
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:246,1
    - Dst: SpdmKemAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:258,1
    - Dst: to_kem
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:260,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:263,1
    - Dst: decap_key
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:267,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:267,1
    - Dst: to_dhe
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:271,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:274,1
    - Dst: compute_final_key
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:278,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:278,1
    - Dst: lock
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:292,1
    - Dst: deref_mut
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:294,1
    - Dst: get_sequence_number_count
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:295,1
    - Dst: lock
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:298,1
    - Dst: deref_mut
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:300,1
    - Dst: get_max_random_count
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:301,1
    - Dst: req_get_dmtf_secure_spdm_version_selection
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:304,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:304,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:316,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:318,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:320,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:320,1
    - Dst: crypto::hash::hash_all
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:326,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:328,1
    - Dst: get_certchain_hash_peer
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:331,1
    - Dst: SpdmResult::is_none
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:333,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:334,1
    - Dst: is_empty
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:338,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:339,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:344,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:350,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:355,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:363,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:365,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:373,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:380,1
    - Dst: set_local_used_cert_chain_slot_id
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:382,1
    - Dst: get_next_avaiable_session
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:387,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:387,1
    - Dst: setup
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:392,1
    - Dst: set_use_psk
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:394,1
    - Dst: set_mut_auth_requested
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:396,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:398,1
    - Dst: set_transport_param
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:405,1
    - Dst: set_shared_secret
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:406,1
    - Dst: get_asym_sig_size
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:412,1
    - Dst: get_hash_size
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:413,1
    - Dst: append_message_k
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:420,1
    - Dst: append_message_k
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:421,1
    - Dst: get_immutable_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:426,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:426,1
    - Dst: RequesterContext::verify_key_exchange_rsp_signature
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:432,1
    - Dst: SpdmResult::is_err
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:432,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:441,1
    - Dst: append_message_k
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:446,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:448,1
    - Dst: get_immutable_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:451,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:451,1
    - Dst: calc_req_transcript_hash
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:457,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:462,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:462,1
    - Dst: set_th1
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:466,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:466,1
    - Dst: generate_handshake_secret
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:467,1
    - Dst: get_immutable_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:470,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:470,1
    - Dst: calc_req_transcript_hash
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:476,1
    - Dst: get_immutable_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:480,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:480,1
    - Dst: verify_hmac_with_response_finished_key
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:485,1
    - Dst: SpdmResult::as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:487,1
    - Dst: SpdmResult::is_err
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:485,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:493,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:493,1
    - Dst: teardown
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:497,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:498,1
    - Dst: append_message_k
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:504,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:508,1
    - Dst: is_err
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:504,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:512,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:512,1
    - Dst: teardown
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:516,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:517,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:522,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:522,1
    - Dst: set_session_state
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:530,1
    - Dst: set_last_session_id
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:535,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:537,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:540,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:543,1
    - Dst: RequesterContext::spdm_handle_error_response_main
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:547,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:554,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:555,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:558,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:561,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 466
    argCount: 7
    argNames:
    - req_session_id
    - slot_id
    - send_buffer
    - receive_buffer
    - measurement_summary_hash_type
    - key_exchange_context
    - target_session_id
    argTypes:
    - u16
    - u8
    - '&[u8]'
    - '&[u8]'
    - SpdmMeasurementSummaryHashType
    - SpdmReqExchangeContext
    - '&mut Option<u32>'
    constantsTouched: []
    func_position:
      end: 563
      start: 207
    functionDepth: 11
    functionLinenumber: 207
    functionLinenumberEnd: 563
    functionName: RequesterContext::handle_spdm_key_exchange_response
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs
    functionUses: 1
    functionsReached:
    - teardown
    - Result::used
    - calc_req_transcript_hash
    - generate_handshake_secret
    - is_empty
    - compute_final_key
    - RequesterContext::spdm_handle_error_response_main
    - set_use_psk
    - ok_or
    - append_message_k
    - set_transport_param
    - decap_key
    - get_sequence_number_count
    - set_th1
    - set_shared_secret
    - SpdmKemAlgo::empty
    - get_immutable_session_via_id
    - set_session_state
    - clone
    - get_max_random_count
    - SpdmResult::as_ref
    - get_next_avaiable_session
    - Reader::init
    - get_session_via_id
    - is_err
    - get_asym_sig_size
    - Ok
    - Some
    - setup
    - set_last_session_id
    - crypto::hash::hash_all
    - SpdmResult::is_none
    - set_crypto_param
    - Err
    - SpdmMessageHeader::read
    - get_hash_size
    - SpdmResult::is_err
    - to_kem
    - set_mut_auth_requested
    - SpdmKeyExchangeResponsePayload::spdm_read
    - to_dhe
    - get_certchain_hash_peer
    - contains
    - RequesterContext::verify_key_exchange_rsp_signature
    - deref_mut
    - verify_hmac_with_response_finished_key
    - set_local_used_cert_chain_slot_id
    - as_ref
    - lock
    - req_get_dmtf_secure_spdm_version_selection
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn handle_spdm_key_exchange_response(&mut self,req_session_id:
      u16,slot_id: u8,send_buffer: &[u8],receive_buffer: &[u8],measurement_summary_hash_type:
      SpdmMeasurementSummaryHashType,key_exchange_context: SpdmReqExchangeContext,target_session_id:
      &mut Option<u32>,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calc_req_transcript_hash
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:644,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:652,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:652,1
    - Dst: is_none
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:660,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:662,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:664,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:664,1
    - Dst: get_size
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:668,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:669,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:669,1
    - Dst: calc_req_transcript_data
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:675,1
    - Dst: bool::reset_message
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:684,1
    - Dst: bool::append_message
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:685,1
    - Dst: get_signing_prefix_context
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:686,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:685,1
    - Dst: bool::append_message
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:688,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:688,1
    - Dst: bool::append_message
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:691,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:691,1
    - Dst: bool::append_message
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:694,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:695,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:694,1
    - Dst: SpdmDer::SpdmDerPubKeyRfc7250
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:700,1
    - Dst: SpdmDer::SpdmDerCertChain
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:702,1
    - Dst: crypto::spdm_asym_verify
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:705,1
    - Dst: bool::as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs:710,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 133
    argCount: 3
    argNames:
    - slot_id
    - session
    - signature
    argTypes:
    - u8
    - '&SpdmSession'
    - '&SpdmSignatureStruct'
    constantsTouched: []
    func_position:
      end: 713
      start: 638
    functionDepth: 11
    functionLinenumber: 638
    functionLinenumberEnd: 713
    functionName: RequesterContext::verify_key_exchange_rsp_signature
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs
    functionUses: 1
    functionsReached:
    - calc_req_transcript_hash
    - bool::as_ref
    - get_signing_prefix_context
    - Err
    - ok_or
    - Option::ok_or
    - calc_req_transcript_data
    - SpdmDer::SpdmDerCertChain
    - crypto::spdm_asym_verify
    - bool::reset_message
    - is_none
    - bool::append_message
    - get_size
    - as_ref
    - SpdmDer::SpdmDerPubKeyRfc7250
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn verify_key_exchange_rsp_signature(&self,slot_id: u8,session:
      &SpdmSession,signature: &SpdmSignatureStruct,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: construct_my_cert_chain
      Src: /src/spdm-rs/spdmlib/src/requester/mutual_authenticate.rs:15,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/mutual_authenticate.rs:17,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/mutual_authenticate.rs:17,1
    - Dst: get_mut_auth_requested
      Src: /src/spdm-rs/spdmlib/src/requester/mutual_authenticate.rs:22,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/mutual_authenticate.rs:24,1
    - Dst: RequesterContext::get_encapsulated_request_response
      Src: /src/spdm-rs/spdmlib/src/requester/mutual_authenticate.rs:27,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/mutual_authenticate.rs:30,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - session_id
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 32
      start: 14
    functionDepth: 10
    functionLinenumber: 14
    functionLinenumberEnd: 32
    functionName: RequesterContext::session_based_mutual_authenticate
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/mutual_authenticate.rs
    functionUses: 1
    functionsReached:
    - get_mut_auth_requested
    - construct_my_cert_chain
    - RequesterContext::get_encapsulated_request_response
    - Err
    - ok_or
    - get_session_via_id
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn session_based_mutual_authenticate(&mut self, session_id:
      u32) -> SpdmResult<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:27,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:31,1
    - Dst: crypto::rand::get_random
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:33,1
    - Dst: SpdmMessagePayload::SpdmGetMeasurementsRequest
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:41,1
    - Dst: '&SpdmMeasurementContextStruct::clone'
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:47,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 6
    argNames:
    - measurement_attributes
    - measurement_operation
    - spdm_nonce_struct
    - slot_id
    - requester_context
    - buf
    argTypes:
    - SpdmMeasurementAttributes
    - SpdmMeasurementOperation
    - Option<SpdmNonceStruct>
    - u8
    - '&SpdmMeasurementContextStruct'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 52
      start: 18
    functionDepth: 4
    functionLinenumber: 18
    functionLinenumberEnd: 52
    functionName: RequesterContext::encode_spdm_measurement_record
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs
    functionUses: 1
    functionsReached:
    - spdm_encode
    - crypto::rand::get_random
    - SpdmMessagePayload::SpdmGetMeasurementsRequest
    - Writer::init
    - '&SpdmMeasurementContextStruct::clone'
    - copy_from_slice
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn encode_spdm_measurement_record(&mut self,measurement_attributes:
      SpdmMeasurementAttributes,measurement_operation: SpdmMeasurementOperation,spdm_nonce_struct:
      Option<SpdmNonceStruct>,slot_id: u8,requester_context: &SpdmMeasurementContextStruct,buf:
      &mut [u8],) -> SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmMeasurementAttributes::contains
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:69,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:71,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:72,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:75,1
    - Dst: SpdmMeasurementsResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:79,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:79,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:90,1
    - Dst: Result::used
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:93,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:100,1
    - Dst: get_asym_sig_size
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:105,1
    - Dst: append_message_m
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:113,1
    - Dst: append_message_m
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:114,1
    - Dst: append_message
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:117,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:117,1
    - Dst: append_message
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:120,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:120,1
    - Dst: SpdmMeasurementAttributes::contains
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:124,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:127,1
    - Dst: is_empty
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:127,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:128,1
    - Dst: append_message
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:130,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:131,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:130,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:141,1
    - Dst: SpdmMeasurementAttributes::contains
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:144,1
    - Dst: RequesterContext::verify_measurement_signature
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:147,1
    - Dst: SpdmResult::is_err
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:147,1
    - Dst: reset_message_m
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:156,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:157,1
    - Dst: reset_message_m
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:159,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:170,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:173,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:175,1
    - Dst: RequesterContext::spdm_handle_error_response_main
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:179,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:186,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:187,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:190,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:193,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 190
    argCount: 10
    argNames:
    - session_id
    - slot_id
    - measurement_attributes
    - measurement_operation
    - requester_context
    - content_changed
    - spdm_measurement_record_structure
    - send_buffer
    - receive_buffer
    - transcript_meas
    argTypes:
    - Option<u32>
    - u8
    - SpdmMeasurementAttributes
    - SpdmMeasurementOperation
    - SpdmMeasurementContextStruct
    - '&mut Option<SpdmMeasurementContentChanged>'
    - '&mut SpdmMeasurementRecordStructure'
    - '&[u8]'
    - '&[u8]'
    - '&mut Option<ManagedBufferM>'
    constantsTouched: []
    func_position:
      end: 195
      start: 55
    functionDepth: 11
    functionLinenumber: 55
    functionLinenumberEnd: 195
    functionName: RequesterContext::handle_spdm_measurement_record_response
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs
    functionUses: 1
    functionsReached:
    - Result::used
    - RequesterContext::spdm_handle_error_response_main
    - is_empty
    - ok_or
    - RequesterContext::verify_measurement_signature
    - SpdmMeasurementsResponsePayload::spdm_read
    - Reader::init
    - Ok
    - get_asym_sig_size
    - Some
    - reset_message_m
    - append_message_m
    - Err
    - SpdmMessageHeader::read
    - SpdmResult::is_err
    - append_message
    - SpdmMeasurementAttributes::contains
    - Option::ok_or
    - as_ref
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn handle_spdm_measurement_record_response(&mut self,session_id:
      Option<u32>,slot_id: u8,measurement_attributes: SpdmMeasurementAttributes,measurement_operation:
      SpdmMeasurementOperation,requester_context: SpdmMeasurementContextStruct,content_changed:
      &mut Option<SpdmMeasurementContentChanged>,spdm_measurement_record_structure:
      &mut SpdmMeasurementRecordStructure,send_buffer: &[u8],receive_buffer: &[u8],transcript_meas:
      &mut Option<ManagedBufferM>,) -> SpdmResult<u8>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut Option<ManagedBufferM>::is_none'
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:210,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:211,1
    - Dst: ManagedBufferM::default
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:211,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:217,1
    - Dst: reset_buffer_via_request_code
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:220,1
    - Dst: RequesterContext::encode_spdm_measurement_record
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:225,1
    - Dst: RequesterContext::send_message
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:233,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:235,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 8
    argNames:
    - session_id
    - slot_id
    - spdm_measuremente_attributes
    - measurement_operation
    - spdm_nonce_struct
    - requester_context
    - transcript_meas
    - send_buffer
    argTypes:
    - Option<u32>
    - u8
    - SpdmMeasurementAttributes
    - SpdmMeasurementOperation
    - Option<SpdmNonceStruct>
    - '&SpdmMeasurementContextStruct'
    - '&mut Option<ManagedBufferM>'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 236
      start: 199
    functionDepth: 14
    functionLinenumber: 199
    functionLinenumberEnd: 236
    functionName: RequesterContext::send_spdm_measurement
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs
    functionUses: 1
    functionsReached:
    - RequesterContext::encode_spdm_measurement_record
    - Err
    - RequesterContext::send_message
    - '&mut Option<ManagedBufferM>::is_none'
    - reset_buffer_via_request_code
    - ManagedBufferM::default
    - Ok
    - Some
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn send_spdm_measurement(&mut self,session_id: Option<u32>,slot_id:
      u8,spdm_measuremente_attributes: SpdmMeasurementAttributes,measurement_operation:
      SpdmMeasurementOperation,spdm_nonce_struct: Option<SpdmNonceStruct>,requester_context:
      &SpdmMeasurementContextStruct,transcript_meas: &mut Option<ManagedBufferM>,send_buffer:
      &mut [u8],) -> SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RequesterContext::receive_message
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:255,1
    - Dst: RequesterContext::handle_spdm_measurement_record_response
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:259,1
    - Dst: reset_message_m
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:274,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:280,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 10
    argNames:
    - session_id
    - slot_id
    - spdm_measuremente_attributes
    - measurement_operation
    - requester_context
    - content_changed
    - out_total_number
    - spdm_measurement_record_structure
    - transcript_meas
    - send_buffer
    argTypes:
    - Option<u32>
    - u8
    - SpdmMeasurementAttributes
    - SpdmMeasurementOperation
    - SpdmMeasurementContextStruct
    - '&mut Option<SpdmMeasurementContentChanged>'
    - '&mut u8'
    - '&mut SpdmMeasurementRecordStructure'
    - '&mut Option<ManagedBufferM>'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 281
      start: 240
    functionDepth: 13
    functionLinenumber: 240
    functionLinenumberEnd: 281
    functionName: RequesterContext::receive_spdm_measurement
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs
    functionUses: 1
    functionsReached:
    - reset_message_m
    - RequesterContext::handle_spdm_measurement_record_response
    - Ok
    - RequesterContext::receive_message
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn receive_spdm_measurement(&mut self,session_id: Option<u32>,slot_id:
      u8,spdm_measuremente_attributes: SpdmMeasurementAttributes,measurement_operation:
      SpdmMeasurementOperation,requester_context: SpdmMeasurementContextStruct,content_changed:
      &mut Option<SpdmMeasurementContentChanged>,out_total_number: &mut u8,spdm_measurement_record_structure:
      &mut SpdmMeasurementRecordStructure,transcript_meas: &mut Option<ManagedBufferM>,send_buffer:
      &[u8],) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option<SpdmMeasurementContextStruct>::unwrap_or_default
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:299,1
    - Dst: RequesterContext::send_spdm_measurement
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:301,1
    - Dst: RequesterContext::receive_spdm_measurement
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:313,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 10
    argNames:
    - session_id
    - slot_id
    - spdm_measuremente_attributes
    - measurement_operation
    - spdm_nonce_struct
    - requester_context_struct
    - content_changed
    - out_total_number
    - spdm_measurement_record_structure
    - transcript_meas
    argTypes:
    - Option<u32>
    - u8
    - SpdmMeasurementAttributes
    - SpdmMeasurementOperation
    - Option<SpdmNonceStruct>
    - Option<SpdmMeasurementContextStruct>
    - '&mut Option<SpdmMeasurementContentChanged>'
    - '&mut u8'
    - '&mut SpdmMeasurementRecordStructure'
    - '&mut Option<ManagedBufferM>'
    constantsTouched: []
    func_position:
      end: 326
      start: 285
    functionDepth: 15
    functionLinenumber: 285
    functionLinenumberEnd: 326
    functionName: RequesterContext::send_receive_spdm_measurement
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs
    functionUses: 0
    functionsReached:
    - RequesterContext::receive_spdm_measurement
    - Option<SpdmMeasurementContextStruct>::unwrap_or_default
    - RequesterContext::send_spdm_measurement
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn send_receive_spdm_measurement(&mut self,session_id: Option<u32>,slot_id:
      u8,spdm_measuremente_attributes: SpdmMeasurementAttributes,measurement_operation:
      SpdmMeasurementOperation,spdm_nonce_struct: Option<SpdmNonceStruct>,requester_context_struct:
      Option<SpdmMeasurementContextStruct>, // requester context, this is only used
      if spdm version >= 0x13content_changed: &mut Option<SpdmMeasurementContentChanged>,
      // out, None if spdm version < 0x12out_total_number: &mut u8, // out, total
      number when measurement_operation = SpdmMeasurementQueryTotalNumber//      number
      of blocks got measured.spdm_measurement_record_structure: &mut SpdmMeasurementRecordStructure,
      // outtranscript_meas: &mut Option<ManagedBufferM>,                           //
      out) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ManagedBufferL1L2::default
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:426,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:429,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:430,1
    - Dst: SpdmResult::as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:431,1
    - Dst: Option::map_or_else
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:430,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:432,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:432,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:437,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:438,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:437,1
    - Dst: get_immutable_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:442,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:446,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:448,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:449,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:448,1
    - Dst: crypto::hash::hash_all
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:457,1
    - Dst: Self::as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:459,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:457,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:466,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:466,1
    - Dst: to_vec
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:472,1
    - Dst: SpdmDer::SpdmDerPubKeyRfc7250
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:473,1
    - Dst: is_none
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:475,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:477,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:479,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:479,1
    - Dst: get_hash_size
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:483,1
    - Dst: to_vec
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:482,1
    - Dst: SpdmDer::SpdmDerCertChain
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:485,1
    - Dst: Self::reset_message
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:489,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:490,1
    - Dst: get_signing_prefix_context
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:491,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:490,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:493,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:493,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:496,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:496,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:499,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:500,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:499,1
    - Dst: crypto::spdm_asym_verify
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:504,1
    - Dst: Self::as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs:509,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 186
    argCount: 3
    argNames:
    - slot_id
    - session_id
    - signature
    argTypes:
    - u8
    - Option<u32>
    - '&SpdmSignatureStruct'
    constantsTouched: []
    func_position:
      end: 512
      start: 420
    functionDepth: 10
    functionLinenumber: 420
    functionLinenumberEnd: 512
    functionName: RequesterContext::verify_measurement_signature
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs
    functionUses: 1
    functionsReached:
    - to_vec
    - ok_or
    - crypto::spdm_asym_verify
    - get_immutable_session_via_id
    - clone
    - SpdmResult::as_ref
    - Option::map_or_else
    - Ok
    - Self::reset_message
    - Self::append_message
    - crypto::hash::hash_all
    - Self::as_ref
    - Err
    - get_hash_size
    - SpdmDer::SpdmDerPubKeyRfc7250
    - ManagedBufferL1L2::default
    - get_signing_prefix_context
    - Option::ok_or
    - SpdmDer::SpdmDerCertChain
    - is_none
    - as_ref
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn verify_measurement_signature(&self,slot_id: u8,session_id:
      Option<u32>,signature: &SpdmSignatureStruct,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset_buffer_via_request_code
      Src: /src/spdm-rs/spdmlib/src/requester/heartbeat_req.rs:14,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/requester/heartbeat_req.rs:16,1
    - Dst: RequesterContext::encode_spdm_heartbeat
      Src: /src/spdm-rs/spdmlib/src/requester/heartbeat_req.rs:20,1
    - Dst: RequesterContext::send_message
      Src: /src/spdm-rs/spdmlib/src/requester/heartbeat_req.rs:21,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/requester/heartbeat_req.rs:21,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - session_id
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 23
      start: 11
    functionDepth: 14
    functionLinenumber: 11
    functionLinenumberEnd: 23
    functionName: RequesterContext::send_spdm_heartbeat
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/heartbeat_req.rs
    functionUses: 1
    functionsReached:
    - RequesterContext::encode_spdm_heartbeat
    - RequesterContext::send_message
    - reset_buffer_via_request_code
    - Some
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn send_spdm_heartbeat(&mut self, session_id: u32) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RequesterContext::receive_message
      Src: /src/spdm-rs/spdmlib/src/requester/heartbeat_req.rs:29,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/requester/heartbeat_req.rs:30,1
    - Dst: RequesterContext::handle_spdm_heartbeat_response
      Src: /src/spdm-rs/spdmlib/src/requester/heartbeat_req.rs:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - session_id
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 13
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: RequesterContext::receive_spdm_heartbeat
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/heartbeat_req.rs
    functionUses: 1
    functionsReached:
    - RequesterContext::handle_spdm_heartbeat_response
    - RequesterContext::receive_message
    - Some
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn receive_spdm_heartbeat(&mut self, session_id: u32) ->
      SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RequesterContext::send_spdm_heartbeat
      Src: /src/spdm-rs/spdmlib/src/requester/heartbeat_req.rs:37,1
    - Dst: RequesterContext::receive_spdm_heartbeat
      Src: /src/spdm-rs/spdmlib/src/requester/heartbeat_req.rs:38,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - session_id
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 15
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: RequesterContext::send_receive_spdm_heartbeat
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/heartbeat_req.rs
    functionUses: 0
    functionsReached:
    - RequesterContext::send_spdm_heartbeat
    - RequesterContext::receive_spdm_heartbeat
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn send_receive_spdm_heartbeat(&mut self, session_id: u32)
      -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/requester/heartbeat_req.rs:42,1
    - Dst: SpdmMessagePayload::SpdmHeartbeatRequest
      Src: /src/spdm-rs/spdmlib/src/requester/heartbeat_req.rs:48,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/requester/heartbeat_req.rs:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 51
      start: 41
    functionDepth: 4
    functionLinenumber: 41
    functionLinenumberEnd: 51
    functionName: RequesterContext::encode_spdm_heartbeat
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/heartbeat_req.rs
    functionUses: 1
    functionsReached:
    - Writer::init
    - spdm_encode
    - SpdmMessagePayload::SpdmHeartbeatRequest
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn encode_spdm_heartbeat(&mut self, buf: &mut [u8]) -> SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/requester/heartbeat_req.rs:58,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/requester/heartbeat_req.rs:59,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/heartbeat_req.rs:62,1
    - Dst: SpdmHeartbeatResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/requester/heartbeat_req.rs:67,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/heartbeat_req.rs:70,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/heartbeat_req.rs:73,1
    - Dst: RequesterContext::spdm_handle_error_response_main
      Src: /src/spdm-rs/spdmlib/src/requester/heartbeat_req.rs:76,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/requester/heartbeat_req.rs:78,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/heartbeat_req.rs:83,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/heartbeat_req.rs:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 2
    argNames:
    - session_id
    - receive_buffer
    argTypes:
    - u32
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 88
      start: 53
    functionDepth: 11
    functionLinenumber: 53
    functionLinenumberEnd: 88
    functionName: RequesterContext::handle_spdm_heartbeat_response
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/heartbeat_req.rs
    functionUses: 1
    functionsReached:
    - RequesterContext::spdm_handle_error_response_main
    - Some
    - Err
    - SpdmMessageHeader::read
    - SpdmHeartbeatResponsePayload::spdm_read
    - Ok
    - Reader::init
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn handle_spdm_heartbeat_response(&mut self,session_id: u32,receive_buffer:
      &[u8],) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset_buffer_via_request_code
      Src: /src/spdm-rs/spdmlib/src/requester/get_capabilities_req.rs:14,1
    - Dst: RequesterContext::encode_spdm_capability
      Src: /src/spdm-rs/spdmlib/src/requester/get_capabilities_req.rs:19,1
    - Dst: RequesterContext::send_message
      Src: /src/spdm-rs/spdmlib/src/requester/get_capabilities_req.rs:20,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/get_capabilities_req.rs:22,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - send_buffer
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 23
      start: 12
    functionDepth: 14
    functionLinenumber: 12
    functionLinenumberEnd: 23
    functionName: RequesterContext::send_spdm_capability
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/get_capabilities_req.rs
    functionUses: 1
    functionsReached:
    - RequesterContext::encode_spdm_capability
    - RequesterContext::send_message
    - reset_buffer_via_request_code
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn send_spdm_capability(&mut self, send_buffer: &mut [u8])
      -> SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RequesterContext::receive_message
      Src: /src/spdm-rs/spdmlib/src/requester/get_capabilities_req.rs:29,1
    - Dst: RequesterContext::handle_spdm_capability_response
      Src: /src/spdm-rs/spdmlib/src/requester/get_capabilities_req.rs:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - send_buffer
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 13
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: RequesterContext::receive_spdm_capability
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/get_capabilities_req.rs
    functionUses: 1
    functionsReached:
    - RequesterContext::handle_spdm_capability_response
    - RequesterContext::receive_message
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn receive_spdm_capability(&mut self, send_buffer: &[u8])
      -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RequesterContext::send_spdm_capability
      Src: /src/spdm-rs/spdmlib/src/requester/get_capabilities_req.rs:38,1
    - Dst: RequesterContext::receive_spdm_capability
      Src: /src/spdm-rs/spdmlib/src/requester/get_capabilities_req.rs:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 15
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: RequesterContext::send_receive_spdm_capability
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/get_capabilities_req.rs
    functionUses: 1
    functionsReached:
    - RequesterContext::receive_spdm_capability
    - RequesterContext::send_spdm_capability
    linkageType: ''
    returnType: SpdmResult
    signature: pub async fn send_receive_spdm_capability(&mut self) -> SpdmResult
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/requester/get_capabilities_req.rs:44,1
    - Dst: SpdmMessagePayload::SpdmGetCapabilitiesRequest
      Src: /src/spdm-rs/spdmlib/src/requester/get_capabilities_req.rs:50,1
    - Dst: SpdmRequestCapabilityExFlags::default
      Src: /src/spdm-rs/spdmlib/src/requester/get_capabilities_req.rs:56,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/get_capabilities_req.rs:57,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/requester/get_capabilities_req.rs:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 35
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 67
      start: 43
    functionDepth: 4
    functionLinenumber: 43
    functionLinenumberEnd: 67
    functionName: RequesterContext::encode_spdm_capability
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/get_capabilities_req.rs
    functionUses: 1
    functionsReached:
    - spdm_encode
    - SpdmMessagePayload::SpdmGetCapabilitiesRequest
    - contains
    - SpdmRequestCapabilityExFlags::default
    - Writer::init
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn encode_spdm_capability(&mut self, buf: &mut [u8]) -> SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/get_capabilities_req.rs:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: RequesterContext::get_peer_supported_algorithms
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/get_capabilities_req.rs
    functionUses: 0
    functionsReached:
    - as_ref
    linkageType: ''
    returnType: Option
    signature: pub fn get_peer_supported_algorithms(&self) -> Option<&SpdmSupportedAlgorithmsBlock>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/requester/get_capabilities_req.rs:85,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/requester/get_capabilities_req.rs:86,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/get_capabilities_req.rs:89,1
    - Dst: SpdmCapabilitiesResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/requester/get_capabilities_req.rs:93,1
    - Dst: Result::used
      Src: /src/spdm-rs/spdmlib/src/requester/get_capabilities_req.rs:97,1
    - Dst: append_message_a
      Src: /src/spdm-rs/spdmlib/src/requester/get_capabilities_req.rs:127,1
    - Dst: append_message_a
      Src: /src/spdm-rs/spdmlib/src/requester/get_capabilities_req.rs:128,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/get_capabilities_req.rs:130,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/get_capabilities_req.rs:133,1
    - Dst: RequesterContext::spdm_handle_error_response_main
      Src: /src/spdm-rs/spdmlib/src/requester/get_capabilities_req.rs:136,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/requester/get_capabilities_req.rs:138,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/get_capabilities_req.rs:143,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/get_capabilities_req.rs:146,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 117
    argCount: 3
    argNames:
    - session_id
    - send_buffer
    - receive_buffer
    argTypes:
    - u32
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 148
      start: 79
    functionDepth: 11
    functionLinenumber: 79
    functionLinenumberEnd: 148
    functionName: RequesterContext::handle_spdm_capability_response
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/get_capabilities_req.rs
    functionUses: 1
    functionsReached:
    - Result::used
    - RequesterContext::spdm_handle_error_response_main
    - SpdmCapabilitiesResponsePayload::spdm_read
    - Err
    - SpdmMessageHeader::read
    - append_message_a
    - Reader::init
    - Ok
    - Some
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn handle_spdm_capability_response(&mut self,session_id: u32,send_buffer:
      &[u8],receive_buffer: &[u8],) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset_context
      Src: /src/spdm-rs/spdmlib/src/requester/get_version_req.rs:16,1
    - Dst: RequesterContext::encode_spdm_version
      Src: /src/spdm-rs/spdmlib/src/requester/get_version_req.rs:18,1
    - Dst: RequesterContext::send_message
      Src: /src/spdm-rs/spdmlib/src/requester/get_version_req.rs:19,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/get_version_req.rs:21,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - send_buffer
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 22
      start: 14
    functionDepth: 14
    functionLinenumber: 14
    functionLinenumberEnd: 22
    functionName: RequesterContext::send_spdm_version
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/get_version_req.rs
    functionUses: 1
    functionsReached:
    - RequesterContext::encode_spdm_version
    - reset_context
    - RequesterContext::send_message
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn send_spdm_version(&mut self, send_buffer: &mut [u8])
      -> SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RequesterContext::receive_message
      Src: /src/spdm-rs/spdmlib/src/requester/get_version_req.rs:28,1
    - Dst: RequesterContext::handle_spdm_version_response
      Src: /src/spdm-rs/spdmlib/src/requester/get_version_req.rs:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - send_buffer
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 13
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: RequesterContext::receive_spdm_version
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/get_version_req.rs
    functionUses: 1
    functionsReached:
    - RequesterContext::handle_spdm_version_response
    - RequesterContext::receive_message
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn receive_spdm_version(&mut self, send_buffer: &[u8]) ->
      SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RequesterContext::send_spdm_version
      Src: /src/spdm-rs/spdmlib/src/requester/get_version_req.rs:37,1
    - Dst: RequesterContext::receive_spdm_version
      Src: /src/spdm-rs/spdmlib/src/requester/get_version_req.rs:38,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 15
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: RequesterContext::send_receive_spdm_version
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/get_version_req.rs
    functionUses: 1
    functionsReached:
    - RequesterContext::receive_spdm_version
    - RequesterContext::send_spdm_version
    linkageType: ''
    returnType: SpdmResult
    signature: pub async fn send_receive_spdm_version(&mut self) -> SpdmResult
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/requester/get_version_req.rs:42,1
    - Dst: SpdmMessagePayload::SpdmGetVersionRequest
      Src: /src/spdm-rs/spdmlib/src/requester/get_version_req.rs:48,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/requester/get_version_req.rs:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 51
      start: 41
    functionDepth: 4
    functionLinenumber: 41
    functionLinenumberEnd: 51
    functionName: RequesterContext::encode_spdm_version
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/get_version_req.rs
    functionUses: 1
    functionsReached:
    - Writer::init
    - spdm_encode
    - SpdmMessagePayload::SpdmGetVersionRequest
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn encode_spdm_version(&mut self, buf: &mut [u8]) -> SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/requester/get_version_req.rs:59,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/requester/get_version_req.rs:60,1
    - Dst: SpdmVersionResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/requester/get_version_req.rs:64,1
    - Dst: Result::used
      Src: /src/spdm-rs/spdmlib/src/requester/get_version_req.rs:65,1
    - Dst: sort_unstable_by
      Src: /src/spdm-rs/spdmlib/src/requester/get_version_req.rs:74,1
    - Dst: cmp
      Src: /src/spdm-rs/spdmlib/src/requester/get_version_req.rs:74,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/requester/get_version_req.rs:79,1
    - Dst: Self::IntoIter::take
      Src: /src/spdm-rs/spdmlib/src/requester/get_version_req.rs:79,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/get_version_req.rs:81,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/requester/get_version_req.rs:85,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/requester/get_version_req.rs:87,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/get_version_req.rs:103,1
    - Dst: reset_runtime_info
      Src: /src/spdm-rs/spdmlib/src/requester/get_version_req.rs:107,1
    - Dst: append_message_a
      Src: /src/spdm-rs/spdmlib/src/requester/get_version_req.rs:109,1
    - Dst: append_message_a
      Src: /src/spdm-rs/spdmlib/src/requester/get_version_req.rs:110,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/get_version_req.rs:112,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/get_version_req.rs:115,1
    - Dst: RequesterContext::spdm_handle_error_response_main
      Src: /src/spdm-rs/spdmlib/src/requester/get_version_req.rs:118,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/requester/get_version_req.rs:119,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/get_version_req.rs:124,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/get_version_req.rs:126,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 86
    argCount: 3
    argNames:
    - session_id
    - send_buffer
    - receive_buffer
    argTypes:
    - u32
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 128
      start: 53
    functionDepth: 11
    functionLinenumber: 53
    functionLinenumberEnd: 128
    functionName: RequesterContext::handle_spdm_version_response
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/get_version_req.rs
    functionUses: 1
    functionsReached:
    - Result::used
    - RequesterContext::spdm_handle_error_response_main
    - reset_runtime_info
    - iter
    - SpdmMessageHeader::read
    - contains
    - Err
    - append_message_a
    - sort_unstable_by
    - cmp
    - Self::IntoIter::take
    - SpdmVersionResponsePayload::spdm_read
    - Reader::init
    - Ok
    - Some
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn handle_spdm_version_response(&mut self,session_id: u32,send_buffer:
      &[u8],receive_buffer: &[u8],) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: common::SpdmContext::new
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - device_io
    - transport_encap
    - config_info
    - provision_info
    argTypes:
    - Arc<Mutex<dyn SpdmDeviceIo + Send + Sync>>
    - Arc<Mutex<dyn SpdmTransportEncap + Send + Sync>>
    - common::SpdmConfigInfo
    - common::SpdmProvisionInfo
    constantsTouched: []
    func_position:
      end: 41
      start: 27
    functionDepth: 6
    functionLinenumber: 27
    functionLinenumberEnd: 41
    functionName: RequesterContext::new
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/context.rs
    functionUses: 59
    functionsReached:
    - common::SpdmContext::new
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(device_io: Arc<Mutex<dyn SpdmDeviceIo + Send + Sync>>,transport_encap:
      Arc<Mutex<dyn SpdmTransportEncap + Send + Sync>>,config_info: common::SpdmConfigInfo,provision_info:
      common::SpdmProvisionInfo,) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RequesterContext::send_receive_spdm_version
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:49,1
    - Dst: RequesterContext::send_receive_spdm_capability
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:50,1
    - Dst: RequesterContext::send_receive_spdm_algorithm
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:51,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:52,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:52,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:53,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - transcript_vca
    argTypes:
    - '&mut Option<ManagedBufferA>'
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 16
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: RequesterContext::init_connection
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/context.rs
    functionUses: 0
    functionsReached:
    - clone
    - RequesterContext::send_receive_spdm_version
    - RequesterContext::send_receive_spdm_capability
    - RequesterContext::send_receive_spdm_algorithm
    - Ok
    - Some
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn init_connection(&mut self,transcript_vca: &mut Option<ManagedBufferA>,)
      -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RequesterContext::send_receive_spdm_key_exchange
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:64,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:71,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:76,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:82,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:82,1
    - Dst: get_mut_auth_requested
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:86,1
    - Dst: get_local_used_cert_chain_slot_id
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:88,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:91,1
    - Dst: get_local_used_cert_chain_slot_id
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:91,1
    - Dst: get_local_used_cert_chain_slot_id
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:92,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:95,1
    - Dst: RequesterContext::session_based_mutual_authenticate
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:100,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:101,1
    - Dst: get_local_used_cert_chain_slot_id
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:101,1
    - Dst: RequesterContext::send_receive_spdm_finish
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:108,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:110,1
    - Dst: RequesterContext::send_receive_spdm_psk_exchange
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:112,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:116,1
    - Dst: RequesterContext::send_receive_spdm_psk_finish
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:122,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:124,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 84
    argCount: 3
    argNames:
    - use_psk
    - slot_id
    - measurement_summary_hash_type
    argTypes:
    - bool
    - u8
    - SpdmMeasurementSummaryHashType
    constantsTouched: []
    func_position:
      end: 126
      start: 57
    functionDepth: 12
    functionLinenumber: 57
    functionLinenumberEnd: 126
    functionName: RequesterContext::start_session
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/context.rs
    functionUses: 0
    functionsReached:
    - get_mut_auth_requested
    - RequesterContext::send_receive_spdm_psk_finish
    - contains
    - ok_or
    - get_local_used_cert_chain_slot_id
    - RequesterContext::send_receive_spdm_psk_exchange
    - RequesterContext::session_based_mutual_authenticate
    - RequesterContext::send_receive_spdm_finish
    - RequesterContext::send_receive_spdm_key_exchange
    - get_session_via_id
    - Ok
    - Some
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn start_session(&mut self,use_psk: bool,slot_id: u8,measurement_summary_hash_type:
      SpdmMeasurementSummaryHashType,) -> SpdmResult<u32>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RequesterContext::send_receive_spdm_end_session
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - session_id
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 16
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: RequesterContext::end_session
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/context.rs
    functionUses: 0
    functionsReached:
    - RequesterContext::send_receive_spdm_end_session
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn end_session(&mut self, session_id: u32) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:141,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:143,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:146,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:147,1
    - Dst: RequesterContext::send_single_message
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:151,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:154,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:155,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:157,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:162,1
    - Dst: overflowing_add
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:173,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:175,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:176,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:176,1
    - Dst: RequesterContext::send_large_request
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:181,1
    - Dst: fill
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:185,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:188,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:194,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:198,1
    - Dst: RequesterContext::send_single_message
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:201,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 146
    argCount: 3
    argNames:
    - session_id
    - send_buffer
    - is_app_message
    argTypes:
    - Option<u32>
    - '&[u8]'
    - bool
    constantsTouched: []
    func_position:
      end: 204
      start: 134
    functionDepth: 13
    functionLinenumber: 134
    functionLinenumberEnd: 204
    functionName: RequesterContext::send_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/context.rs
    functionUses: 18
    functionsReached:
    - '&[u8]::len'
    - RequesterContext::send_large_request
    - Err
    - contains
    - RequesterContext::send_single_message
    - copy_from_slice
    - fill
    - overflowing_add
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn send_message(&mut self,session_id: Option<u32>,send_buffer:
      &[u8],is_app_message: bool,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:214,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:215,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:217,1
    - Dst: SpdmResult::is_none
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:220,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:221,1
    - Dst: encode_secured_message
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:226,1
    - Dst: encap
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:236,1
    - Dst: lock
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:241,1
    - Dst: deref_mut
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:242,1
    - Dst: send
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:244,1
    - Dst: Arc::new
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:244,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 57
    argCount: 3
    argNames:
    - session_id
    - send_buffer
    - is_app_message
    argTypes:
    - Option<u32>
    - '&[u8]'
    - bool
    constantsTouched: []
    func_position:
      end: 245
      start: 207
    functionDepth: 7
    functionLinenumber: 207
    functionLinenumberEnd: 245
    functionName: RequesterContext::send_single_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/context.rs
    functionUses: 3
    functionsReached:
    - Arc::new
    - '&[u8]::len'
    - SpdmResult::is_none
    - encap
    - Err
    - deref_mut
    - encode_secured_message
    - lock
    - send
    linkageType: ''
    returnType: SpdmResult
    signature: 'async fn send_single_message(&mut self,session_id: Option<u32>,send_buffer:
      &[u8],is_app_message: bool,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RequesterContext::receive_single_message
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:258,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:267,1
    - Dst: fill
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:271,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:274,1
    - Dst: RequesterContext::receive_single_message
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:276,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:282,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:283,1
    - Dst: SpdmMessageGeneralPayload::read
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:289,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:292,1
    - Dst: is_empty
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:304,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:305,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:310,1
    - Dst: is_empty
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:319,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:320,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:326,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:332,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:334,1
    - Dst: fill
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:340,1
    - Dst: RequesterContext::receive_large_response
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:345,1
    - Dst: fill
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:352,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:356,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:359,1
    - Dst: fill
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:367,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:373,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:376,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:380,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:384,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:388,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:393,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 249
    argCount: 3
    argNames:
    - session_id
    - receive_buffer
    - crypto_request
    argTypes:
    - Option<u32>
    - '&mut [u8]'
    - bool
    constantsTouched: []
    func_position:
      end: 397
      start: 248
    functionDepth: 12
    functionLinenumber: 248
    functionLinenumberEnd: 397
    functionName: RequesterContext::receive_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/context.rs
    functionUses: 18
    functionsReached:
    - is_empty
    - SpdmMessageGeneralPayload::read
    - get_u8
    - RequesterContext::receive_large_response
    - RequesterContext::receive_single_message
    - SpdmMessageHeader::read
    - contains
    - Err
    - u8::read
    - copy_from_slice
    - Reader::init
    - Ok
    - fill
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn receive_message(&mut self,session_id: Option<u32>,receive_buffer:
      &mut [u8],crypto_request: bool,) -> SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checked_shl
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:407,1
    - Dst: unwrap_or
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:407,1
    - Dst: lock
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:417,1
    - Dst: deref_mut
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:418,1
    - Dst: receive
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:420,1
    - Dst: Arc::new
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:421,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:421,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:420,1
    - Dst: decode_secured_message
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:427,1
    - Dst: decap
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:435,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 48
    argCount: 3
    argNames:
    - session_id
    - receive_buffer
    - crypto_request
    argTypes:
    - Option<u32>
    - '&mut [u8]'
    - bool
    constantsTouched: []
    func_position:
      end: 442
      start: 400
    functionDepth: 11
    functionLinenumber: 400
    functionLinenumberEnd: 442
    functionName: RequesterContext::receive_single_message
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/context.rs
    functionUses: 3
    functionsReached:
    - Arc::new
    - decap
    - map_err
    - receive
    - decode_secured_message
    - deref_mut
    - unwrap_or
    - lock
    - Mutex::new
    - checked_shl
    linkageType: ''
    returnType: SpdmResult
    signature: 'async fn receive_single_message(&mut self,session_id: Option<u32>,receive_buffer:
      &mut [u8],crypto_request: bool,) -> SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:453,1
    - Dst: SpdmMessagePayload::SpdmChunkGetRequest
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:460,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:465,1
    - Dst: RequesterContext::send_single_message
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:466,1
    - Dst: RequesterContext::receive_single_message
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:470,1
    - Dst: RequesterContext::handle_spdm_chunk_response
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:474,1
    - Dst: SpdmResult::map_err
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:474,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:480,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 62
    argCount: 2
    argNames:
    - session_id
    - crypto_request
    argTypes:
    - Option<u32>
    - bool
    constantsTouched: []
    func_position:
      end: 483
      start: 446
    functionDepth: 12
    functionLinenumber: 446
    functionLinenumberEnd: 483
    functionName: RequesterContext::receive_large_response
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/context.rs
    functionUses: 1
    functionsReached:
    - spdm_encode
    - RequesterContext::handle_spdm_chunk_response
    - SpdmResult::map_err
    - RequesterContext::receive_single_message
    - SpdmMessagePayload::SpdmChunkGetRequest
    - Writer::init
    - RequesterContext::send_single_message
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: 'async fn receive_large_response(&mut self,session_id: Option<u32>,crypto_request:
      bool,) -> SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:503,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:505,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:508,1
    - Dst: SpdmChunkResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:513,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:517,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:526,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:532,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:542,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:554,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:561,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:571,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:578,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:586,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:590,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:592,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:600,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:606,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:610,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:612,1
    - Dst: RequesterContext::spdm_handle_error_response_main
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:614,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:621,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:624,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 196
    argCount: 2
    argNames:
    - receive_buffer
    - session_id
    argTypes:
    - '&[u8]'
    - Option<u32>
    constantsTouched: []
    func_position:
      end: 626
      start: 486
    functionDepth: 11
    functionLinenumber: 486
    functionLinenumberEnd: 626
    functionName: RequesterContext::handle_spdm_chunk_response
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/context.rs
    functionUses: 1
    functionsReached:
    - SpdmChunkResponsePayload::spdm_read
    - RequesterContext::spdm_handle_error_response_main
    - Err
    - SpdmMessageHeader::read
    - contains
    - Reader::init
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: 'fn handle_spdm_chunk_response(&mut self,receive_buffer: &[u8],session_id:
      Option<u32>,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::cmp::min
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:636,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:645,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:647,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:654,1
    - Dst: SpdmChunkSenderAttributes::default
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:665,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:673,1
    - Dst: SpdmMessagePayload::SpdmChunkSendRequest
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:683,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:691,1
    - Dst: RequesterContext::send_single_message
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:693,1
    - Dst: RequesterContext::receive_single_message
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:696,1
    - Dst: RequesterContext::handle_spdm_chunk_send_ack_response
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:701,1
    - Dst: SpdmResult::map_err
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:701,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:712,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 108
    argCount: 2
    argNames:
    - session_id
    - send_buffer
    argTypes:
    - Option<u32>
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 713
      start: 630
    functionDepth: 12
    functionLinenumber: 630
    functionLinenumberEnd: 713
    functionName: RequesterContext::send_large_request
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/context.rs
    functionUses: 1
    functionsReached:
    - spdm_encode
    - '&[u8]::len'
    - SpdmResult::map_err
    - core::cmp::min
    - Err
    - RequesterContext::receive_single_message
    - Writer::init
    - SpdmMessagePayload::SpdmChunkSendRequest
    - RequesterContext::send_single_message
    - RequesterContext::handle_spdm_chunk_send_ack_response
    - SpdmChunkSenderAttributes::default
    - Ok
    - Some
    linkageType: ''
    returnType: SpdmResult
    signature: 'async fn send_large_request(&mut self,session_id: Option<u32>,send_buffer:
      &[u8],) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:727,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:728,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:731,1
    - Dst: SpdmChunkSendAckResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:735,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:740,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:744,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:748,1
    - Dst: SpdmMessageGeneralPayload::read
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:756,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:756,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:759,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:762,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:765,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:769,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:774,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:780,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:786,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:793,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:796,1
    - Dst: SpdmMessageGeneralPayload::read
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:801,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:804,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:807,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:810,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:812,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:816,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:819,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:823,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:826,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/context.rs:829,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 159
    argCount: 2
    argNames:
    - receive_buffer
    - early_error_detected
    argTypes:
    - '&[u8]'
    - '&mut bool'
    constantsTouched: []
    func_position:
      end: 831
      start: 716
    functionDepth: 11
    functionLinenumber: 716
    functionLinenumberEnd: 831
    functionName: RequesterContext::handle_spdm_chunk_send_ack_response
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/context.rs
    functionUses: 1
    functionsReached:
    - SpdmMessageGeneralPayload::read
    - SpdmChunkSendAckResponsePayload::spdm_read
    - get_u8
    - '&[u8]::len'
    - Err
    - SpdmMessageHeader::read
    - contains
    - Option::unwrap
    - copy_from_slice
    - Reader::init
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: 'fn handle_spdm_chunk_send_ack_response(&mut self,receive_buffer: &[u8],early_error_detected:
      &mut bool,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/requester/encap_digest.rs:26,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/encap_digest.rs:28,1
    - Dst: RequesterContext::encode_encap_error_response
      Src: /src/spdm-rs/spdmlib/src/requester/encap_digest.rs:34,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/requester/encap_digest.rs:42,1
    - Dst: RequesterContext::encode_encap_error_response
      Src: /src/spdm-rs/spdmlib/src/requester/encap_digest.rs:44,1
    - Dst: RequesterContext::encode_encap_error_response
      Src: /src/spdm-rs/spdmlib/src/requester/encap_digest.rs:52,1
    - Dst: SpdmGetDigestsRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/requester/encap_digest.rs:61,1
    - Dst: RequesterContext::encode_encap_error_response
      Src: /src/spdm-rs/spdmlib/src/requester/encap_digest.rs:66,1
    - Dst: is_some
      Src: /src/spdm-rs/spdmlib/src/requester/encap_digest.rs:76,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/spdmlib/src/requester/encap_digest.rs:81,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/spdmlib/src/requester/encap_digest.rs:82,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/spdmlib/src/requester/encap_digest.rs:86,1
    - Dst: SpdmKeyUsageMask::empty
      Src: /src/spdm-rs/spdmlib/src/requester/encap_digest.rs:86,1
    - Dst: is_some
      Src: /src/spdm-rs/spdmlib/src/requester/encap_digest.rs:93,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/requester/encap_digest.rs:95,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/requester/encap_digest.rs:97,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/requester/encap_digest.rs:99,1
    - Dst: SpdmMessagePayload::SpdmDigestsResponse
      Src: /src/spdm-rs/spdmlib/src/requester/encap_digest.rs:110,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/spdmlib/src/requester/encap_digest.rs:112,1
    - Dst: get_hash_size
      Src: /src/spdm-rs/spdmlib/src/requester/encap_digest.rs:114,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/requester/encap_digest.rs:115,1
    - Dst: SpdmResult::spdm_encode
      Src: /src/spdm-rs/spdmlib/src/requester/encap_digest.rs:126,1
    - Dst: Result::is_err
      Src: /src/spdm-rs/spdmlib/src/requester/encap_digest.rs:126,1
    - Dst: RequesterContext::encode_encap_error_response
      Src: /src/spdm-rs/spdmlib/src/requester/encap_digest.rs:130,1
    - Dst: is_some
      Src: /src/spdm-rs/spdmlib/src/requester/encap_digest.rs:139,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/encap_digest.rs:140,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/requester/encap_digest.rs:140,1
    - Dst: crypto::hash::hash_all
      Src: /src/spdm-rs/spdmlib/src/requester/encap_digest.rs:143,1
    - Dst: SpdmResult::as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/encap_digest.rs:145,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib/src/requester/encap_digest.rs:143,1
    - Dst: '&mut Writer::used'
      Src: /src/spdm-rs/spdmlib/src/requester/encap_digest.rs:150,1
    - Dst: '&mut Writer::mut_used_slice'
      Src: /src/spdm-rs/spdmlib/src/requester/encap_digest.rs:151,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/requester/encap_digest.rs:151,1
    - Dst: SpdmResult::as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/encap_digest.rs:152,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 189
    argCount: 2
    argNames:
    - encap_request
    - encap_response
    argTypes:
    - '&[u8]'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 156
      start: 25
    functionDepth: 11
    functionLinenumber: 25
    functionLinenumberEnd: 156
    functionName: RequesterContext::encap_handle_get_digest
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/encap_digest.rs
    functionUses: 1
    functionsReached:
    - '&mut Writer::mut_used_slice'
    - RequesterContext::encode_encap_error_response
    - unwrap
    - Option::unwrap
    - gen_array_clone
    - SpdmResult::as_ref
    - SpdmResult::spdm_encode
    - Reader::init
    - crypto::hash::hash_all
    - Result::is_err
    - SpdmMessagePayload::SpdmDigestsResponse
    - is_some
    - SpdmKeyUsageMask::empty
    - SpdmMessageHeader::read
    - get_hash_size
    - '&mut Writer::used'
    - contains
    - Box::new
    - copy_from_slice
    - as_ref
    - SpdmGetDigestsRequestPayload::spdm_read
    linkageType: ''
    returnType: void
    signature: 'pub fn encap_handle_get_digest(&mut self, encap_request: &[u8], encap_response:
      &mut Writer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:27,1
    - Dst: reset_buffer_via_request_code
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:30,1
    - Dst: Option<&SpdmChallengeContextStruct>::cloned
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:33,1
    - Dst: unwrap_or_default
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:33,1
    - Dst: RequesterContext::encode_spdm_challenge
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:35,1
    - Dst: RequesterContext::send_message
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:41,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:43,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 4
    argNames:
    - slot_id
    - measurement_summary_hash_type
    - requester_context_struct
    - send_buffer
    argTypes:
    - u8
    - SpdmMeasurementSummaryHashType
    - Option<&SpdmChallengeContextStruct>
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 44
      start: 18
    functionDepth: 14
    functionLinenumber: 18
    functionLinenumberEnd: 44
    functionName: RequesterContext::send_spdm_challenge
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs
    functionUses: 1
    functionsReached:
    - Err
    - RequesterContext::send_message
    - unwrap_or_default
    - Option<&SpdmChallengeContextStruct>::cloned
    - reset_buffer_via_request_code
    - Ok
    - RequesterContext::encode_spdm_challenge
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn send_spdm_challenge(&mut self,slot_id: u8,measurement_summary_hash_type:
      SpdmMeasurementSummaryHashType,requester_context_struct: Option<&SpdmChallengeContextStruct>,send_buffer:
      &mut [u8],) -> SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RequesterContext::receive_message
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:56,1
    - Dst: RequesterContext::handle_spdm_challenge_response
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - slot_id
    - measurement_summary_hash_type
    - requester_context
    - send_buffer
    argTypes:
    - u8
    - SpdmMeasurementSummaryHashType
    - SpdmChallengeContextStruct
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 67
      start: 47
    functionDepth: 13
    functionLinenumber: 47
    functionLinenumberEnd: 67
    functionName: RequesterContext::receive_spdm_challenge
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs
    functionUses: 1
    functionsReached:
    - RequesterContext::handle_spdm_challenge_response
    - RequesterContext::receive_message
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn receive_spdm_challenge(&mut self,slot_id: u8,measurement_summary_hash_type:
      SpdmMeasurementSummaryHashType,requester_context: SpdmChallengeContextStruct,send_buffer:
      &[u8],) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option<SpdmChallengeContextStruct>::as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:78,1
    - Dst: RequesterContext::send_spdm_challenge
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:80,1
    - Dst: RequesterContext::receive_spdm_challenge
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:89,1
    - Dst: Option<SpdmChallengeContextStruct>::unwrap_or_default
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - slot_id
    - measurement_summary_hash_type
    - requester_context_struct
    argTypes:
    - u8
    - SpdmMeasurementSummaryHashType
    - Option<SpdmChallengeContextStruct>
    constantsTouched: []
    func_position:
      end: 96
      start: 70
    functionDepth: 15
    functionLinenumber: 70
    functionLinenumberEnd: 96
    functionName: RequesterContext::send_receive_spdm_challenge
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs
    functionUses: 0
    functionsReached:
    - Option<SpdmChallengeContextStruct>::as_ref
    - Option<SpdmChallengeContextStruct>::unwrap_or_default
    - RequesterContext::receive_spdm_challenge
    - RequesterContext::send_spdm_challenge
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn send_receive_spdm_challenge(&mut self,slot_id: u8,measurement_summary_hash_type:
      SpdmMeasurementSummaryHashType,requester_context_struct: Option<SpdmChallengeContextStruct>,)
      -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:105,1
    - Dst: crypto::rand::get_random
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:108,1
    - Dst: SpdmMessagePayload::SpdmChallengeRequest
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:115,1
    - Dst: '&SpdmChallengeContextStruct::clone'
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:119,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 4
    argNames:
    - slot_id
    - measurement_summary_hash_type
    - buf
    - requester_context
    argTypes:
    - u8
    - SpdmMeasurementSummaryHashType
    - '&mut [u8]'
    - '&SpdmChallengeContextStruct'
    constantsTouched: []
    func_position:
      end: 123
      start: 98
    functionDepth: 4
    functionLinenumber: 98
    functionLinenumberEnd: 123
    functionName: RequesterContext::encode_spdm_challenge
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs
    functionUses: 1
    functionsReached:
    - spdm_encode
    - SpdmMessagePayload::SpdmChallengeRequest
    - crypto::rand::get_random
    - Writer::init
    - '&SpdmChallengeContextStruct::clone'
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn encode_spdm_challenge(&mut self,slot_id: u8,measurement_summary_hash_type:
      SpdmMeasurementSummaryHashType,buf: &mut [u8],requester_context: &SpdmChallengeContextStruct,)
      -> SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:139,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:140,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:143,1
    - Dst: SpdmChallengeAuthResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:147,1
    - Dst: Result::used
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:151,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:161,1
    - Dst: RequesterContext::verify_challenge_auth_cert_chain_hash
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:164,1
    - Dst: SpdmResult::is_err
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:164,1
    - Dst: reset_message_b
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:172,1
    - Dst: reset_message_c
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:173,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:174,1
    - Dst: get_asym_sig_size
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:178,1
    - Dst: append_message_c
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:181,1
    - Dst: append_message_c
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:182,1
    - Dst: RequesterContext::verify_challenge_auth_signature
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:184,1
    - Dst: SpdmResult::is_err
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:184,1
    - Dst: reset_message_b
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:189,1
    - Dst: reset_message_c
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:190,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:191,1
    - Dst: reset_message_b
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:193,1
    - Dst: reset_message_c
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:194,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:198,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:201,1
    - Dst: RequesterContext::spdm_handle_error_response_main
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:204,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:206,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:211,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:214,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 128
    argCount: 6
    argNames:
    - session_id
    - slot_id
    - measurement_summary_hash_type
    - requester_context
    - send_buffer
    - receive_buffer
    argTypes:
    - u32
    - u8
    - SpdmMeasurementSummaryHashType
    - SpdmChallengeContextStruct
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 216
      start: 125
    functionDepth: 11
    functionLinenumber: 125
    functionLinenumberEnd: 216
    functionName: RequesterContext::handle_spdm_challenge_response
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs
    functionUses: 1
    functionsReached:
    - Result::used
    - RequesterContext::spdm_handle_error_response_main
    - reset_message_b
    - Some
    - Ok
    - reset_message_c
    - RequesterContext::verify_challenge_auth_signature
    - Err
    - SpdmMessageHeader::read
    - SpdmResult::is_err
    - append_message_c
    - Reader::init
    - get_asym_sig_size
    - RequesterContext::verify_challenge_auth_cert_chain_hash
    - SpdmChallengeAuthResponsePayload::spdm_read
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn handle_spdm_challenge_response(&mut self,session_id: u32,slot_id:
      u8,measurement_summary_hash_type: SpdmMeasurementSummaryHashType,requester_context:
      SpdmChallengeContextStruct,send_buffer: &[u8],receive_buffer: &[u8],) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:225,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:225,1
    - Dst: crypto::hash::hash_all
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:231,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:233,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:235,1
    - Dst: crypto::hash::hash_all
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:237,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:239,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:239,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:239,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:244,1
    - Dst: is_none
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:247,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:249,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:252,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:263,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:266,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 74
    argCount: 2
    argNames:
    - slot_id
    - cert_chain_hash
    argTypes:
    - u8
    - '&SpdmDigestStruct'
    constantsTouched: []
    func_position:
      end: 267
      start: 218
    functionDepth: 10
    functionLinenumber: 218
    functionLinenumberEnd: 267
    functionName: RequesterContext::verify_challenge_auth_cert_chain_hash
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs
    functionUses: 1
    functionsReached:
    - crypto::hash::hash_all
    - unwrap
    - Err
    - ok_or
    - is_none
    - as_ref
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn verify_challenge_auth_cert_chain_hash(&self,slot_id: u8,cert_chain_hash:
      &SpdmDigestStruct,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ManagedBufferM1M2::default
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:347,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:348,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:349,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:348,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:351,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:352,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:351,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:354,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:355,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:354,1
    - Dst: crypto::hash::hash_all
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:360,1
    - Dst: Self::as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:362,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:360,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:369,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:369,1
    - Dst: to_vec
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:375,1
    - Dst: SpdmDer::SpdmDerPubKeyRfc7250
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:376,1
    - Dst: is_none
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:378,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:380,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:382,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:382,1
    - Dst: get_hash_size
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:386,1
    - Dst: to_vec
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:385,1
    - Dst: SpdmDer::SpdmDerCertChain
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:388,1
    - Dst: Self::reset_message
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:392,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:393,1
    - Dst: get_signing_prefix_context
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:394,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:393,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:396,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:396,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:399,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:399,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:402,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:403,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:402,1
    - Dst: crypto::spdm_asym_verify
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:407,1
    - Dst: Self::as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs:412,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 164
    argCount: 2
    argNames:
    - slot_id
    - signature
    argTypes:
    - u8
    - '&SpdmSignatureStruct'
    constantsTouched: []
    func_position:
      end: 415
      start: 342
    functionDepth: 10
    functionLinenumber: 342
    functionLinenumberEnd: 415
    functionName: RequesterContext::verify_challenge_auth_signature
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs
    functionUses: 1
    functionsReached:
    - Self::reset_message
    - Self::append_message
    - crypto::hash::hash_all
    - get_signing_prefix_context
    - Self::as_ref
    - to_vec
    - Option::ok_or
    - ManagedBufferM1M2::default
    - ok_or
    - Err
    - get_hash_size
    - SpdmDer::SpdmDerCertChain
    - crypto::spdm_asym_verify
    - is_none
    - as_ref
    - SpdmDer::SpdmDerPubKeyRfc7250
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn verify_challenge_auth_signature(&self,slot_id: u8,signature:
      &SpdmSignatureStruct,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset_buffer_via_request_code
      Src: /src/spdm-rs/spdmlib/src/requester/get_digests_req.rs:19,1
    - Dst: RequesterContext::encode_spdm_digest
      Src: /src/spdm-rs/spdmlib/src/requester/get_digests_req.rs:24,1
    - Dst: RequesterContext::send_message
      Src: /src/spdm-rs/spdmlib/src/requester/get_digests_req.rs:26,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/get_digests_req.rs:29,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - session_id
    - send_buffer
    argTypes:
    - Option<u32>
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 30
      start: 12
    functionDepth: 14
    functionLinenumber: 12
    functionLinenumberEnd: 30
    functionName: RequesterContext::send_spdm_digest
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/get_digests_req.rs
    functionUses: 1
    functionsReached:
    - RequesterContext::encode_spdm_digest
    - RequesterContext::send_message
    - reset_buffer_via_request_code
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn send_spdm_digest(&mut self,session_id: Option<u32>,send_buffer:
      &mut [u8],) -> SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RequesterContext::receive_message
      Src: /src/spdm-rs/spdmlib/src/requester/get_digests_req.rs:40,1
    - Dst: RequesterContext::handle_spdm_digest_response
      Src: /src/spdm-rs/spdmlib/src/requester/get_digests_req.rs:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - session_id
    - send_buffer
    argTypes:
    - Option<u32>
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 13
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: RequesterContext::receive_spdm_digest
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/get_digests_req.rs
    functionUses: 1
    functionsReached:
    - RequesterContext::receive_message
    - RequesterContext::handle_spdm_digest_response
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn receive_spdm_digest(&mut self,session_id: Option<u32>,send_buffer:
      &[u8],) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RequesterContext::send_spdm_digest
      Src: /src/spdm-rs/spdmlib/src/requester/get_digests_req.rs:50,1
    - Dst: RequesterContext::receive_spdm_digest
      Src: /src/spdm-rs/spdmlib/src/requester/get_digests_req.rs:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - session_id
    argTypes:
    - Option<u32>
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 15
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: RequesterContext::send_receive_spdm_digest
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/get_digests_req.rs
    functionUses: 0
    functionsReached:
    - RequesterContext::send_spdm_digest
    - RequesterContext::receive_spdm_digest
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn send_receive_spdm_digest(&mut self, session_id: Option<u32>)
      -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/requester/get_digests_req.rs:56,1
    - Dst: SpdmMessagePayload::SpdmGetDigestsRequest
      Src: /src/spdm-rs/spdmlib/src/requester/get_digests_req.rs:62,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/requester/get_digests_req.rs:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 65
      start: 55
    functionDepth: 4
    functionLinenumber: 55
    functionLinenumberEnd: 65
    functionName: RequesterContext::encode_spdm_digest
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/get_digests_req.rs
    functionUses: 1
    functionsReached:
    - Writer::init
    - spdm_encode
    - SpdmMessagePayload::SpdmGetDigestsRequest
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn encode_spdm_digest(&mut self, buf: &mut [u8]) -> SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/requester/get_digests_req.rs:73,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/requester/get_digests_req.rs:74,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/get_digests_req.rs:77,1
    - Dst: SpdmDigestsResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/requester/get_digests_req.rs:82,1
    - Dst: Result::used
      Src: /src/spdm-rs/spdmlib/src/requester/get_digests_req.rs:83,1
    - Dst: append_message_b
      Src: /src/spdm-rs/spdmlib/src/requester/get_digests_req.rs:89,1
    - Dst: append_message_b
      Src: /src/spdm-rs/spdmlib/src/requester/get_digests_req.rs:90,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/requester/get_digests_req.rs:111,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/requester/get_digests_req.rs:113,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/requester/get_digests_req.rs:115,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/get_digests_req.rs:121,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/get_digests_req.rs:124,1
    - Dst: RequesterContext::spdm_handle_error_response_main
      Src: /src/spdm-rs/spdmlib/src/requester/get_digests_req.rs:127,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/get_digests_req.rs:134,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/get_digests_req.rs:137,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 117
    argCount: 3
    argNames:
    - session_id
    - send_buffer
    - receive_buffer
    argTypes:
    - Option<u32>
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 139
      start: 67
    functionDepth: 11
    functionLinenumber: 67
    functionLinenumberEnd: 139
    functionName: RequesterContext::handle_spdm_digest_response
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/get_digests_req.rs
    functionUses: 1
    functionsReached:
    - Result::used
    - RequesterContext::spdm_handle_error_response_main
    - Err
    - SpdmMessageHeader::read
    - SpdmDigestsResponsePayload::spdm_read
    - append_message_b
    - Reader::init
    - Ok
    - Some
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn handle_spdm_digest_response(&mut self,session_id: Option<u32>,send_buffer:
      &[u8],receive_buffer: &[u8],) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset_buffer_via_request_code
      Src: /src/spdm-rs/spdmlib/src/requester/end_session_req.rs:20,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/requester/end_session_req.rs:22,1
    - Dst: RequesterContext::encode_spdm_end_session
      Src: /src/spdm-rs/spdmlib/src/requester/end_session_req.rs:25,1
    - Dst: RequesterContext::send_message
      Src: /src/spdm-rs/spdmlib/src/requester/end_session_req.rs:26,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/requester/end_session_req.rs:26,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/end_session_req.rs:28,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - session_id
    - send_buffer
    argTypes:
    - u32
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 29
      start: 14
    functionDepth: 14
    functionLinenumber: 14
    functionLinenumberEnd: 29
    functionName: RequesterContext::send_spdm_end_session
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/end_session_req.rs
    functionUses: 1
    functionsReached:
    - RequesterContext::send_message
    - RequesterContext::encode_spdm_end_session
    - reset_buffer_via_request_code
    - Ok
    - Some
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn send_spdm_end_session(&mut self,session_id: u32,send_buffer:
      &mut [u8],) -> SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RequesterContext::receive_message
      Src: /src/spdm-rs/spdmlib/src/requester/end_session_req.rs:35,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/requester/end_session_req.rs:36,1
    - Dst: RequesterContext::handle_spdm_end_session_response
      Src: /src/spdm-rs/spdmlib/src/requester/end_session_req.rs:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - session_id
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 13
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: RequesterContext::receive_spdm_end_session
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/end_session_req.rs
    functionUses: 1
    functionsReached:
    - RequesterContext::handle_spdm_end_session_response
    - RequesterContext::receive_message
    - Some
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn receive_spdm_end_session(&mut self, session_id: u32)
      -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RequesterContext::send_spdm_end_session
      Src: /src/spdm-rs/spdmlib/src/requester/end_session_req.rs:46,1
    - Dst: RequesterContext::receive_spdm_end_session
      Src: /src/spdm-rs/spdmlib/src/requester/end_session_req.rs:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - session_id
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 15
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: RequesterContext::send_receive_spdm_end_session
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/end_session_req.rs
    functionUses: 1
    functionsReached:
    - RequesterContext::send_spdm_end_session
    - RequesterContext::receive_spdm_end_session
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn send_receive_spdm_end_session(&mut self, session_id:
      u32) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/requester/end_session_req.rs:52,1
    - Dst: SpdmMessagePayload::SpdmEndSessionRequest
      Src: /src/spdm-rs/spdmlib/src/requester/end_session_req.rs:59,1
    - Dst: SpdmEndSessionRequestAttributes::empty
      Src: /src/spdm-rs/spdmlib/src/requester/end_session_req.rs:60,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/requester/end_session_req.rs:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 64
      start: 51
    functionDepth: 4
    functionLinenumber: 51
    functionLinenumberEnd: 64
    functionName: RequesterContext::encode_spdm_end_session
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/end_session_req.rs
    functionUses: 1
    functionsReached:
    - Writer::init
    - SpdmMessagePayload::SpdmEndSessionRequest
    - SpdmEndSessionRequestAttributes::empty
    - spdm_encode
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn encode_spdm_end_session(&mut self, buf: &mut [u8]) -> SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/requester/end_session_req.rs:71,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/requester/end_session_req.rs:72,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/end_session_req.rs:75,1
    - Dst: SpdmEndSessionResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/requester/end_session_req.rs:80,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/end_session_req.rs:85,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/end_session_req.rs:88,1
    - Dst: teardown
      Src: /src/spdm-rs/spdmlib/src/requester/end_session_req.rs:90,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/end_session_req.rs:92,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/end_session_req.rs:95,1
    - Dst: RequesterContext::spdm_handle_error_response_main
      Src: /src/spdm-rs/spdmlib/src/requester/end_session_req.rs:98,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/requester/end_session_req.rs:100,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/end_session_req.rs:105,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/end_session_req.rs:108,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 44
    argCount: 2
    argNames:
    - session_id
    - receive_buffer
    argTypes:
    - u32
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 110
      start: 66
    functionDepth: 11
    functionLinenumber: 66
    functionLinenumberEnd: 110
    functionName: RequesterContext::handle_spdm_end_session_response
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/end_session_req.rs
    functionUses: 1
    functionsReached:
    - teardown
    - RequesterContext::spdm_handle_error_response_main
    - Err
    - SpdmMessageHeader::read
    - SpdmEndSessionResponsePayload::spdm_read
    - Reader::init
    - get_session_via_id
    - Ok
    - Some
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn handle_spdm_end_session_response(&mut self,session_id: u32,receive_buffer:
      &[u8],) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset_buffer_via_request_code
      Src: /src/spdm-rs/spdmlib/src/requester/key_update_req.rs:22,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/requester/key_update_req.rs:24,1
    - Dst: RequesterContext::encode_spdm_key_update_op
      Src: /src/spdm-rs/spdmlib/src/requester/key_update_req.rs:28,1
    - Dst: RequesterContext::send_message
      Src: /src/spdm-rs/spdmlib/src/requester/key_update_req.rs:29,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/requester/key_update_req.rs:29,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/key_update_req.rs:32,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - session_id
    - key_update_operation
    - tag
    argTypes:
    - u32
    - SpdmKeyUpdateOperation
    - u8
    constantsTouched: []
    func_position:
      end: 33
      start: 14
    functionDepth: 14
    functionLinenumber: 14
    functionLinenumberEnd: 33
    functionName: RequesterContext::send_spdm_key_update
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/key_update_req.rs
    functionUses: 1
    functionsReached:
    - RequesterContext::send_message
    - RequesterContext::encode_spdm_key_update_op
    - reset_buffer_via_request_code
    - Ok
    - Some
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn send_spdm_key_update(&mut self,session_id: u32,key_update_operation:
      SpdmKeyUpdateOperation,tag: u8,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/key_update_req.rs:47,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/key_update_req.rs:50,1
    - Dst: create_data_secret_update
      Src: /src/spdm-rs/spdmlib/src/requester/key_update_req.rs:52,1
    - Dst: RequesterContext::receive_message
      Src: /src/spdm-rs/spdmlib/src/requester/key_update_req.rs:55,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/requester/key_update_req.rs:56,1
    - Dst: RequesterContext::handle_spdm_key_update_op_response
      Src: /src/spdm-rs/spdmlib/src/requester/key_update_req.rs:59,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 2
    argNames:
    - session_id
    - key_update_operation
    argTypes:
    - u32
    - SpdmKeyUpdateOperation
    constantsTouched: []
    func_position:
      end: 65
      start: 36
    functionDepth: 12
    functionLinenumber: 36
    functionLinenumberEnd: 65
    functionName: RequesterContext::receive_spdm_key_update
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/key_update_req.rs
    functionUses: 1
    functionsReached:
    - create_data_secret_update
    - Err
    - RequesterContext::handle_spdm_key_update_op_response
    - get_session_via_id
    - RequesterContext::receive_message
    - Some
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn receive_spdm_key_update(&mut self,session_id: u32,key_update_operation:
      SpdmKeyUpdateOperation,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/requester/key_update_req.rs:73,1
    - Dst: SpdmMessagePayload::SpdmKeyUpdateRequest
      Src: /src/spdm-rs/spdmlib/src/requester/key_update_req.rs:79,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/requester/key_update_req.rs:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - key_update_operation
    - tag
    - buf
    argTypes:
    - SpdmKeyUpdateOperation
    - u8
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 85
      start: 67
    functionDepth: 4
    functionLinenumber: 67
    functionLinenumberEnd: 85
    functionName: RequesterContext::encode_spdm_key_update_op
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/key_update_req.rs
    functionUses: 1
    functionsReached:
    - Writer::init
    - spdm_encode
    - SpdmMessagePayload::SpdmKeyUpdateRequest
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn encode_spdm_key_update_op(&mut self,key_update_operation: SpdmKeyUpdateOperation,tag:
      u8,buf: &mut [u8],) -> SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/requester/key_update_req.rs:94,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/requester/key_update_req.rs:95,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/key_update_req.rs:98,1
    - Dst: SpdmKeyUpdateResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/requester/key_update_req.rs:103,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/key_update_req.rs:105,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/key_update_req.rs:108,1
    - Dst: activate_data_secret_update
      Src: /src/spdm-rs/spdmlib/src/requester/key_update_req.rs:112,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/key_update_req.rs:118,1
    - Dst: activate_data_secret_update
      Src: /src/spdm-rs/spdmlib/src/requester/key_update_req.rs:121,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/key_update_req.rs:127,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/key_update_req.rs:132,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/key_update_req.rs:135,1
    - Dst: activate_data_secret_update
      Src: /src/spdm-rs/spdmlib/src/requester/key_update_req.rs:138,1
    - Dst: RequesterContext::spdm_handle_error_response_main
      Src: /src/spdm-rs/spdmlib/src/requester/key_update_req.rs:144,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/requester/key_update_req.rs:145,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/key_update_req.rs:151,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/key_update_req.rs:154,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 67
    argCount: 4
    argNames:
    - session_id
    - update_requester
    - update_responder
    - receive_buffer
    argTypes:
    - u32
    - bool
    - bool
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 156
      start: 87
    functionDepth: 11
    functionLinenumber: 87
    functionLinenumberEnd: 156
    functionName: RequesterContext::handle_spdm_key_update_op_response
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/key_update_req.rs
    functionUses: 1
    functionsReached:
    - RequesterContext::spdm_handle_error_response_main
    - Some
    - Err
    - SpdmMessageHeader::read
    - activate_data_secret_update
    - Reader::init
    - get_session_via_id
    - Ok
    - SpdmKeyUpdateResponsePayload::spdm_read
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn handle_spdm_key_update_op_response(&mut self,session_id: u32,update_requester:
      bool,update_responder: bool,receive_buffer: &[u8],) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/key_update_req.rs:167,1
    - Dst: RequesterContext::send_spdm_key_update
      Src: /src/spdm-rs/spdmlib/src/requester/key_update_req.rs:169,1
    - Dst: RequesterContext::receive_spdm_key_update
      Src: /src/spdm-rs/spdmlib/src/requester/key_update_req.rs:171,1
    - Dst: RequesterContext::send_spdm_key_update
      Src: /src/spdm-rs/spdmlib/src/requester/key_update_req.rs:173,1
    - Dst: RequesterContext::receive_spdm_key_update
      Src: /src/spdm-rs/spdmlib/src/requester/key_update_req.rs:175,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - session_id
    - key_update_operation
    argTypes:
    - u32
    - SpdmKeyUpdateOperation
    constantsTouched: []
    func_position:
      end: 177
      start: 159
    functionDepth: 15
    functionLinenumber: 159
    functionLinenumberEnd: 177
    functionName: RequesterContext::send_receive_spdm_key_update
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/key_update_req.rs
    functionUses: 0
    functionsReached:
    - RequesterContext::receive_spdm_key_update
    - RequesterContext::send_spdm_key_update
    - Err
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn send_receive_spdm_key_update(&mut self,session_id: u32,key_update_operation:
      SpdmKeyUpdateOperation,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset_buffer_via_request_code
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:17,1
    - Dst: RequesterContext::encode_spdm_algorithm
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:22,1
    - Dst: RequesterContext::send_message
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:23,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:25,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - send_buffer
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 26
      start: 15
    functionDepth: 14
    functionLinenumber: 15
    functionLinenumberEnd: 26
    functionName: RequesterContext::send_spdm_algorithm
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs
    functionUses: 1
    functionsReached:
    - RequesterContext::encode_spdm_algorithm
    - RequesterContext::send_message
    - reset_buffer_via_request_code
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn send_spdm_algorithm(&mut self, send_buffer: &mut [u8])
      -> SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RequesterContext::receive_message
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:32,1
    - Dst: RequesterContext::handle_spdm_algorithm_response
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - send_buffer
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 13
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: RequesterContext::receive_spdm_algorithm
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs
    functionUses: 1
    functionsReached:
    - RequesterContext::handle_spdm_algorithm_response
    - RequesterContext::receive_message
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn receive_spdm_algorithm(&mut self, send_buffer: &[u8])
      -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RequesterContext::send_spdm_algorithm
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:41,1
    - Dst: RequesterContext::receive_spdm_algorithm
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 15
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: RequesterContext::send_receive_spdm_algorithm
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs
    functionUses: 1
    functionsReached:
    - RequesterContext::send_spdm_algorithm
    - RequesterContext::receive_spdm_algorithm
    linkageType: ''
    returnType: SpdmResult
    signature: pub async fn send_receive_spdm_algorithm(&mut self) -> SpdmResult
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmAlgoOtherParams::empty
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:46,1
    - Dst: bool::insert
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:49,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:52,1
    - Dst: bool::insert
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:58,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:60,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:65,1
    - Dst: bool::insert
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:71,1
    - Dst: SpdmMelSpecification::empty
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:79,1
    - Dst: gen_array_clone
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:84,1
    - Dst: SpdmAlgStruct::default
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:84,1
    - Dst: is_valid
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:85,1
    - Dst: SpdmAlg::SpdmAlgoDhe
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:88,1
    - Dst: is_valid
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:91,1
    - Dst: SpdmAlg::SpdmAlgoAead
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:94,1
    - Dst: is_valid
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:97,1
    - Dst: SpdmAlg::SpdmAlgoReqAsym
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:100,1
    - Dst: is_valid
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:103,1
    - Dst: SpdmAlg::SpdmAlgoKeySchedule
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:106,1
    - Dst: is_valid
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:110,1
    - Dst: SpdmAlg::SpdmAlgoPqcReqAsym
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:113,1
    - Dst: is_valid
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:116,1
    - Dst: SpdmAlg::SpdmAlgoKem
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:119,1
    - Dst: SpdmPqcAsymAlgo::empty
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:128,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:131,1
    - Dst: SpdmMessagePayload::SpdmNegotiateAlgorithmsRequest
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:137,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:150,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 214
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 151
      start: 45
    functionDepth: 5
    functionLinenumber: 45
    functionLinenumberEnd: 151
    functionName: RequesterContext::encode_spdm_algorithm
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs
    functionUses: 1
    functionsReached:
    - SpdmMelSpecification::empty
    - SpdmAlg::SpdmAlgoDhe
    - SpdmAlgStruct::default
    - SpdmAlg::SpdmAlgoKeySchedule
    - SpdmMessagePayload::SpdmNegotiateAlgorithmsRequest
    - spdm_encode
    - SpdmAlgoOtherParams::empty
    - is_valid
    - contains
    - SpdmPqcAsymAlgo::empty
    - SpdmAlg::SpdmAlgoAead
    - SpdmAlg::SpdmAlgoPqcReqAsym
    - Writer::init
    - SpdmAlg::SpdmAlgoKem
    - gen_array_clone
    - bool::insert
    - SpdmAlg::SpdmAlgoReqAsym
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn encode_spdm_algorithm(&mut self, buf: &mut [u8]) -> SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:159,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:160,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:163,1
    - Dst: SpdmAlgorithmsResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:168,1
    - Dst: Result::used
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:169,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:182,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:189,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:195,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:204,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:208,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:213,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:217,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:221,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:227,1
    - Dst: bits
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:235,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:236,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:238,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:249,1
    - Dst: bits
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:252,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:253,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:264,1
    - Dst: bits
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:270,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:271,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:282,1
    - Dst: bits
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:286,1
    - Dst: bits
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:287,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:289,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:291,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:291,1
    - Dst: SimpleLogger::is_no_more_than_one_selected
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:298,1
    - Dst: SimpleLogger::bits
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:298,1
    - Dst: SimpleLogger::bits
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:299,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:300,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:307,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:315,1
    - Dst: SimpleLogger::is_no_more_than_one_selected
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:319,1
    - Dst: SimpleLogger::bits
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:319,1
    - Dst: SimpleLogger::bits
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:320,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:321,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:328,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:336,1
    - Dst: SimpleLogger::is_no_more_than_one_selected
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:340,1
    - Dst: SimpleLogger::bits
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:340,1
    - Dst: SimpleLogger::bits
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:341,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:342,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:353,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:361,1
    - Dst: SimpleLogger::is_no_more_than_one_selected
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:365,1
    - Dst: SimpleLogger::bits
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:365,1
    - Dst: SimpleLogger::bits
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:366,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:367,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:378,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:386,1
    - Dst: SimpleLogger::is_no_more_than_one_selected
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:393,1
    - Dst: SimpleLogger::bits
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:393,1
    - Dst: SimpleLogger::bits
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:394,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:395,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:406,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:414,1
    - Dst: SimpleLogger::is_no_more_than_one_selected
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:422,1
    - Dst: SimpleLogger::bits
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:422,1
    - Dst: SimpleLogger::bits
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:423,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:424,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:435,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:443,1
    - Dst: SpdmMelSpecification::empty
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:455,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:456,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:465,1
    - Dst: SpdmMelSpecification::empty
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:468,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:470,1
    - Dst: append_message_a
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:476,1
    - Dst: append_message_a
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:477,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:479,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:482,1
    - Dst: RequesterContext::spdm_handle_error_response_main
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:484,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:486,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:491,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs:494,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 521
    argCount: 3
    argNames:
    - session_id
    - send_buffer
    - receive_buffer
    argTypes:
    - u32
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 496
      start: 153
    functionDepth: 11
    functionLinenumber: 153
    functionLinenumberEnd: 496
    functionName: RequesterContext::handle_spdm_algorithm_response
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs
    functionUses: 1
    functionsReached:
    - SpdmAlgorithmsResponsePayload::spdm_read
    - Result::used
    - take
    - SpdmMelSpecification::empty
    - RequesterContext::spdm_handle_error_response_main
    - iter
    - Err
    - SpdmMessageHeader::read
    - contains
    - bits
    - SimpleLogger::bits
    - SimpleLogger::is_no_more_than_one_selected
    - append_message_a
    - Reader::init
    - Ok
    - Some
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn handle_spdm_algorithm_response(&mut self,session_id: u32,send_buffer:
      &[u8],receive_buffer: &[u8],) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:23,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:28,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:39,1
    - Dst: is_none
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:42,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:44,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:51,1
    - Dst: is_none
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:51,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:52,1
    - Dst: reset_buffer_via_request_code
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:55,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:57,1
    - Dst: RequesterContext::encode_spdm_finish
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:60,1
    - Dst: Features::is_err
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:61,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:62,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:62,1
    - Dst: teardown
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:62,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:66,1
    - Dst: Features::err
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:66,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:66,1
    - Dst: Features::unwrap
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:68,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:70,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 79
    argCount: 3
    argNames:
    - req_slot_id
    - session_id
    - send_buffer
    argTypes:
    - Option<u8>
    - u32
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 71
      start: 16
    functionDepth: 10
    functionLinenumber: 16
    functionLinenumberEnd: 71
    functionName: RequesterContext::init_spdm_finish
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/finish_req.rs
    functionUses: 1
    functionsReached:
    - teardown
    - Ok
    - unwrap
    - Err
    - contains
    - ok_or
    - Features::unwrap
    - RequesterContext::encode_spdm_finish
    - Features::err
    - is_none
    - reset_buffer_via_request_code
    - get_session_via_id
    - Features::is_err
    - Some
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn init_spdm_finish(&mut self,req_slot_id: Option<u8>,session_id:
      u32,send_buffer: &mut [u8],) -> SpdmResult<(u8, bool, usize)>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RequesterContext::send_message
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:83,1
    - Dst: RequesterContext::send_message
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:85,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:85,1
    - Dst: Features::is_err
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:88,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:89,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:89,1
    - Dst: teardown
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:89,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - session_id
    - in_clear_text
    - send_buffer
    argTypes:
    - u32
    - bool
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 95
      start: 75
    functionDepth: 14
    functionLinenumber: 75
    functionLinenumberEnd: 95
    functionName: RequesterContext::send_spdm_finish
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/finish_req.rs
    functionUses: 1
    functionsReached:
    - teardown
    - ok_or
    - RequesterContext::send_message
    - get_session_via_id
    - Features::is_err
    - Some
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn send_spdm_finish(&mut self,session_id: u32,in_clear_text:
      bool,send_buffer: &[u8],) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RequesterContext::init_spdm_finish
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:105,1
    - Dst: RequesterContext::send_spdm_finish
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:107,1
    - Dst: RequesterContext::receive_spdm_finish
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - req_slot_id
    - session_id
    argTypes:
    - Option<u8>
    - u32
    constantsTouched: []
    func_position:
      end: 111
      start: 98
    functionDepth: 11
    functionLinenumber: 98
    functionLinenumberEnd: 111
    functionName: RequesterContext::send_receive_spdm_finish
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/finish_req.rs
    functionUses: 1
    functionsReached:
    - RequesterContext::send_spdm_finish
    - RequesterContext::init_spdm_finish
    - RequesterContext::receive_spdm_finish
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn send_receive_spdm_finish(&mut self,req_slot_id: Option<u8>,session_id:
      u32,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RequesterContext::receive_message
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:122,1
    - Dst: RequesterContext::receive_message
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:124,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:124,1
    - Dst: Features::is_err
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:127,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:128,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:128,1
    - Dst: teardown
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:128,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:132,1
    - Dst: Features::err
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:132,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:132,1
    - Dst: Features::unwrap
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:134,1
    - Dst: RequesterContext::handle_spdm_finish_response
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:135,1
    - Dst: Features::is_err
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:136,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:137,1
    - Dst: teardown
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:138,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 51
    argCount: 2
    argNames:
    - session_id
    - in_clear_text
    argTypes:
    - u32
    - bool
    constantsTouched: []
    func_position:
      end: 142
      start: 114
    functionDepth: 13
    functionLinenumber: 114
    functionLinenumberEnd: 142
    functionName: RequesterContext::receive_spdm_finish
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/finish_req.rs
    functionUses: 1
    functionsReached:
    - teardown
    - unwrap
    - Err
    - ok_or
    - Features::unwrap
    - Features::err
    - RequesterContext::handle_spdm_finish_response
    - get_session_via_id
    - Features::is_err
    - RequesterContext::receive_message
    - Some
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn receive_spdm_finish(&mut self,session_id: u32,in_clear_text:
      bool,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmFinishRequestAttributes::empty
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:150,1
    - Dst: SpdmSignatureStruct::default
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:151,1
    - Dst: get_immutable_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:154,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:154,1
    - Dst: get_mut_auth_requested
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:158,1
    - Dst: SpdmKeyExchangeMutAuthAttributes::is_empty
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:158,1
    - Dst: get_req_asym_sig_size
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:160,1
    - Dst: SpdmMessagePayload::SpdmFinishRequest
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:174,1
    - Dst: get_hash_size
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:179,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:180,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:192,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:193,1
    - Dst: append_message_f
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:196,1
    - Dst: get_immutable_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:199,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:199,1
    - Dst: get_mut_auth_requested
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:203,1
    - Dst: SpdmKeyExchangeMutAuthAttributes::is_empty
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:203,1
    - Dst: RequesterContext::generate_finish_req_signature
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:204,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:206,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:207,1
    - Dst: append_message_f
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:209,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:210,1
    - Dst: get_hash_size
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:214,1
    - Dst: get_immutable_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:216,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:216,1
    - Dst: calc_req_transcript_hash
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:221,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:225,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:225,1
    - Dst: generate_hmac_with_request_finished_key
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:230,1
    - Dst: SpdmResult::as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:230,1
    - Dst: append_message_f
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:232,1
    - Dst: Option::as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:233,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:236,1
    - Dst: Option::as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:236,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:237,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 143
    argCount: 3
    argNames:
    - session_id
    - req_slot_id
    - buf
    argTypes:
    - u32
    - u8
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 238
      start: 144
    functionDepth: 9
    functionLinenumber: 144
    functionLinenumberEnd: 238
    functionName: RequesterContext::encode_spdm_finish
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/finish_req.rs
    functionUses: 1
    functionsReached:
    - calc_req_transcript_hash
    - generate_hmac_with_request_finished_key
    - ok_or
    - Writer::init
    - Option::as_ref
    - get_immutable_session_via_id
    - SpdmMessagePayload::SpdmFinishRequest
    - append_message_f
    - Result::as_ref
    - SpdmResult::as_ref
    - SpdmSignatureStruct::default
    - get_session_via_id
    - Ok
    - get_req_asym_sig_size
    - get_mut_auth_requested
    - get_hash_size
    - SpdmKeyExchangeMutAuthAttributes::is_empty
    - spdm_encode
    - Box::new
    - SpdmFinishRequestAttributes::empty
    - RequesterContext::generate_finish_req_signature
    - copy_from_slice
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn encode_spdm_finish(&mut self,session_id: u32,req_slot_id: u8,buf:
      &mut [u8],) -> SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:245,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:250,1
    - Dst: get_immutable_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:256,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:256,1
    - Dst: get_mut_auth_requested
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:256,1
    - Dst: is_empty
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:256,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:263,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:264,1
    - Dst: SpdmFinishResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:268,1
    - Dst: Result::used
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:269,1
    - Dst: get_hash_size
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:273,1
    - Dst: append_message_f
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:278,1
    - Dst: get_immutable_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:284,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:284,1
    - Dst: calc_req_transcript_hash
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:289,1
    - Dst: verify_hmac_with_response_finished_key
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:295,1
    - Dst: SpdmResult::as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:297,1
    - Dst: SpdmResult::is_err
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:295,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:303,1
    - Dst: append_message_f
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:308,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:311,1
    - Dst: append_message_f
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:314,1
    - Dst: get_immutable_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:321,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:321,1
    - Dst: calc_req_transcript_hash
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:328,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:333,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:333,1
    - Dst: set_th2
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:337,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:337,1
    - Dst: generate_data_secret
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:338,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:341,1
    - Dst: set_session_state
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:344,1
    - Dst: set_last_session_id
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:348,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:350,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:353,1
    - Dst: RequesterContext::spdm_handle_error_response_main
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:356,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:357,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:362,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:364,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 144
    argCount: 2
    argNames:
    - session_id
    - receive_buffer
    argTypes:
    - u32
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 366
      start: 240
    functionDepth: 11
    functionLinenumber: 240
    functionLinenumberEnd: 366
    functionName: RequesterContext::handle_spdm_finish_response
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/finish_req.rs
    functionUses: 1
    functionsReached:
    - Result::used
    - calc_req_transcript_hash
    - RequesterContext::spdm_handle_error_response_main
    - is_empty
    - ok_or
    - set_session_state
    - get_immutable_session_via_id
    - set_th2
    - clone
    - append_message_f
    - SpdmResult::as_ref
    - SpdmFinishResponsePayload::spdm_read
    - Reader::init
    - get_session_via_id
    - Ok
    - Some
    - set_last_session_id
    - generate_data_secret
    - get_mut_auth_requested
    - SpdmMessageHeader::read
    - get_hash_size
    - Err
    - SpdmResult::is_err
    - contains
    - verify_hmac_with_response_finished_key
    - as_ref
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn handle_spdm_finish_response(&mut self,session_id: u32,receive_buffer:
      &[u8],) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calc_req_transcript_hash
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:409,1
    - Dst: ManagedBuffer12Sign::default
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:413,1
    - Dst: Self::reset_message
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:415,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:416,1
    - Dst: get_signing_prefix_context
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:417,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:416,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:419,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:419,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:422,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:422,1
    - Dst: Self::append_message
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:425,1
    - Dst: SpdmResult::as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:426,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:425,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:430,1
    - Dst: crate::secret::spdm_asym_sign
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:433,1
    - Dst: to_base
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:436,1
    - Dst: to_base
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:437,1
    - Dst: Self::as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:438,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/finish_req.rs:433,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 71
    argCount: 2
    argNames:
    - _slot_id
    - session
    argTypes:
    - u8
    - '&SpdmSession'
    constantsTouched: []
    func_position:
      end: 441
      start: 404
    functionDepth: 11
    functionLinenumber: 404
    functionLinenumberEnd: 441
    functionName: RequesterContext::generate_finish_req_signature
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/finish_req.rs
    functionUses: 1
    functionsReached:
    - calc_req_transcript_hash
    - Self::reset_message
    - Self::append_message
    - to_base
    - get_signing_prefix_context
    - SpdmResult::as_ref
    - Self::as_ref
    - ManagedBuffer12Sign::default
    - Option::ok_or
    - Err
    - crate::secret::spdm_asym_sign
    linkageType: ''
    returnType: SpdmResult
    signature: 'fn generate_finish_req_signature(&self,_slot_id: u8,session: &SpdmSession,)
      -> SpdmResult<SpdmSignatureStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/requester/handle_error_response_req.rs:23,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/handle_error_response_req.rs:24,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/requester/handle_error_response_req.rs:25,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/handle_error_response_req.rs:26,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/requester/handle_error_response_req.rs:27,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/handle_error_response_req.rs:29,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/handle_error_response_req.rs:32,1
    - Dst: teardown
      Src: /src/spdm-rs/spdmlib/src/requester/handle_error_response_req.rs:34,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/handle_error_response_req.rs:36,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/handle_error_response_req.rs:38,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - session_id
    - error_code
    argTypes:
    - Option<u32>
    - u8
    constantsTouched: []
    func_position:
      end: 40
      start: 16
    functionDepth: 4
    functionLinenumber: 16
    functionLinenumberEnd: 40
    functionName: RequesterContext::spdm_handle_simple_error_response
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/handle_error_response_req.rs
    functionUses: 1
    functionsReached:
    - teardown
    - get_session_via_id
    - Err
    - get_u8
    linkageType: ''
    returnType: SpdmResult
    signature: 'fn spdm_handle_simple_error_response(&mut self,session_id: Option<u32>,error_code:
      u8,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/requester/handle_error_response_req.rs:49,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/requester/handle_error_response_req.rs:51,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/handle_error_response_req.rs:54,1
    - Dst: Reader::used
      Src: /src/spdm-rs/spdmlib/src/requester/handle_error_response_req.rs:56,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/handle_error_response_req.rs:59,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/handle_error_response_req.rs:63,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/requester/handle_error_response_req.rs:66,1
    - Dst: SpdmMessageGeneralPayload::read
      Src: /src/spdm-rs/spdmlib/src/requester/handle_error_response_req.rs:68,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/handle_error_response_req.rs:71,1
    - Dst: get_u8
      Src: /src/spdm-rs/spdmlib/src/requester/handle_error_response_req.rs:75,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/handle_error_response_req.rs:77,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/handle_error_response_req.rs:80,1
    - Dst: teardown
      Src: /src/spdm-rs/spdmlib/src/requester/handle_error_response_req.rs:82,1
    - Dst: RequesterContext::spdm_handle_simple_error_response
      Src: /src/spdm-rs/spdmlib/src/requester/handle_error_response_req.rs:86,1
    - Dst: spdm_status_set_error_data
      Src: /src/spdm-rs/spdmlib/src/requester/handle_error_response_req.rs:94,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/handle_error_response_req.rs:95,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 65
    argCount: 4
    argNames:
    - session_id
    - response
    - _original_request_code
    - _expected_response_code
    argTypes:
    - Option<u32>
    - '&[u8]'
    - SpdmRequestResponseCode
    - SpdmRequestResponseCode
    constantsTouched: []
    func_position:
      end: 96
      start: 42
    functionDepth: 11
    functionLinenumber: 42
    functionLinenumberEnd: 96
    functionName: RequesterContext::spdm_handle_error_response_main
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/handle_error_response_req.rs
    functionUses: 17
    functionsReached:
    - teardown
    - RequesterContext::spdm_handle_simple_error_response
    - SpdmMessageGeneralPayload::read
    - get_u8
    - Err
    - SpdmMessageHeader::read
    - spdm_status_set_error_data
    - Reader::init
    - get_session_via_id
    - Reader::used
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn spdm_handle_error_response_main(&mut self,session_id: Option<u32>,response:
      &[u8],_original_request_code: SpdmRequestResponseCode,_expected_response_code:
      SpdmRequestResponseCode,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/requester/encap_certificate.rs:25,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/encap_certificate.rs:27,1
    - Dst: RequesterContext::encode_encap_error_response
      Src: /src/spdm-rs/spdmlib/src/requester/encap_certificate.rs:33,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/requester/encap_certificate.rs:41,1
    - Dst: RequesterContext::encode_encap_error_response
      Src: /src/spdm-rs/spdmlib/src/requester/encap_certificate.rs:43,1
    - Dst: RequesterContext::encode_encap_error_response
      Src: /src/spdm-rs/spdmlib/src/requester/encap_certificate.rs:51,1
    - Dst: SpdmGetCertificateRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/requester/encap_certificate.rs:60,1
    - Dst: RequesterContext::encode_encap_error_response
      Src: /src/spdm-rs/spdmlib/src/requester/encap_certificate.rs:64,1
    - Dst: RequesterContext::encode_encap_error_response
      Src: /src/spdm-rs/spdmlib/src/requester/encap_certificate.rs:74,1
    - Dst: is_none
      Src: /src/spdm-rs/spdmlib/src/requester/encap_certificate.rs:84,1
    - Dst: RequesterContext::encode_encap_error_response
      Src: /src/spdm-rs/spdmlib/src/requester/encap_certificate.rs:86,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/encap_certificate.rs:94,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/requester/encap_certificate.rs:94,1
    - Dst: RequesterContext::encode_encap_error_response
      Src: /src/spdm-rs/spdmlib/src/requester/encap_certificate.rs:105,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib/src/requester/encap_certificate.rs:124,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/requester/encap_certificate.rs:124,1
    - Dst: SpdmMessagePayload::SpdmCertificateResponse
      Src: /src/spdm-rs/spdmlib/src/requester/encap_certificate.rs:130,1
    - Dst: SpdmResult::spdm_encode
      Src: /src/spdm-rs/spdmlib/src/requester/encap_certificate.rs:137,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 143
    argCount: 2
    argNames:
    - encap_request
    - encap_response
    argTypes:
    - '&[u8]'
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 140
      start: 20
    functionDepth: 11
    functionLinenumber: 20
    functionLinenumberEnd: 140
    functionName: RequesterContext::encap_handle_get_certificate
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/encap_certificate.rs
    functionUses: 1
    functionsReached:
    - RequesterContext::encode_encap_error_response
    - unwrap
    - SpdmMessagePayload::SpdmCertificateResponse
    - SpdmMessageHeader::read
    - contains
    - len
    - is_none
    - SpdmResult::spdm_encode
    - copy_from_slice
    - Reader::init
    - as_ref
    - SpdmGetCertificateRequestPayload::spdm_read
    linkageType: ''
    returnType: void
    signature: 'pub fn encap_handle_get_certificate(&mut self,encap_request: &[u8],encap_response:
      &mut Writer,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset_buffer_via_request_code
      Src: /src/spdm-rs/spdmlib/src/requester/vendor_req.rs:20,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/requester/vendor_req.rs:26,1
    - Dst: SpdmMessagePayload::SpdmVendorDefinedRequest
      Src: /src/spdm-rs/spdmlib/src/requester/vendor_req.rs:32,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/requester/vendor_req.rs:40,1
    - Dst: RequesterContext::send_message
      Src: /src/spdm-rs/spdmlib/src/requester/vendor_req.rs:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 4
    argNames:
    - session_id
    - standard_id
    - vendor_id_struct
    - req_payload_struct
    argTypes:
    - Option<u32>
    - RegistryOrStandardsBodyID
    - VendorIDStruct
    - VendorDefinedReqPayloadStruct
    constantsTouched: []
    func_position:
      end: 44
      start: 11
    functionDepth: 14
    functionLinenumber: 11
    functionLinenumberEnd: 44
    functionName: RequesterContext::send_spdm_vendor_defined_request
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/vendor_req.rs
    functionUses: 1
    functionsReached:
    - spdm_encode
    - RequesterContext::send_message
    - Writer::init
    - SpdmMessagePayload::SpdmVendorDefinedRequest
    - reset_buffer_via_request_code
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn send_spdm_vendor_defined_request(&mut self,session_id:
      Option<u32>,standard_id: RegistryOrStandardsBodyID,vendor_id_struct: VendorIDStruct,req_payload_struct:
      VendorDefinedReqPayloadStruct,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RequesterContext::receive_message
      Src: /src/spdm-rs/spdmlib/src/requester/vendor_req.rs:53,1
    - Dst: RequesterContext::handle_spdm_vendor_defined_respond
      Src: /src/spdm-rs/spdmlib/src/requester/vendor_req.rs:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - session_id
    argTypes:
    - Option<u32>
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 13
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: RequesterContext::receive_spdm_vendor_defined_request
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/vendor_req.rs
    functionUses: 1
    functionsReached:
    - RequesterContext::handle_spdm_vendor_defined_respond
    - RequesterContext::receive_message
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn receive_spdm_vendor_defined_request(&mut self,session_id:
      Option<u32>,) -> SpdmResult<VendorDefinedRspPayloadStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RequesterContext::send_spdm_vendor_defined_request
      Src: /src/spdm-rs/spdmlib/src/requester/vendor_req.rs:68,1
    - Dst: RequesterContext::receive_spdm_vendor_defined_request
      Src: /src/spdm-rs/spdmlib/src/requester/vendor_req.rs:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - session_id
    - standard_id
    - vendor_id_struct
    - req_payload_struct
    argTypes:
    - Option<u32>
    - RegistryOrStandardsBodyID
    - VendorIDStruct
    - VendorDefinedReqPayloadStruct
    constantsTouched: []
    func_position:
      end: 76
      start: 61
    functionDepth: 15
    functionLinenumber: 61
    functionLinenumberEnd: 76
    functionName: RequesterContext::send_receive_spdm_vendor_defined_request
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/vendor_req.rs
    functionUses: 15
    functionsReached:
    - RequesterContext::send_spdm_vendor_defined_request
    - RequesterContext::receive_spdm_vendor_defined_request
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn send_receive_spdm_vendor_defined_request(&mut self,session_id:
      Option<u32>,standard_id: RegistryOrStandardsBodyID,vendor_id_struct: VendorIDStruct,req_payload_struct:
      VendorDefinedReqPayloadStruct,) -> SpdmResult<VendorDefinedRspPayloadStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/requester/vendor_req.rs:83,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/requester/vendor_req.rs:84,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/vendor_req.rs:87,1
    - Dst: SpdmVendorDefinedResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/requester/vendor_req.rs:91,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/vendor_req.rs:96,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/vendor_req.rs:98,1
    - Dst: RequesterContext::spdm_handle_error_response_main
      Src: /src/spdm-rs/spdmlib/src/requester/vendor_req.rs:102,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/vendor_req.rs:109,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/vendor_req.rs:110,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/vendor_req.rs:113,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/vendor_req.rs:116,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 2
    argNames:
    - session_id
    - receive_buffer
    argTypes:
    - Option<u32>
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 118
      start: 78
    functionDepth: 11
    functionLinenumber: 78
    functionLinenumberEnd: 118
    functionName: RequesterContext::handle_spdm_vendor_defined_respond
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/vendor_req.rs
    functionUses: 1
    functionsReached:
    - RequesterContext::spdm_handle_error_response_main
    - SpdmVendorDefinedResponsePayload::spdm_read
    - Err
    - SpdmMessageHeader::read
    - Reader::init
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn handle_spdm_vendor_defined_respond(&mut self,session_id: Option<u32>,receive_buffer:
      &[u8],) -> SpdmResult<VendorDefinedRspPayloadStruct>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset_buffer_via_request_code
      Src: /src/spdm-rs/spdmlib/src/requester/vendor_req.rs:128,1
    - Dst: RequesterContext::send_message
      Src: /src/spdm-rs/spdmlib/src/requester/vendor_req.rs:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - session_id
    - req_bytes
    argTypes:
    - Option<u32>
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 134
      start: 121
    functionDepth: 14
    functionLinenumber: 121
    functionLinenumberEnd: 134
    functionName: RequesterContext::send_spdm_vendor_defined_request_ex
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/vendor_req.rs
    functionUses: 1
    functionsReached:
    - RequesterContext::send_message
    - reset_buffer_via_request_code
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn send_spdm_vendor_defined_request_ex(&mut self,session_id:
      Option<u32>,req_bytes: &[u8],) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RequesterContext::receive_message
      Src: /src/spdm-rs/spdmlib/src/requester/vendor_req.rs:142,1
    - Dst: RequesterContext::handle_spdm_vendor_defined_respond_ex
      Src: /src/spdm-rs/spdmlib/src/requester/vendor_req.rs:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - session_id
    - rsp_bytes
    argTypes:
    - Option<u32>
    - '&''a mut [u8]'
    constantsTouched: []
    func_position:
      end: 145
      start: 137
    functionDepth: 13
    functionLinenumber: 137
    functionLinenumberEnd: 145
    functionName: RequesterContext::receive_spdm_vendor_defined_request_ex
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/vendor_req.rs
    functionUses: 1
    functionsReached:
    - RequesterContext::receive_message
    - RequesterContext::handle_spdm_vendor_defined_respond_ex
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn receive_spdm_vendor_defined_request_ex<''a>(&mut self,session_id:
      Option<u32>,rsp_bytes: &''a mut [u8],) -> SpdmResult<&''a [u8]>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RequesterContext::send_spdm_vendor_defined_request_ex
      Src: /src/spdm-rs/spdmlib/src/requester/vendor_req.rs:154,1
    - Dst: RequesterContext::receive_spdm_vendor_defined_request_ex
      Src: /src/spdm-rs/spdmlib/src/requester/vendor_req.rs:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - session_id
    - req_bytes
    - rsp_bytes
    argTypes:
    - Option<u32>
    - '&[u8]'
    - '&''a mut [u8]'
    constantsTouched: []
    func_position:
      end: 158
      start: 148
    functionDepth: 15
    functionLinenumber: 148
    functionLinenumberEnd: 158
    functionName: RequesterContext::send_receive_spdm_vendor_defined_request_ex
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/vendor_req.rs
    functionUses: 0
    functionsReached:
    - RequesterContext::send_spdm_vendor_defined_request_ex
    - RequesterContext::receive_spdm_vendor_defined_request_ex
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn send_receive_spdm_vendor_defined_request_ex<''a>(&mut
      self,session_id: Option<u32>,req_bytes: &[u8],rsp_bytes: &''a mut [u8],) ->
      SpdmResult<&''a [u8]>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/requester/vendor_req.rs:165,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/requester/vendor_req.rs:166,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/vendor_req.rs:169,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/vendor_req.rs:173,1
    - Dst: RequesterContext::spdm_handle_error_response_main
      Src: /src/spdm-rs/spdmlib/src/requester/vendor_req.rs:176,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/vendor_req.rs:183,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/vendor_req.rs:184,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/vendor_req.rs:187,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/vendor_req.rs:190,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 2
    argNames:
    - session_id
    - receive_buffer
    argTypes:
    - Option<u32>
    - '&''a [u8]'
    constantsTouched: []
    func_position:
      end: 192
      start: 160
    functionDepth: 11
    functionLinenumber: 160
    functionLinenumberEnd: 192
    functionName: RequesterContext::handle_spdm_vendor_defined_respond_ex
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/vendor_req.rs
    functionUses: 1
    functionsReached:
    - RequesterContext::spdm_handle_error_response_main
    - Err
    - SpdmMessageHeader::read
    - Reader::init
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn handle_spdm_vendor_defined_respond_ex<''a>(&mut self,session_id:
      Option<u32>,receive_buffer: &''a [u8],) -> SpdmResult<&''a [u8]>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmMessagePayload::SpdmErrorResponse
      Src: /src/spdm-rs/spdmlib/src/requester/encap_error.rs:30,1
    - Dst: SpdmErrorResponseExtData::SpdmErrorExtDataNone
      Src: /src/spdm-rs/spdmlib/src/requester/encap_error.rs:33,1
    - Dst: SpdmResult::spdm_encode
      Src: /src/spdm-rs/spdmlib/src/requester/encap_error.rs:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - error_code
    - error_data
    - writer
    argTypes:
    - SpdmErrorCode
    - u8
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 39
      start: 19
    functionDepth: 4
    functionLinenumber: 19
    functionLinenumberEnd: 39
    functionName: RequesterContext::encode_encap_error_response
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/encap_error.rs
    functionUses: 3
    functionsReached:
    - SpdmMessagePayload::SpdmErrorResponse
    - SpdmResult::spdm_encode
    - SpdmErrorResponseExtData::SpdmErrorExtDataNone
    linkageType: ''
    returnType: void
    signature: 'pub fn encode_encap_error_response(&mut self,error_code: SpdmErrorCode,error_data:
      u8,writer: &mut Writer,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:36,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:39,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:44,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:50,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:59,1
    - Dst: SpdmMessagePayload::SpdmGetDigestsRequest
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:65,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:69,1
    - Dst: RequesterContext::process_encapsulated_request
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:70,1
    - Dst: RequesterContext::send_get_encapsulated_request
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:74,1
    - Dst: RequesterContext::receive_encapsulated_request
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:75,1
    - Dst: RequesterContext::receive_encapsulated_response_ack
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:79,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:80,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 69
    argCount: 2
    argNames:
    - session_id
    - mut_auth_requested
    argTypes:
    - u32
    - SpdmKeyExchangeMutAuthAttributes
    constantsTouched: []
    func_position:
      end: 81
      start: 30
    functionDepth: 12
    functionLinenumber: 30
    functionLinenumberEnd: 81
    functionName: RequesterContext::get_encapsulated_request_response
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/encap_req.rs
    functionUses: 1
    functionsReached:
    - spdm_encode
    - SpdmMessagePayload::SpdmGetDigestsRequest
    - RequesterContext::receive_encapsulated_response_ack
    - RequesterContext::send_get_encapsulated_request
    - RequesterContext::receive_encapsulated_request
    - RequesterContext::process_encapsulated_request
    - Err
    - contains
    - Writer::init
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn get_encapsulated_request_response(&mut self,session_id:
      u32,mut_auth_requested: SpdmKeyExchangeMutAuthAttributes,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:86,1
    - Dst: SpdmMessagePayload::SpdmGetEncapsulatedRequestPayload
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:92,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:96,1
    - Dst: RequesterContext::send_message
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:98,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:98,1
    - Dst: Writer::mut_used_slice
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - session_id
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 100
      start: 84
    functionDepth: 14
    functionLinenumber: 84
    functionLinenumberEnd: 100
    functionName: RequesterContext::send_get_encapsulated_request
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/encap_req.rs
    functionUses: 1
    functionsReached:
    - spdm_encode
    - SpdmMessagePayload::SpdmGetEncapsulatedRequestPayload
    - RequesterContext::send_message
    - Writer::init
    - Writer::mut_used_slice
    - Some
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn send_get_encapsulated_request(&mut self, session_id:
      u32) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RequesterContext::receive_message
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:105,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:106,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:108,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:110,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:110,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:116,1
    - Dst: SpdmEncapsulatedRequestPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:119,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:119,1
    - Dst: RequesterContext::process_encapsulated_request
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:122,1
    - Dst: Result::used
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:125,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 1
    argNames:
    - session_id
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 128
      start: 103
    functionDepth: 13
    functionLinenumber: 103
    functionLinenumberEnd: 128
    functionName: RequesterContext::receive_encapsulated_request
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/encap_req.rs
    functionUses: 1
    functionsReached:
    - Result::used
    - SpdmEncapsulatedRequestPayload::spdm_read
    - RequesterContext::process_encapsulated_request
    - SpdmMessageHeader::read
    - Option::ok_or
    - Err
    - Reader::init
    - RequesterContext::receive_message
    - Some
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn receive_encapsulated_request(&mut self, session_id: u32)
      -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RequesterContext::receive_message
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:133,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:134,1
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:136,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:138,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:138,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:144,1
    - Dst: SpdmEncapsulatedResponseAckPayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:147,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:147,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:153,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:155,1
    - Dst: u8::read
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:161,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:161,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:163,1
    - Dst: set_local_used_cert_chain_slot_id
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:165,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:168,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:170,1
    - Dst: RequesterContext::process_encapsulated_request
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:176,1
    - Dst: Result::used
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:179,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:183,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 85
    argCount: 1
    argNames:
    - session_id
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 184
      start: 131
    functionDepth: 13
    functionLinenumber: 131
    functionLinenumberEnd: 184
    functionName: RequesterContext::receive_encapsulated_response_ack
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/encap_req.rs
    functionUses: 1
    functionsReached:
    - Result::used
    - set_local_used_cert_chain_slot_id
    - SpdmEncapsulatedResponseAckPayload::spdm_read
    - RequesterContext::process_encapsulated_request
    - u8::read
    - SpdmMessageHeader::read
    - Option::ok_or
    - Err
    - Reader::init
    - Ok
    - RequesterContext::receive_message
    - Some
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn receive_encapsulated_response_ack(&mut self, session_id:
      u32) -> SpdmResult<bool>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:193,1
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:195,1
    - Dst: SpdmMessagePayload::SpdmDeliverEncapsulatedResponsePayload
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:203,1
    - Dst: bool::spdm_encode
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:208,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:211,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:211,1
    - Dst: RequesterContext::encap_handle_get_digest
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:214,1
    - Dst: RequesterContext::encap_handle_get_certificate
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:217,1
    - Dst: RequesterContext::encode_encap_error_response
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:219,1
    - Dst: RequesterContext::send_message
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:226,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:226,1
    - Dst: Writer::used_slice
      Src: /src/spdm-rs/spdmlib/src/requester/encap_req.rs:226,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 40
    argCount: 3
    argNames:
    - session_id
    - request_id
    - encap_request
    argTypes:
    - u32
    - u8
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 228
      start: 187
    functionDepth: 11
    functionLinenumber: 187
    functionLinenumberEnd: 228
    functionName: RequesterContext::process_encapsulated_request
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/encap_req.rs
    functionUses: 3
    functionsReached:
    - RequesterContext::encap_handle_get_certificate
    - bool::spdm_encode
    - RequesterContext::encode_encap_error_response
    - SpdmMessageHeader::read
    - Option::ok_or
    - RequesterContext::encap_handle_get_digest
    - RequesterContext::send_message
    - Writer::init
    - SpdmMessagePayload::SpdmDeliverEncapsulatedResponsePayload
    - Writer::used_slice
    - Reader::init
    - Some
    linkageType: ''
    returnType: SpdmResult
    signature: 'async fn process_encapsulated_request(&mut self,session_id: u32,request_id:
      u8,encap_request: &[u8],) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RequesterContext::encode_spdm_certificate_partial
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:26,1
    - Dst: RequesterContext::send_message
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:28,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:31,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - session_id
    - slot_id
    - offset
    - length
    - send_buffer
    argTypes:
    - Option<u32>
    - u8
    - u32
    - u32
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 32
      start: 16
    functionDepth: 14
    functionLinenumber: 16
    functionLinenumberEnd: 32
    functionName: RequesterContext::send_spdm_certificate
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs
    functionUses: 1
    functionsReached:
    - RequesterContext::encode_spdm_certificate_partial
    - RequesterContext::send_message
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn send_spdm_certificate(&mut self,session_id: Option<u32>,slot_id:
      u8,offset: u32,length: u32,send_buffer: &mut [u8],) -> SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RequesterContext::receive_message
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:46,1
    - Dst: RequesterContext::handle_spdm_certificate_partial_response
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 6
    argNames:
    - session_id
    - slot_id
    - total_size
    - offset
    - length
    - send_buffer
    argTypes:
    - Option<u32>
    - u8
    - u32
    - u32
    - u32
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 59
      start: 35
    functionDepth: 13
    functionLinenumber: 35
    functionLinenumberEnd: 59
    functionName: RequesterContext::receive_spdm_certificate
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs
    functionUses: 1
    functionsReached:
    - RequesterContext::handle_spdm_certificate_partial_response
    - RequesterContext::receive_message
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn receive_spdm_certificate(&mut self,session_id: Option<u32>,slot_id:
      u8,total_size: u32,offset: u32,length: u32,send_buffer: &[u8],) -> SpdmResult<(u32,
      u32)>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:68,1
    - Dst: SpdmMessagePayload::SpdmGetCertificateRequest
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:74,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 4
    argNames:
    - slot_id
    - offset
    - length
    - buf
    argTypes:
    - u8
    - u32
    - u32
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 83
      start: 61
    functionDepth: 4
    functionLinenumber: 61
    functionLinenumberEnd: 83
    functionName: RequesterContext::encode_spdm_certificate_partial
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs
    functionUses: 1
    functionsReached:
    - Writer::init
    - SpdmMessagePayload::SpdmGetCertificateRequest
    - spdm_encode
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn encode_spdm_certificate_partial(&mut self,slot_id: u8,offset:
      u32,length: u32,buf: &mut [u8],) -> SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:96,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:97,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:100,1
    - Dst: SpdmCertificateResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:104,1
    - Dst: Result::used
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:108,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:117,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:124,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:132,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:136,1
    - Dst: as_mut
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:139,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:139,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:146,1
    - Dst: append_message_b
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:157,1
    - Dst: append_message_b
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:158,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:163,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:166,1
    - Dst: RequesterContext::spdm_handle_error_response_main
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:170,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:177,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:178,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:181,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:184,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 135
    argCount: 7
    argNames:
    - session_id
    - slot_id
    - total_size
    - offset
    - length
    - send_buffer
    - receive_buffer
    argTypes:
    - Option<u32>
    - u8
    - u32
    - u32
    - u32
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 186
      start: 86
    functionDepth: 11
    functionLinenumber: 86
    functionLinenumberEnd: 186
    functionName: RequesterContext::handle_spdm_certificate_partial_response
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs
    functionUses: 1
    functionsReached:
    - Result::used
    - RequesterContext::spdm_handle_error_response_main
    - SpdmCertificateResponsePayload::spdm_read
    - as_mut
    - Err
    - SpdmMessageHeader::read
    - ok_or
    - append_message_b
    - copy_from_slice
    - Reader::init
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn handle_spdm_certificate_partial_response(&mut self,session_id:
      Option<u32>,slot_id: u8,total_size: u32,offset: u32,length: u32,send_buffer:
      &[u8],receive_buffer: &[u8],) -> SpdmResult<(u32, u32)>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:199,1
    - Dst: reset_buffer_via_request_code
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:202,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:207,1
    - Dst: SpdmCertChainBuffer::default
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:207,1
    - Dst: RequesterContext::send_spdm_certificate
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:211,1
    - Dst: RequesterContext::receive_spdm_certificate
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:215,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:237,1
    - Dst: RequesterContext::verify_spdm_certificate_chain
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:240,1
    - Dst: is_ok
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:241,1
    - Dst: clone_from
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:242,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 85
    argCount: 2
    argNames:
    - session_id
    - slot_id
    argTypes:
    - Option<u32>
    - u8
    constantsTouched: []
    func_position:
      end: 247
      start: 189
    functionDepth: 15
    functionLinenumber: 189
    functionLinenumberEnd: 247
    functionName: RequesterContext::send_receive_spdm_certificate
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs
    functionUses: 0
    functionsReached:
    - RequesterContext::verify_spdm_certificate_chain
    - SpdmCertChainBuffer::default
    - RequesterContext::send_spdm_certificate
    - RequesterContext::receive_spdm_certificate
    - Err
    - clone_from
    - reset_buffer_via_request_code
    - is_ok
    - Some
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn send_receive_spdm_certificate(&mut self,session_id: Option<u32>,slot_id:
      u8,) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_none
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:253,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:255,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:258,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:258,1
    - Dst: get_hash_size
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:264,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:265,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:276,1
    - Dst: get_hash_size
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:279,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:281,1
    - Dst: get_hash_size
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:282,1
    - Dst: crypto::cert_operation::verify_cert_chain
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:291,1
    - Dst: SpdmResult::is_err
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:291,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:299,1
    - Dst: crypto::cert_operation::get_cert_from_cert_chain
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:306,1
    - Dst: crypto::is_root_certificate
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:311,1
    - Dst: SpdmResult::is_err
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:311,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:313,1
    - Dst: crypto::hash::hash_all
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:316,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:320,1
    - Dst: get_hash_size
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:323,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:326,1
    - Dst: crypto::cert_operation::get_cert_from_cert_chain
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:333,1
    - Dst: crypto::check_leaf_certificate
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:338,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:340,1
    - Dst: SpdmResult::is_ok
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:338,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:350,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:358,1
    - Dst: flatten
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:358,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:366,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:378,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs:395,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 249
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 396
      start: 249
    functionDepth: 10
    functionLinenumber: 249
    functionLinenumberEnd: 396
    functionName: RequesterContext::verify_spdm_certificate_chain
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs
    functionUses: 1
    functionsReached:
    - crypto::hash::hash_all
    - SpdmResult::is_ok
    - Ok
    - iter
    - Err
    - get_hash_size
    - ok_or
    - SpdmResult::is_err
    - crypto::is_root_certificate
    - contains
    - flatten
    - crypto::check_leaf_certificate
    - len
    - is_none
    - copy_from_slice
    - as_ref
    - crypto::cert_operation::get_cert_from_cert_chain
    - crypto::cert_operation::verify_cert_chain
    linkageType: ''
    returnType: SpdmResult
    signature: pub fn verify_spdm_certificate_chain(&mut self) -> SpdmResult
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:20,1
    - Dst: is_none
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:20,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:21,1
    - Dst: reset_buffer_via_request_code
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:24,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:26,1
    - Dst: RequesterContext::encode_spdm_psk_finish
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:30,1
    - Dst: Features::is_err
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:31,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:32,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:32,1
    - Dst: teardown
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:32,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:36,1
    - Dst: Features::err
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:36,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:36,1
    - Dst: Features::unwrap
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:38,1
    - Dst: RequesterContext::send_message
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:39,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:40,1
    - Dst: Features::is_err
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:42,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:43,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:43,1
    - Dst: teardown
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:43,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:50,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 66
    argCount: 1
    argNames:
    - session_id
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 51
      start: 17
    functionDepth: 10
    functionLinenumber: 17
    functionLinenumberEnd: 51
    functionName: RequesterContext::send_spdm_psk_finish
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs
    functionUses: 1
    functionsReached:
    - teardown
    - RequesterContext::encode_spdm_psk_finish
    - Ok
    - unwrap
    - Err
    - ok_or
    - Features::unwrap
    - RequesterContext::send_message
    - Features::err
    - is_none
    - reset_buffer_via_request_code
    - get_session_via_id
    - Features::is_err
    - Some
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn send_spdm_psk_finish(&mut self, session_id: u32) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RequesterContext::receive_message
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:56,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:57,1
    - Dst: Features::is_err
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:59,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:60,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:60,1
    - Dst: teardown
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:60,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:64,1
    - Dst: Features::err
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:64,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:64,1
    - Dst: Features::unwrap
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:66,1
    - Dst: RequesterContext::handle_spdm_psk_finish_response
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:67,1
    - Dst: Features::is_err
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:68,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:69,1
    - Dst: teardown
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 45
    argCount: 1
    argNames:
    - session_id
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 74
      start: 54
    functionDepth: 13
    functionLinenumber: 54
    functionLinenumberEnd: 74
    functionName: RequesterContext::receive_spdm_psk_finish
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs
    functionUses: 1
    functionsReached:
    - teardown
    - RequesterContext::handle_spdm_psk_finish_response
    - unwrap
    - Err
    - ok_or
    - Features::unwrap
    - Features::err
    - get_session_via_id
    - Features::is_err
    - RequesterContext::receive_message
    - Some
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn receive_spdm_psk_finish(&mut self, session_id: u32) ->
      SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RequesterContext::send_spdm_psk_finish
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:78,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:79,1
    - Dst: teardown
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:80,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:82,1
    - Dst: RequesterContext::receive_spdm_psk_finish
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - session_id
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 11
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: RequesterContext::send_receive_spdm_psk_finish
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs
    functionUses: 2
    functionsReached:
    - teardown
    - RequesterContext::send_spdm_psk_finish
    - Err
    - RequesterContext::receive_spdm_psk_finish
    - get_session_via_id
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn send_receive_spdm_psk_finish(&mut self, session_id: u32)
      -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RequesterContext::send_receive_spdm_psk_finish
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - session_id
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 12
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: RequesterContext::delegate_send_receive_spdm_psk_finish
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs
    functionUses: 0
    functionsReached:
    - RequesterContext::send_receive_spdm_psk_finish
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn delegate_send_receive_spdm_psk_finish(&mut self, session_id:
      u32) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:94,1
    - Dst: SpdmMessagePayload::SpdmPskFinishRequest
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:106,1
    - Dst: get_hash_size
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:108,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:109,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:114,1
    - Dst: get_hash_size
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:117,1
    - Dst: append_message_f
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:120,1
    - Dst: get_immutable_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:123,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:123,1
    - Dst: calc_req_transcript_hash
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:127,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:129,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:129,1
    - Dst: generate_hmac_with_request_finished_key
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:133,1
    - Dst: SpdmResult::as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:133,1
    - Dst: append_message_f
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:135,1
    - Dst: Option::as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:136,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:139,1
    - Dst: Option::as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:139,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:140,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 73
    argCount: 2
    argNames:
    - session_id
    - buf
    argTypes:
    - u32
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 141
      start: 93
    functionDepth: 9
    functionLinenumber: 93
    functionLinenumberEnd: 141
    functionName: RequesterContext::encode_spdm_psk_finish
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs
    functionUses: 1
    functionsReached:
    - spdm_encode
    - calc_req_transcript_hash
    - SpdmMessagePayload::SpdmPskFinishRequest
    - generate_hmac_with_request_finished_key
    - append_message_f
    - SpdmResult::as_ref
    - Option::as_ref
    - Box::new
    - get_hash_size
    - ok_or
    - Writer::init
    - copy_from_slice
    - get_session_via_id
    - Ok
    - get_immutable_session_via_id
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn encode_spdm_psk_finish(&mut self, session_id: u32, buf: &mut
      [u8]) -> SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:148,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:149,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:152,1
    - Dst: SpdmPskFinishResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:157,1
    - Dst: Result::used
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:158,1
    - Dst: append_message_f
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:163,1
    - Dst: get_immutable_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:169,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:169,1
    - Dst: calc_req_transcript_hash
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:174,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:178,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:178,1
    - Dst: set_th2
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:182,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:182,1
    - Dst: generate_data_secret
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:183,1
    - Dst: set_session_state
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:184,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:188,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:191,1
    - Dst: RequesterContext::spdm_handle_error_response_main
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:194,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:196,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:201,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs:204,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 77
    argCount: 2
    argNames:
    - session_id
    - receive_buffer
    argTypes:
    - u32
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 206
      start: 143
    functionDepth: 11
    functionLinenumber: 143
    functionLinenumberEnd: 206
    functionName: RequesterContext::handle_spdm_psk_finish_response
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs
    functionUses: 1
    functionsReached:
    - Result::used
    - calc_req_transcript_hash
    - generate_data_secret
    - set_th2
    - clone
    - RequesterContext::spdm_handle_error_response_main
    - append_message_f
    - Ok
    - SpdmPskFinishResponsePayload::spdm_read
    - Err
    - SpdmMessageHeader::read
    - ok_or
    - Reader::init
    - get_session_via_id
    - set_session_state
    - get_immutable_session_via_id
    - Some
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn handle_spdm_psk_finish_response(&mut self,session_id: u32,receive_buffer:
      &[u8],) -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: (usize, Option::clone
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:30,1
    - Dst: SpdmPskHintStruct::default
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:32,1
    - Dst: reset_buffer_via_request_code
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:35,1
    - Dst: get_next_half_session_id
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:38,1
    - Dst: RequesterContext::encode_spdm_psk_exchange
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:39,1
    - Dst: RequesterContext::send_message
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:46,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:49,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - measurement_summary_hash_type
    - psk_hint
    - send_buffer
    argTypes:
    - SpdmMeasurementSummaryHashType
    - Option<&SpdmPskHintStruct>
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 50
      start: 21
    functionDepth: 9
    functionLinenumber: 21
    functionLinenumberEnd: 50
    functionName: RequesterContext::send_spdm_psk_exchange
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs
    functionUses: 1
    functionsReached:
    - (usize, Option::clone
    - RequesterContext::send_message
    - get_next_half_session_id
    - SpdmPskHintStruct::default
    - reset_buffer_via_request_code
    - RequesterContext::encode_spdm_psk_exchange
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn send_spdm_psk_exchange(&mut self,measurement_summary_hash_type:
      SpdmMeasurementSummaryHashType,psk_hint: Option<&SpdmPskHintStruct>,send_buffer:
      &mut [u8],) -> SpdmResult<(u16, SpdmPskHintStruct, usize)>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RequesterContext::receive_message
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:62,1
    - Dst: RequesterContext::handle_spdm_psk_exchange_response
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:67,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:76,1
    - Dst: teardown
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:77,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:81,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:83,1
    - Dst: None::unwrap
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:83,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 4
    argNames:
    - half_session_id
    - measurement_summary_hash_type
    - psk_hint
    - send_buffer
    argTypes:
    - u16
    - SpdmMeasurementSummaryHashType
    - '&SpdmPskHintStruct'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 85
      start: 53
    functionDepth: 13
    functionLinenumber: 53
    functionLinenumberEnd: 85
    functionName: RequesterContext::receive_spdm_psk_exchange
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs
    functionUses: 1
    functionsReached:
    - teardown
    - Err
    - get_session_via_id
    - None::unwrap
    - RequesterContext::handle_spdm_psk_exchange_response
    - Ok
    - RequesterContext::receive_message
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn receive_spdm_psk_exchange(&mut self,half_session_id:
      u16,measurement_summary_hash_type: SpdmMeasurementSummaryHashType,psk_hint:
      &SpdmPskHintStruct,send_buffer: &[u8],) -> SpdmResult<u32>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RequesterContext::send_spdm_psk_exchange
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:94,1
    - Dst: RequesterContext::receive_spdm_psk_exchange
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - measurement_summary_hash_type
    - psk_hint
    argTypes:
    - SpdmMeasurementSummaryHashType
    - Option<&SpdmPskHintStruct>
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 10
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: RequesterContext::send_receive_spdm_psk_exchange
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs
    functionUses: 1
    functionsReached:
    - RequesterContext::receive_spdm_psk_exchange
    - RequesterContext::send_spdm_psk_exchange
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub async fn send_receive_spdm_psk_exchange(&mut self,measurement_summary_hash_type:
      SpdmMeasurementSummaryHashType,psk_hint: Option<&SpdmPskHintStruct>,) -> SpdmResult<u32>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:113,1
    - Dst: crypto::rand::get_random
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:116,1
    - Dst: SecuredMessageVersion::default
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:120,1
    - Dst: iter
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:123,1
    - Dst: flatten
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:123,1
    - Dst: SpdmOpaqueStruct::from_sm_supported_ver_list_opaque
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:129,1
    - Dst: SpdmMessagePayload::SpdmPskExchangeRequest
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:141,1
    - Dst: '&SpdmPskHintStruct::clone'
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:144,1
    - Dst: get_hash_size
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:146,1
    - Dst: spdm_encode
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 51
    argCount: 4
    argNames:
    - half_session_id
    - measurement_summary_hash_type
    - psk_hint
    - buf
    argTypes:
    - u16
    - SpdmMeasurementSummaryHashType
    - '&SpdmPskHintStruct'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 153
      start: 106
    functionDepth: 5
    functionLinenumber: 106
    functionLinenumberEnd: 153
    functionName: RequesterContext::encode_spdm_psk_exchange
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs
    functionUses: 1
    functionsReached:
    - spdm_encode
    - crypto::rand::get_random
    - flatten
    - iter
    - get_hash_size
    - Writer::init
    - SpdmMessagePayload::SpdmPskExchangeRequest
    - '&SpdmPskHintStruct::clone'
    - SpdmOpaqueStruct::from_sm_supported_ver_list_opaque
    - SecuredMessageVersion::default
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn encode_spdm_psk_exchange(&mut self,half_session_id: u16,measurement_summary_hash_type:
      SpdmMeasurementSummaryHashType,psk_hint: &SpdmPskHintStruct,buf: &mut [u8],)
      -> SpdmResult<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::init
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:169,1
    - Dst: SpdmMessageHeader::read
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:170,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:173,1
    - Dst: SpdmPskExchangeResponsePayload::spdm_read
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:177,1
    - Dst: Result::used
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:181,1
    - Dst: lock
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:192,1
    - Dst: deref_mut
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:194,1
    - Dst: get_sequence_number_count
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:195,1
    - Dst: lock
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:198,1
    - Dst: deref_mut
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:200,1
    - Dst: get_max_random_count
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:201,1
    - Dst: req_get_dmtf_secure_spdm_version_selection
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:204,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:204,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:211,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:213,1
    - Dst: get_next_avaiable_session
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:215,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:215,1
    - Dst: setup
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:220,1
    - Dst: set_use_psk
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:222,1
    - Dst: set_crypto_param
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:224,1
    - Dst: set_transport_param
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:231,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:233,1
    - Dst: '&SpdmPskHintStruct::clone'
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:233,1
    - Dst: get_hash_size
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:239,1
    - Dst: append_message_k
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:242,1
    - Dst: append_message_k
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:243,1
    - Dst: get_immutable_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:248,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:248,1
    - Dst: calc_req_transcript_hash
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:254,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:257,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:257,1
    - Dst: set_th1
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:261,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:261,1
    - Dst: generate_handshake_secret
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:262,1
    - Dst: get_immutable_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:264,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:264,1
    - Dst: calc_req_transcript_hash
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:271,1
    - Dst: get_immutable_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:273,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:273,1
    - Dst: verify_hmac_with_response_finished_key
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:278,1
    - Dst: SpdmResult::as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:280,1
    - Dst: SpdmResult::is_err
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:278,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:286,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:286,1
    - Dst: teardown
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:290,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:291,1
    - Dst: append_message_k
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:297,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:299,1
    - Dst: is_err
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:297,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:302,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:302,1
    - Dst: teardown
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:306,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:307,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:310,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:310,1
    - Dst: set_session_state
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:314,1
    - Dst: get_immutable_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:318,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:318,1
    - Dst: contains
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:322,1
    - Dst: calc_req_transcript_hash
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:330,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:334,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:334,1
    - Dst: set_th2
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:338,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:338,1
    - Dst: generate_data_secret
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:339,1
    - Dst: set_session_state
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:340,1
    - Dst: get_session_via_id
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:345,1
    - Dst: ok_or
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:345,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:352,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:355,1
    - Dst: RequesterContext::spdm_handle_error_response_main
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:359,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:366,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:367,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:370,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs:373,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 310
    argCount: 6
    argNames:
    - half_session_id
    - measurement_summary_hash_type
    - psk_hint
    - send_buffer
    - receive_buffer
    - target_session_id
    argTypes:
    - u16
    - SpdmMeasurementSummaryHashType
    - '&SpdmPskHintStruct'
    - '&[u8]'
    - '&[u8]'
    - '&mut Option<u32>'
    constantsTouched: []
    func_position:
      end: 375
      start: 155
    functionDepth: 11
    functionLinenumber: 155
    functionLinenumberEnd: 375
    functionName: RequesterContext::handle_spdm_psk_exchange_response
    functionSourceFile: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs
    functionUses: 1
    functionsReached:
    - teardown
    - Result::used
    - calc_req_transcript_hash
    - generate_handshake_secret
    - RequesterContext::spdm_handle_error_response_main
    - set_use_psk
    - ok_or
    - append_message_k
    - set_transport_param
    - get_sequence_number_count
    - SpdmPskExchangeResponsePayload::spdm_read
    - set_th1
    - set_session_state
    - get_immutable_session_via_id
    - clone
    - set_th2
    - get_max_random_count
    - SpdmResult::as_ref
    - get_next_avaiable_session
    - Reader::init
    - get_session_via_id
    - is_err
    - Ok
    - setup
    - Some
    - generate_data_secret
    - set_crypto_param
    - Err
    - SpdmMessageHeader::read
    - get_hash_size
    - SpdmResult::is_err
    - contains
    - '&SpdmPskHintStruct::clone'
    - deref_mut
    - verify_hmac_with_response_finished_key
    - as_ref
    - lock
    - req_get_dmtf_secure_spdm_version_selection
    linkageType: ''
    returnType: SpdmResult
    signature: 'pub fn handle_spdm_psk_exchange_response(&mut self,half_session_id:
      u16,measurement_summary_hash_type: SpdmMeasurementSummaryHashType,psk_hint:
      &SpdmPskHintStruct,send_buffer: &[u8],receive_buffer: &[u8],target_session_id:
      &mut Option<u32>,) -> SpdmResult<u32>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_get_or_init
      Src: /src/spdm-rs/spdmlib/src/time/mod.rs:22,1
    - Dst: clone
      Src: /src/spdm-rs/spdmlib/src/time/mod.rs:23,1
    - Dst: ok
      Src: /src/spdm-rs/spdmlib/src/time/mod.rs:22,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib/src/time/mod.rs:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - us
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 27
      start: 21
    functionDepth: 9
    functionLinenumber: 21
    functionLinenumberEnd: 27
    functionName: sleep
    functionSourceFile: /src/spdm-rs/spdmlib/src/time/mod.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - ok
    - try_get_or_init
    - clone
    linkageType: ''
    returnType: void
    signature: 'pub fn sleep(us: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzz_encap_handle_get_digest
      Src: /src/spdm-rs/spdmlib/fuzz/fuzz_targets/encapsulated_request_digest_req.rs:3,1
    - Dst: Arc::new
      Src: /src/spdm-rs/spdmlib/fuzz/fuzz_targets/encapsulated_request_digest_req.rs:3,1
    - Dst: to_vec
      Src: /src/spdm-rs/spdmlib/fuzz/fuzz_targets/encapsulated_request_digest_req.rs:3,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 13
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: fuzz_target
    functionSourceFile: /src/spdm-rs/spdmlib/fuzz/fuzz_targets/encapsulated_request_digest_req.rs
    functionUses: 0
    functionsReached:
    - Arc::new
    - fuzz_encap_handle_get_digest
    - to_vec
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expect
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/self_test.rs:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: rand
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/self_test.rs
    functionUses: 1
    functionsReached:
    - expect
    linkageType: ''
    returnType: c_int
    signature: pub unsafe extern "C" fn rand() -> c_int
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/self_test.rs:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - rand
    - log
    argTypes:
    - fn() -> c_int
    - Option<unsafe fn(*const c_char)>
    constantsTouched: []
    func_position:
      end: 75
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 75
    functionName: enable
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/self_test.rs
    functionUses: 0
    functionsReached:
    - Some
    linkageType: ''
    returnType: void
    signature: 'pub unsafe fn enable(rand: fn() -> c_int, log: Option<unsafe fn(*const
      c_char)>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: disable
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/self_test.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: pub unsafe fn disable()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _what
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: mbedtls_aesni_has_support
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: i32
    signature: 'pub extern "C" fn mbedtls_aesni_has_support(_what: u32) -> i32'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 3
    argNames:
    - _ctx
    - _input
    - _output
    argTypes:
    - '*mut mbedtls_sys::types::raw_types::c_void'
    - '*const u8'
    - '*mut u8'
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: mbedtls_internal_aes_encrypt
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: i32
    signature: 'pub extern "C" fn mbedtls_internal_aes_encrypt(_ctx: *mut mbedtls_sys::types::raw_types::c_void,_input:
      *const u8,_output: *mut u8) -> i32'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 3
    argNames:
    - _ctx
    - _input
    - _output
    argTypes:
    - '*mut mbedtls_sys::types::raw_types::c_void'
    - '*const u8'
    - '*mut u8'
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: mbedtls_internal_aes_decrypt
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: i32
    signature: 'pub extern "C" fn mbedtls_internal_aes_decrypt(_ctx: *mut mbedtls_sys::types::raw_types::c_void,_input:
      *const u8,_output: *mut u8) -> i32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '*mut mbedtls_sys::types::tm::is_null'
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/lib.rs:71,1
    - Dst: core::ptr::null_mut
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/lib.rs:72,1
    - Dst: NaiveDateTime::from_timestamp_opt
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/lib.rs:74,1
    - Dst: core::ptr::null_mut
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/lib.rs:76,1
    - Dst: DateTime::<Utc>::from_utc
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/lib.rs:79,1
    - Dst: Self::second
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/lib.rs:82,1
    - Dst: Self::minute
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/lib.rs:83,1
    - Dst: Self::hour
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/lib.rs:84,1
    - Dst: Self::day
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/lib.rs:85,1
    - Dst: Self::month0
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/lib.rs:86,1
    - Dst: Self::year
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/lib.rs:87,1
    - Dst: checked_sub
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/lib.rs:87,1
    - Dst: core::ptr::null_mut
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/lib.rs:89,1
    - Dst: Self::weekday
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/lib.rs:91,1
    - Dst: num_days_from_sunday
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/lib.rs:91,1
    - Dst: Self::ordinal0
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/lib.rs:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 73
    argCount: 2
    argNames:
    - tt
    - tp
    argTypes:
    - '*const mbedtls_sys::types::time_t'
    - '*mut mbedtls_sys::types::tm'
    constantsTouched: []
    func_position:
      end: 96
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 96
    functionName: mbedtls_platform_gmtime_r
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/lib.rs
    functionUses: 0
    functionsReached:
    - Self::minute
    - Self::year
    - Self::hour
    - Self::day
    - checked_sub
    - '*mut mbedtls_sys::types::tm::is_null'
    - Self::month0
    - Self::weekday
    - num_days_from_sunday
    - core::ptr::null_mut
    - Self::second
    - NaiveDateTime::from_timestamp_opt
    - Self::ordinal0
    - DateTime::<Utc>::from_utc
    linkageType: ''
    returnType: '*mut mbedtls_sys::types::tm'
    signature: 'pub unsafe extern "C" fn mbedtls_platform_gmtime_r(tt: *const mbedtls_sys::types::time_t,
      tp: *mut mbedtls_sys::types::tm) -> *mut mbedtls_sys::types::tm'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chrono::Utc::now
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/lib.rs:103,1
    - Dst: core::result::Result::timestamp
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/lib.rs:103,1
    - Dst: '*mut mbedtls_sys::types::time_t::is_null'
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/lib.rs:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - tp
    argTypes:
    - '*mut mbedtls_sys::types::time_t'
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: mbedtls_time
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/lib.rs
    functionUses: 0
    functionsReached:
    - '*mut mbedtls_sys::types::time_t::is_null'
    - core::result::Result::timestamp
    - chrono::Utc::now
    linkageType: ''
    returnType: mbedtls_sys::types::time_t
    signature: 'pub unsafe extern "C" fn mbedtls_time(tp: *mut mbedtls_sys::types::time_t)
      -> mbedtls_sys::types::time_t'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '*mut *mut StaticMutex::as_mut'
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/threading.rs:50,1
    - Dst: Box::into_raw
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/threading.rs:51,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/threading.rs:51,1
    - Dst: Mutex::new
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/threading.rs:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - '*mut *mut StaticMutex'
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: StaticMutex::init
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/threading.rs
    functionUses: 0
    functionsReached:
    - Box::new
    - Box::into_raw
    - '*mut *mut StaticMutex::as_mut'
    - Mutex::new
    linkageType: ''
    returnType: void
    signature: 'unsafe extern "C" fn init(mutex: *mut *mut StaticMutex)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '*mut *mut StaticMutex::as_mut'
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/threading.rs:59,1
    - Dst: ptr::null_mut
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/threading.rs:60,1
    - Dst: Box::from_raw
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/threading.rs:61,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/threading.rs:62,1
    - Dst: ptr::null_mut
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/threading.rs:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - '*mut *mut StaticMutex'
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 8
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: StaticMutex::free
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/threading.rs
    functionUses: 0
    functionsReached:
    - ptr::null_mut
    - '*mut *mut StaticMutex::as_mut'
    - take
    - Box::from_raw
    linkageType: ''
    returnType: void
    signature: 'unsafe extern "C" fn free(mutex: *mut *mut StaticMutex)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '*mut *mut StaticMutex::as_mut'
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/threading.rs:69,1
    - Dst: '&mut [u8]::and_then'
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/threading.rs:69,1
    - Dst: as_mut
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/threading.rs:69,1
    - Dst: lock
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/threading.rs:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - '*mut *mut StaticMutex'
    constantsTouched: []
    func_position:
      end: 87
      start: 68
    functionDepth: 6
    functionLinenumber: 68
    functionLinenumberEnd: 87
    functionName: StaticMutex::lock
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/threading.rs
    functionUses: 0
    functionsReached:
    - lock
    - as_mut
    - '&mut [u8]::and_then'
    - '*mut *mut StaticMutex::as_mut'
    linkageType: ''
    returnType: c_int
    signature: 'unsafe extern "C" fn lock(mutex: *mut *mut StaticMutex) -> c_int'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '*mut *mut StaticMutex::as_mut'
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/threading.rs:90,1
    - Dst: '&mut [u8]::and_then'
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/threading.rs:90,1
    - Dst: as_mut
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/threading.rs:90,1
    - Dst: take
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/threading.rs:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - '*mut *mut StaticMutex'
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 8
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: StaticMutex::unlock
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/threading.rs
    functionUses: 0
    functionsReached:
    - take
    - as_mut
    - '&mut [u8]::and_then'
    - '*mut *mut StaticMutex::as_mut'
    linkageType: ''
    returnType: c_int
    signature: 'unsafe extern "C" fn unlock(mutex: *mut *mut StaticMutex) -> c_int'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ptr::null_mut
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/threading.rs:101,1
    - Dst: mbedtls_mutex_init
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/threading.rs:102,1
    - Dst: mbedtls_mutex_free
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/threading.rs:103,1
    - Dst: mbedtls_mutex_free
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/threading.rs:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: test_double_free
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/threading.rs
    functionUses: 1
    functionsReached:
    - ptr::null_mut
    - mbedtls_mutex_free
    - mbedtls_mutex_init
    linkageType: ''
    returnType: void
    signature: pub fn test_double_free()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_double_free
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/threading.rs:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: tests::double_free
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/threading.rs
    functionUses: 0
    functionsReached:
    - test_double_free
    linkageType: ''
    returnType: void
    signature: fn double_free()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hmac_impl.rs:54,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hmac_impl.rs:56,1
    - Dst: hmac
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hmac_impl.rs:68,1
    - Dst: bool::as_ref
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hmac_impl.rs:68,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hmac_impl.rs:68,1
    - Dst: SpdmDigestStruct::from
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hmac_impl.rs:71,1
    - Dst: hmac_verify
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hmac_impl.rs:72,1
    - Dst: bool::as_ref
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hmac_impl.rs:72,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hmac_impl.rs:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 51
    functionDepth: 10
    functionLinenumber: 51
    functionLinenumberEnd: 73
    functionName: tests::test_case_rfc4231_2
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hmac_impl.rs
    functionUses: 0
    functionsReached:
    - SpdmResult::unwrap
    - bool::as_ref
    - SpdmDigestStruct::from
    - hmac_verify
    - hmac
    - Option::unwrap
    - Box::new
    - copy_from_slice
    linkageType: ''
    returnType: void
    signature: fn test_case_rfc4231_2()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: random
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - _user_data
    - data
    - len
    argTypes:
    - '*mut c_void'
    - '*mut c_uchar'
    - size_t
    constantsTouched: []
    func_position:
      end: 154
      start: 148
    functionDepth: 16
    functionLinenumber: 148
    functionLinenumberEnd: 154
    functionName: RdRand::call
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs
    functionUses: 0
    functionsReached:
    - random
    linkageType: ''
    returnType: c_int
    signature: 'unsafe extern "C" fn call(_user_data: *mut c_void, data: *mut c_uchar,
      len: size_t) -> c_intwhereSelf: Sized,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::ptr::null_mut
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: RdRand::data_ptr
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs
    functionUses: 0
    functionsReached:
    - core::ptr::null_mut
    linkageType: ''
    returnType: '*mut c_void'
    signature: fn data_ptr(&self) -> *mut c_void
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:163,1
    - Dst: generate_key_pair
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:164,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:164,1
    - Dst: generate_key_pair
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:165,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:165,1
    - Dst: compute_final_key
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:167,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:167,1
    - Dst: compute_final_key
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:168,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 162
    functionDepth: 11
    functionLinenumber: 162
    functionLinenumberEnd: 172
    functionName: test_case0_dhe
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs
    functionUses: 0
    functionsReached:
    - compute_final_key
    - generate_key_pair
    - unwrap
    - iter
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn test_case0_dhe()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmDheAlgo::empty
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: test_case1_dhe
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs
    functionUses: 0
    functionsReached:
    - SpdmDheAlgo::empty
    linkageType: ''
    returnType: void
    signature: fn test_case1_dhe()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_key_pair
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:185,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:185,1
    - Dst: Option::export_private_key
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:186,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:186,1
    - Dst: import_private_key
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:189,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:189,1
    - Dst: generate_key_pair
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:190,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:190,1
    - Dst: Option::compute_final_key
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:191,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:191,1
    - Dst: Result::compute_final_key
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:192,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 180
    functionDepth: 11
    functionLinenumber: 180
    functionLinenumberEnd: 196
    functionName: test_case2_dhe_export_import
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs
    functionUses: 0
    functionsReached:
    - import_private_key
    - generate_key_pair
    - Option::export_private_key
    - Option::compute_final_key
    - Option::unwrap
    - Result::compute_final_key
    linkageType: ''
    returnType: void
    signature: fn test_case2_dhe_export_import()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs:98,1
    - Dst: len
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 6
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: hash_ext::get_hash_ctx_count
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs
    functionUses: 0
    functionsReached:
    - lock
    - len
    linkageType: ''
    returnType: usize
    signature: pub fn get_hash_ctx_count() -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String::new
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs:131,1
    - Dst: hash_all
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs:132,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs:132,1
    - Dst: Option::as_ref
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 124
    functionDepth: 10
    functionLinenumber: 124
    functionLinenumberEnd: 143
    functionName: test_case1_hash_all
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs
    functionUses: 0
    functionsReached:
    - hash_all
    - Option::as_ref
    - String::new
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn test_case1_hash_all()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_all
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs:147,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 146
    functionDepth: 10
    functionLinenumber: 146
    functionLinenumberEnd: 160
    functionName: test_case2_hash_all_sha512
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs
    functionUses: 0
    functionsReached:
    - hash_all
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn test_case2_hash_all_sha512()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: md_type
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs:58,1
    - Dst: build_spki_der
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs:62,1
    - Dst: Pk::from_public_key
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs:63,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs:63,1
    - Dst: Error::unsupported_algorithm
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs:64,1
    - Dst: is_rsa_pss
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs:70,1
    - Dst: set_options
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs:71,1
    - Dst: digest
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs:77,1
    - Dst: verify
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs:79,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs:79,1
    - Dst: Error::SignatureError
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs:81,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs:85,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 4
    argNames:
    - algorithm
    - tbs_data
    - signature
    - public_key
    argTypes:
    - SignatureAlgorithm
    - '&[u8]'
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 86
      start: 49
    functionDepth: 10
    functionLinenumber: 49
    functionLinenumberEnd: 86
    functionName: MbedtlsBackend::verify_signature
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs
    functionUses: 0
    functionsReached:
    - Error::unsupported_algorithm
    - md_type
    - digest
    - Ok
    - map_err
    - is_rsa_pss
    - verify
    - set_options
    - build_spki_der
    - Pk::from_public_key
    - Error::SignatureError
    linkageType: ''
    returnType: Result
    signature: 'fn verify_signature(&self,algorithm: SignatureAlgorithm,tbs_data:
      &[u8],signature: &[u8],public_key: &[u8],) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs:95,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs:99,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs:100,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs:101,1
    - Dst: Error::unsupported_algorithm
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs:101,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs:105,1
    - Dst: Error::unsupported_algorithm
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - SignatureAlgorithm
    constantsTouched: []
    func_position:
      end: 110
      start: 90
    functionDepth: 5
    functionLinenumber: 90
    functionLinenumberEnd: 110
    functionName: md_type
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs
    functionUses: 4
    functionsReached:
    - Error::unsupported_algorithm
    - Err
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn md_type(algorithm: SignatureAlgorithm) -> Result<MdType>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - SignatureAlgorithm
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: is_rsa_pss
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'fn is_rsa_pss(algorithm: SignatureAlgorithm) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/digest.rs:422,1
    - Dst: Digest::compute_from
      Src: /src/spdm-rs/external/ring/src/digest.rs:423,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/digest.rs:423,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/ring/src/digest.rs:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - algorithm
    - data
    argTypes:
    - '&''static Algorithm'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 426
      start: 421
    functionDepth: 14
    functionLinenumber: 421
    functionLinenumberEnd: 426
    functionName: digest
    functionSourceFile: /src/spdm-rs/external/ring/src/digest.rs
    functionUses: 65
    functionsReached:
    - Result::map_err
    - Digest::compute_from
    - unwrap
    - cpu::features
    linkageType: ''
    returnType: Digest
    signature: 'pub fn digest(algorithm: &''static Algorithm, data: &[u8]) -> Digest'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs:142,1
    - Dst: Any::null
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs:142,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs:146,1
    - Dst: Any::encode_from
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs:146,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs:146,1
    - Dst: Error::unsupported_algorithm
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs:147,1
    - Dst: Some
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs:152,1
    - Dst: Any::encode_from
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs:152,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs:152,1
    - Dst: Error::unsupported_algorithm
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs:153,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs:160,1
    - Dst: Error::unsupported_algorithm
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs:160,1
    - Dst: BitString::from_bytes
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs:166,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs:166,1
    - Dst: Error::unsupported_algorithm
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs:167,1
    - Dst: Vec::to_der
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs:174,1
    - Dst: SpdmResult::map_err
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs:174,1
    - Dst: Error::unsupported_algorithm
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs:175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 40
    argCount: 2
    argNames:
    - algorithm
    - raw_public_key
    argTypes:
    - SignatureAlgorithm
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 176
      start: 133
    functionDepth: 9
    functionLinenumber: 133
    functionLinenumberEnd: 176
    functionName: build_spki_der
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs
    functionUses: 1
    functionsReached:
    - Any::encode_from
    - map_err
    - SpdmResult::map_err
    - Any::null
    - Err
    - Result::map_err
    - Vec::to_der
    - BitString::from_bytes
    - Error::unsupported_algorithm
    - Some
    linkageType: ''
    returnType: Result
    signature: 'fn build_spki_der(algorithm: SignatureAlgorithm, raw_public_key: &[u8])
      -> Result<Vec<u8>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: tests::test_get_cert_from_cert_chain_leaf
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_get_cert_from_cert_chain_leaf()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: tests::test_mbedtls_backend_creation
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_mbedtls_backend_creation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs:16,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs:17,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs:18,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs:19,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - base_hash_algo
    argTypes:
    - SpdmBaseHashAlgo
    constantsTouched: []
    func_position:
      end: 21
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 21
    functionName: get_hash_algo
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs
    functionUses: 2
    functionsReached:
    - Err
    - Ok
    linkageType: ''
    returnType: SpdmResult
    signature: 'fn get_hash_algo(base_hash_algo: SpdmBaseHashAlgo) -> SpdmResult<hash::Type>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ecc_signature_bin_to_der
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs:31,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs:31,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs:32,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs:39,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs:39,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - base_asym_algo
    - signature
    - der_buf
    argTypes:
    - SpdmBaseAsymAlgo
    - '&''a SpdmSignatureStruct'
    - '&''a mut [u8]'
    constantsTouched: []
    func_position:
      end: 42
      start: 23
    functionDepth: 9
    functionLinenumber: 23
    functionLinenumberEnd: 42
    functionName: convert_signature
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs
    functionUses: 2
    functionsReached:
    - ecc_signature_bin_to_der
    - Err
    - Ok
    - Result::as_ref
    linkageType: ''
    returnType: SpdmResult
    signature: 'fn convert_signature<''a>(base_asym_algo: SpdmBaseAsymAlgo,signature:
      &''a SpdmSignatureStruct,der_buf: &''a mut [u8],) -> SpdmResult<&''a [u8]>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_hash_algo
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs:51,1
    - Dst: convert_signature
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs:54,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs:56,1
    - Dst: Pk::from_public_key
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs:58,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs:58,1
    - Dst: verify
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs:59,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs:59,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 5
    argNames:
    - base_hash_algo
    - base_asym_algo
    - raw_pub_key
    - data
    - signature
    argTypes:
    - SpdmBaseHashAlgo
    - SpdmBaseAsymAlgo
    - '&[u8]'
    - '&[u8]'
    - '&SpdmSignatureStruct'
    constantsTouched: []
    func_position:
      end: 61
      start: 44
    functionDepth: 10
    functionLinenumber: 44
    functionLinenumberEnd: 61
    functionName: verify_with_pub_key
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs
    functionUses: 1
    functionsReached:
    - convert_signature
    - map_err
    - unwrap
    - get_hash_algo
    - verify
    - as_ref
    - Pk::from_public_key
    linkageType: ''
    returnType: SpdmResult
    signature: 'fn verify_with_pub_key(base_hash_algo: SpdmBaseHashAlgo,base_asym_algo:
      SpdmBaseAsymAlgo,raw_pub_key: &[u8],data: &[u8],signature: &SpdmSignatureStruct,)
      -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_hash_algo
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs:70,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs:78,1
    - Dst: convert_signature
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs:82,1
    - Dst: unwrap
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs:88,1
    - Dst: Certificate::from_der
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs:91,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs:91,1
    - Dst: public_key_mut
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs:92,1
    - Dst: verify
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs:92,1
    - Dst: as_ref
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs:94,1
    - Dst: map_err
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs:92,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 5
    argNames:
    - base_hash_algo
    - base_asym_algo
    - public_cert_der
    - data
    - signature
    argTypes:
    - SpdmBaseHashAlgo
    - SpdmBaseAsymAlgo
    - '&[u8]'
    - '&[u8]'
    - '&SpdmSignatureStruct'
    constantsTouched: []
    func_position:
      end: 96
      start: 63
    functionDepth: 10
    functionLinenumber: 63
    functionLinenumberEnd: 96
    functionName: verify_with_cert_chain
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs
    functionUses: 1
    functionsReached:
    - convert_signature
    - public_key_mut
    - map_err
    - unwrap
    - Certificate::from_der
    - get_hash_algo
    - Err
    - Result::map_err
    - verify
    - as_ref
    linkageType: ''
    returnType: SpdmResult
    signature: 'fn verify_with_cert_chain(base_hash_algo: SpdmBaseHashAlgo,base_asym_algo:
      SpdmBaseAsymAlgo,public_cert_der: &[u8],data: &[u8],signature: &SpdmSignatureStruct,)
      -> SpdmResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_hex_to_aead_key
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:156,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:156,1
    - Dst: from_hex_to_aead_iv
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:160,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:160,1
    - Dst: from_hex
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:161,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:161,1
    - Dst: from_hex
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:162,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:162,1
    - Dst: from_hex
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:163,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:163,1
    - Dst: from_hex
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:164,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:164,1
    - Dst: encrypt
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:169,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:169,1
    - Dst: decrypt
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:174,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 140
    functionDepth: 8
    functionLinenumber: 140
    functionLinenumberEnd: 177
    functionName: test::test_case_gcm256
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs
    functionUses: 0
    functionsReached:
    - from_hex_to_aead_key
    - Result::unwrap
    - decrypt
    - from_hex
    - encrypt
    - from_hex_to_aead_iv
    linkageType: ''
    returnType: void
    signature: fn test_case_gcm256()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&str::len'
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:180,1
    - Dst: usize::is_multiple_of
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:180,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:181,1
    - Dst: String::from
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:181,1
    - Dst: Vec::with_capacity
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:186,1
    - Dst: '&str::len'
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:186,1
    - Dst: '&str::as_bytes'
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:187,1
    - Dst: chunks
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:187,1
    - Dst: from_hex_digit
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:188,1
    - Dst: from_hex_digit
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:189,1
    - Dst: push
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:190,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:192,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 1
    argNames:
    - hex_str
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 193
      start: 179
    functionDepth: 4
    functionLinenumber: 179
    functionLinenumberEnd: 193
    functionName: test::from_hex
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs
    functionUses: 28
    functionsReached:
    - '&str::len'
    - from_hex_digit
    - Vec::with_capacity
    - '&str::as_bytes'
    - Err
    - usize::is_multiple_of
    - chunks
    - push
    - String::from
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn from_hex(hex_str: &str) -> Result<Vec<u8>, String>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&str::len'
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:196,1
    - Dst: usize::is_multiple_of
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:196,1
    - Dst: '&str::len'
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:196,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:197,1
    - Dst: String::from
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:197,1
    - Dst: '&str::len'
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:203,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:204,1
    - Dst: '&str::as_bytes'
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:206,1
    - Dst: chunks
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:206,1
    - Dst: enumerate
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:206,1
    - Dst: from_hex_digit
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:207,1
    - Dst: from_hex_digit
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:208,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:211,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 45
    argCount: 1
    argNames:
    - hex_str
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 212
      start: 195
    functionDepth: 4
    functionLinenumber: 195
    functionLinenumberEnd: 212
    functionName: test::from_hex_to_aead_key
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs
    functionUses: 0
    functionsReached:
    - '&str::len'
    - enumerate
    - from_hex_digit
    - '&str::as_bytes'
    - Err
    - usize::is_multiple_of
    - Box::new
    - chunks
    - String::from
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn from_hex_to_aead_key(hex_str: &str) -> Result<SpdmAeadKeyStruct,
      String>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&str::len'
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:215,1
    - Dst: usize::is_multiple_of
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:215,1
    - Dst: '&str::len'
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:215,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:216,1
    - Dst: String::from
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:216,1
    - Dst: '&str::len'
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:222,1
    - Dst: Box::new
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:223,1
    - Dst: '&str::as_bytes'
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:225,1
    - Dst: chunks
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:225,1
    - Dst: enumerate
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:225,1
    - Dst: from_hex_digit
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:226,1
    - Dst: from_hex_digit
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:227,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:230,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 45
    argCount: 1
    argNames:
    - hex_str
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 231
      start: 214
    functionDepth: 4
    functionLinenumber: 214
    functionLinenumberEnd: 231
    functionName: test::from_hex_to_aead_iv
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs
    functionUses: 0
    functionsReached:
    - '&str::len'
    - enumerate
    - from_hex_digit
    - '&str::as_bytes'
    - Err
    - usize::is_multiple_of
    - Box::new
    - chunks
    - String::from
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn from_hex_to_aead_iv(hex_str: &str) -> Result<SpdmAeadIvStruct,
      String>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&RangeInclusive::contains'
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:239,1
    - Dst: Ok
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:240,1
    - Dst: '&RangeInclusive::start'
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:240,1
    - Dst: Err
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - d
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 244
      start: 233
    functionDepth: 4
    functionLinenumber: 233
    functionLinenumberEnd: 244
    functionName: test::from_hex_digit
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs
    functionUses: 0
    functionsReached:
    - '&RangeInclusive::start'
    - '&RangeInclusive::contains'
    - Err
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn from_hex_digit(d: u8) -> Result<u8, String>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::arch::x86_64::_rdrand64_step
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/rand_impl.rs:22,1
    - Dst: add
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/rand_impl.rs:22,1
    - Dst: core::arch::x86_64::_rdrand64_step
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/rand_impl.rs:32,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/rand_impl.rs:32,1
    - Dst: core::slice::from_raw_parts_mut
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/rand_impl.rs:38,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/spdmlib_crypto_mbedtls/src/rand_impl.rs:38,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 49
    argCount: 2
    argNames:
    - output
    - len
    argTypes:
    - '*mut u8'
    - usize
    constantsTouched: []
    func_position:
      end: 40
      start: 16
    functionDepth: 15
    functionLinenumber: 16
    functionLinenumberEnd: 40
    functionName: random
    functionSourceFile: /src/spdm-rs/spdmlib_crypto_mbedtls/src/rand_impl.rs
    functionUses: 15
    functionsReached:
    - add
    - core::arch::x86_64::_rdrand64_step
    - as_mut_ptr
    - copy_from_slice
    - core::slice::from_raw_parts_mut
    linkageType: ''
    returnType: i32
    signature: 'pub unsafe fn random(output: *mut u8, len: usize) -> i32'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 9
    functionName: test_fips_mode
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/tests/sanity-tests.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_fips_mode()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc_sys::ERR_get_error
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/tests/sanity-tests.rs:14,1
    - Dst: aws_lc_sys::ERR_GET_LIB
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/tests/sanity-tests.rs:15,1
    - Dst: aws_lc_sys::ERR_GET_REASON
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/tests/sanity-tests.rs:16,1
    - Dst: aws_lc_sys::ERR_GET_FUNC
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/tests/sanity-tests.rs:17,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 22
    functionName: error_checking
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/tests/sanity-tests.rs
    functionUses: 0
    functionsReached:
    - aws_lc_sys::ERR_get_error
    - aws_lc_sys::ERR_GET_FUNC
    - aws_lc_sys::ERR_GET_REASON
    - aws_lc_sys::ERR_GET_LIB
    linkageType: ''
    returnType: void
    signature: fn error_checking()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - storage
    argTypes:
    - Storage
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: __BindgenBitfieldUnit::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub const fn new(storage: Storage) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - byte
    - index
    argTypes:
    - u8
    - usize
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: __BindgenBitfieldUnit::extract_bit
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'fn extract_bit(byte: u8, index: usize) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:64,1
    - Dst: Self::extract_bit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - index
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: __BindgenBitfieldUnit::get_bit
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 1
    functionsReached:
    - as_ref
    - Self::extract_bit
    linkageType: ''
    returnType: bool
    signature: 'pub fn get_bit(&self, index: usize) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: offset
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:72,1
    - Dst: Self::extract_bit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - this
    - index
    argTypes:
    - '*const Self'
    - usize
    constantsTouched: []
    func_position:
      end: 75
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 75
    functionName: __BindgenBitfieldUnit::raw_get_bit
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - offset
    - Self::extract_bit
    linkageType: ''
    returnType: bool
    signature: 'pub unsafe fn raw_get_bit(this: *const Self, index: usize) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - byte
    - index
    - val
    argTypes:
    - u8
    - usize
    - bool
    constantsTouched: []
    func_position:
      end: 89
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 89
    functionName: __BindgenBitfieldUnit::change_bit
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: 'fn change_bit(byte: u8, index: usize, val: bool) -> u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_mut
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:94,1
    - Dst: Self::change_bit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - index
    - val
    argTypes:
    - usize
    - bool
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: __BindgenBitfieldUnit::set_bit
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 1
    functionsReached:
    - as_mut
    - Self::change_bit
    linkageType: ''
    returnType: void
    signature: 'pub fn set_bit(&mut self, index: usize, val: bool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: offset
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:102,1
    - Dst: Self::change_bit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - this
    - index
    - val
    argTypes:
    - '*mut Self'
    - usize
    - bool
    constantsTouched: []
    func_position:
      end: 105
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 105
    functionName: __BindgenBitfieldUnit::raw_set_bit
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - offset
    - Self::change_bit
    linkageType: ''
    returnType: void
    signature: 'pub unsafe fn raw_set_bit(this: *mut Self, index: usize, val: bool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __BindgenBitfieldUnit::get_bit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - bit_offset
    - bit_width
    argTypes:
    - usize
    - u8
    constantsTouched: []
    func_position:
      end: 123
      start: 107
    functionDepth: 3
    functionLinenumber: 107
    functionLinenumberEnd: 123
    functionName: __BindgenBitfieldUnit::get
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - __BindgenBitfieldUnit::get_bit
    linkageType: ''
    returnType: u64
    signature: 'pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::raw_get_bit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - this
    - bit_offset
    - bit_width
    argTypes:
    - '*const Self'
    - usize
    - u8
    constantsTouched: []
    func_position:
      end: 141
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 141
    functionName: __BindgenBitfieldUnit::raw_get
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - Self::raw_get_bit
    linkageType: ''
    returnType: u64
    signature: 'pub unsafe fn raw_get(this: *const Self, bit_offset: usize, bit_width:
      u8) -> u64'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __BindgenBitfieldUnit::set_bit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - bit_offset
    - bit_width
    - val
    argTypes:
    - usize
    - u8
    - u64
    constantsTouched: []
    func_position:
      end: 157
      start: 143
    functionDepth: 3
    functionLinenumber: 143
    functionLinenumberEnd: 157
    functionName: __BindgenBitfieldUnit::set
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - __BindgenBitfieldUnit::set_bit
    linkageType: ''
    returnType: void
    signature: 'pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::raw_set_bit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:171,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - this
    - bit_offset
    - bit_width
    - val
    argTypes:
    - '*mut Self'
    - usize
    - u8
    - u64
    constantsTouched: []
    func_position:
      end: 173
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 173
    functionName: __BindgenBitfieldUnit::raw_set
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - Self::raw_set_bit
    linkageType: ''
    returnType: void
    signature: 'pub unsafe fn raw_set(this: *mut Self, bit_offset: usize, bit_width:
      u8, val: u64)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_apple_darwin_crypto.rs:4070,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4091
      start: 4067
    functionDepth: 1
    functionLinenumber: 4067
    functionLinenumberEnd: 4091
    functionName: bindgen_test_layout__opaque_pthread_rwlock_t
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_apple_darwin_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout__opaque_pthread_rwlock_t()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_apple_darwin_crypto.rs:4094,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_apple_darwin_crypto.rs:4096,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_apple_darwin_crypto.rs:4096,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_apple_darwin_crypto.rs:4097,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4099
      start: 4093
    functionDepth: 2
    functionLinenumber: 4093
    functionLinenumberEnd: 4099
    functionName: _opaque_pthread_rwlock_t::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_apple_darwin_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:3585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3606
      start: 3583
    functionDepth: 1
    functionLinenumber: 3583
    functionLinenumberEnd: 3606
    functionName: bindgen_test_layout_aes_key_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_aes_key_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:3609,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:3611,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:3611,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:3612,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3614
      start: 3608
    functionDepth: 2
    functionLinenumber: 3608
    functionLinenumberEnd: 3614
    functionName: aes_key_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:4932,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4990
      start: 4930
    functionDepth: 1
    functionLinenumber: 4930
    functionLinenumberEnd: 4990
    functionName: bindgen_test_layout_tm
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_tm()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:4993,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:4995,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:4995,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:4996,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4998
      start: 4992
    functionDepth: 2
    functionLinenumber: 4992
    functionLinenumberEnd: 4998
    functionName: tm::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:3772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3789
      start: 3770
    functionDepth: 1
    functionLinenumber: 3770
    functionLinenumberEnd: 3789
    functionName: bindgen_test_layout___sbuf
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout___sbuf()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:3792,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:3794,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:3794,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:3795,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3797
      start: 3791
    functionDepth: 2
    functionLinenumber: 3791
    functionLinenumberEnd: 3797
    functionName: __sbuf::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_apple_darwin_crypto.rs:5046,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5157
      start: 5044
    functionDepth: 1
    functionLinenumber: 5044
    functionLinenumberEnd: 5157
    functionName: bindgen_test_layout___sFILE
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_apple_darwin_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout___sFILE()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_apple_darwin_crypto.rs:5160,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_apple_darwin_crypto.rs:5162,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_apple_darwin_crypto.rs:5162,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_apple_darwin_crypto.rs:5163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5165
      start: 5159
    functionDepth: 2
    functionLinenumber: 5159
    functionLinenumberEnd: 5165
    functionName: __sFILE::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_apple_darwin_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:3814,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3840
      start: 3812
    functionDepth: 1
    functionLinenumber: 3812
    functionLinenumberEnd: 3840
    functionName: bindgen_test_layout_buf_mem_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_buf_mem_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:3843,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:3845,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:3845,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:3846,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3848
      start: 3842
    functionDepth: 2
    functionLinenumber: 3842
    functionLinenumberEnd: 3848
    functionName: buf_mem_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:3886,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3922
      start: 3884
    functionDepth: 1
    functionLinenumber: 3884
    functionLinenumberEnd: 3922
    functionName: bindgen_test_layout_sha_state_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_sha_state_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:3925,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:3927,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:3927,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:3928,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3930
      start: 3924
    functionDepth: 2
    functionLinenumber: 3924
    functionLinenumberEnd: 3930
    functionName: sha_state_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:3993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4034
      start: 3991
    functionDepth: 1
    functionLinenumber: 3991
    functionLinenumberEnd: 4034
    functionName: bindgen_test_layout_sha256_state_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_sha256_state_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:4037,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:4039,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:4039,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:4040,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4042
      start: 4036
    functionDepth: 2
    functionLinenumber: 4036
    functionLinenumberEnd: 4042
    functionName: sha256_state_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:4101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4142
      start: 4099
    functionDepth: 1
    functionLinenumber: 4099
    functionLinenumberEnd: 4142
    functionName: bindgen_test_layout_sha512_state_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_sha512_state_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:4145,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:4147,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:4147,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:4148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4150
      start: 4144
    functionDepth: 2
    functionLinenumber: 4144
    functionLinenumberEnd: 4150
    functionName: sha512_state_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:5792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5813
      start: 5790
    functionDepth: 1
    functionLinenumber: 5790
    functionLinenumberEnd: 5813
    functionName: bindgen_test_layout_CRYPTO_dynlock
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_CRYPTO_dynlock()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:5816,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:5818,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:5818,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:5819,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5821
      start: 5815
    functionDepth: 2
    functionLinenumber: 5815
    functionLinenumberEnd: 5821
    functionName: CRYPTO_dynlock::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:4759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4775
      start: 4757
    functionDepth: 1
    functionLinenumber: 4757
    functionLinenumberEnd: 4775
    functionName: bindgen_test_layout_crypto_ex_data_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_crypto_ex_data_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:4778,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:4780,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:4780,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:4781,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4783
      start: 4777
    functionDepth: 2
    functionLinenumber: 4777
    functionLinenumberEnd: 4783
    functionName: crypto_ex_data_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:4869,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4930
      start: 4867
    functionDepth: 1
    functionLinenumber: 4867
    functionLinenumberEnd: 4930
    functionName: bindgen_test_layout_bio_method_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_bio_method_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:4933,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:4935,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:4935,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:4936,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4938
      start: 4932
    functionDepth: 2
    functionLinenumber: 4932
    functionLinenumberEnd: 4938
    functionName: bio_method_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:4962,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5044
      start: 4960
    functionDepth: 1
    functionLinenumber: 4960
    functionLinenumberEnd: 5044
    functionName: bindgen_test_layout_bio_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_bio_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:5047,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:5049,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:5049,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:5050,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5052
      start: 5046
    functionDepth: 2
    functionLinenumber: 5046
    functionLinenumberEnd: 5052
    functionName: bio_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:5554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5575
      start: 5551
    functionDepth: 1
    functionLinenumber: 5551
    functionLinenumberEnd: 5575
    functionName: bindgen_test_layout_bn_gencb_st__bindgen_ty_1
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_bn_gencb_st__bindgen_ty_1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:5578,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:5580,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:5580,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:5581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5583
      start: 5577
    functionDepth: 2
    functionLinenumber: 5577
    functionLinenumberEnd: 5583
    functionName: bn_gencb_st__bindgen_ty_1::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:5588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5614
      start: 5586
    functionDepth: 1
    functionLinenumber: 5586
    functionLinenumberEnd: 5614
    functionName: bindgen_test_layout_bn_gencb_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_bn_gencb_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:5617,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:5619,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:5619,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:5620,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5622
      start: 5616
    functionDepth: 2
    functionLinenumber: 5616
    functionLinenumberEnd: 5622
    functionName: bn_gencb_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:5942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5978
      start: 5940
    functionDepth: 1
    functionLinenumber: 5940
    functionLinenumberEnd: 5978
    functionName: bindgen_test_layout_bignum_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_bignum_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:5981,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:5983,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:5983,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:5984,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5986
      start: 5980
    functionDepth: 2
    functionLinenumber: 5980
    functionLinenumberEnd: 5986
    functionName: bignum_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:5998,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6024
      start: 5996
    functionDepth: 1
    functionLinenumber: 5996
    functionLinenumberEnd: 6024
    functionName: bindgen_test_layout_bn_mont_ctx_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_bn_mont_ctx_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6027,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6029,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6029,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6030,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6032
      start: 6026
    functionDepth: 2
    functionLinenumber: 6026
    functionLinenumberEnd: 6032
    functionName: bn_mont_ctx_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6055,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6086
      start: 6053
    functionDepth: 1
    functionLinenumber: 6053
    functionLinenumberEnd: 6086
    functionName: bindgen_test_layout_asn1_string_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_asn1_string_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6089,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6091,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6091,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6092,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6094
      start: 6088
    functionDepth: 2
    functionLinenumber: 6088
    functionLinenumberEnd: 6094
    functionName: asn1_string_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6247
      start: 6128
    functionDepth: 1
    functionLinenumber: 6128
    functionLinenumberEnd: 6247
    functionName: bindgen_test_layout_asn1_type_st__bindgen_ty_1
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_asn1_type_st__bindgen_ty_1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6250,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6252,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6252,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6255
      start: 6249
    functionDepth: 2
    functionLinenumber: 6249
    functionLinenumberEnd: 6255
    functionName: asn1_type_st__bindgen_ty_1::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6281
      start: 6258
    functionDepth: 1
    functionLinenumber: 6258
    functionLinenumberEnd: 6281
    functionName: bindgen_test_layout_asn1_type_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_asn1_type_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6284,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6286,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6286,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6289
      start: 6283
    functionDepth: 2
    functionLinenumber: 6283
    functionLinenumberEnd: 6289
    functionName: asn1_type_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6340
      start: 6302
    functionDepth: 1
    functionLinenumber: 6302
    functionLinenumberEnd: 6340
    functionName: bindgen_test_layout_ASN1_TEMPLATE_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_ASN1_TEMPLATE_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6343,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6345,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6345,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6348
      start: 6342
    functionDepth: 2
    functionLinenumber: 6342
    functionLinenumberEnd: 6348
    functionName: ASN1_TEMPLATE_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:10250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10296
      start: 10248
    functionDepth: 1
    functionLinenumber: 10248
    functionLinenumberEnd: 10296
    functionName: bindgen_test_layout_ASN1_ADB_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_ASN1_ADB_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:10299,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:10301,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:10301,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:10302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10304
      start: 10298
    functionDepth: 2
    functionLinenumber: 10298
    functionLinenumberEnd: 10304
    functionName: ASN1_ADB_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:10315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10336
      start: 10313
    functionDepth: 1
    functionLinenumber: 10313
    functionLinenumberEnd: 10336
    functionName: bindgen_test_layout_ASN1_ADB_TABLE_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_ASN1_ADB_TABLE_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:10339,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:10341,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:10341,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:10342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10344
      start: 10338
    functionDepth: 2
    functionLinenumber: 10338
    functionLinenumberEnd: 10344
    functionName: ASN1_ADB_TABLE_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6410
      start: 6362
    functionDepth: 1
    functionLinenumber: 6362
    functionLinenumberEnd: 6410
    functionName: bindgen_test_layout_ASN1_ITEM_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_ASN1_ITEM_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6413,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6415,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6415,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6418
      start: 6412
    functionDepth: 2
    functionLinenumber: 6412
    functionLinenumberEnd: 6418
    functionName: ASN1_ITEM_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:10479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10520
      start: 10477
    functionDepth: 1
    functionLinenumber: 10477
    functionLinenumberEnd: 10520
    functionName: bindgen_test_layout_ASN1_EXTERN_FUNCS_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_ASN1_EXTERN_FUNCS_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:10523,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:10525,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:10525,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:10526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10528
      start: 10522
    functionDepth: 2
    functionLinenumber: 10522
    functionLinenumberEnd: 10528
    functionName: ASN1_EXTERN_FUNCS_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:10551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10587
      start: 10549
    functionDepth: 1
    functionLinenumber: 10549
    functionLinenumberEnd: 10587
    functionName: bindgen_test_layout_ASN1_AUX_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_ASN1_AUX_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:10590,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:10592,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:10592,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:10593,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10595
      start: 10589
    functionDepth: 2
    functionLinenumber: 10589
    functionLinenumberEnd: 10595
    functionName: ASN1_AUX_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6462
      start: 6429
    functionDepth: 1
    functionLinenumber: 6429
    functionLinenumberEnd: 6462
    functionName: bindgen_test_layout_evp_encode_ctx_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_evp_encode_ctx_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6465,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6467,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6467,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6468,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6470
      start: 6464
    functionDepth: 2
    functionLinenumber: 6464
    functionLinenumberEnd: 6470
    functionName: evp_encode_ctx_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6520
      start: 6482
    functionDepth: 1
    functionLinenumber: 6482
    functionLinenumberEnd: 6520
    functionName: bindgen_test_layout_blake2b_state_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_blake2b_state_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6523,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6525,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6525,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6528
      start: 6522
    functionDepth: 2
    functionLinenumber: 6522
    functionLinenumberEnd: 6528
    functionName: blake2b_state_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:10840,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10861
      start: 10838
    functionDepth: 1
    functionLinenumber: 10838
    functionLinenumberEnd: 10861
    functionName: bindgen_test_layout_bf_key_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_bf_key_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:10864,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:10866,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:10866,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:10867,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10869
      start: 10863
    functionDepth: 2
    functionLinenumber: 10863
    functionLinenumberEnd: 10869
    functionName: bf_key_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6556
      start: 6537
    functionDepth: 1
    functionLinenumber: 6537
    functionLinenumberEnd: 6556
    functionName: bindgen_test_layout_cbs_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_cbs_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6559,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6561,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6561,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6562,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6564
      start: 6558
    functionDepth: 2
    functionLinenumber: 6558
    functionLinenumberEnd: 6564
    functionName: cbs_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6846
      start: 6818
    functionDepth: 1
    functionLinenumber: 6818
    functionLinenumberEnd: 6846
    functionName: bindgen_test_layout_cbb_buffer_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_cbb_buffer_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6849,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6851,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6851,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6852,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6854
      start: 6848
    functionDepth: 2
    functionLinenumber: 6848
    functionLinenumberEnd: 6854
    functionName: cbb_buffer_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::transmute
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6859,1
    - Dst: get
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6859,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6860
      start: 6858
    functionDepth: 1
    functionLinenumber: 6858
    functionLinenumberEnd: 6860
    functionName: cbb_buffer_st::can_resize
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::transmute
    - get
    linkageType: ''
    returnType: ::std::os::raw::c_uint
    signature: pub fn can_resize(&self) -> ::std::os::raw::c_uint
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::transmute
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6864,1
    - Dst: set
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6865,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - ::std::os::raw::c_uint
    constantsTouched: []
    func_position:
      end: 6867
      start: 6862
    functionDepth: 4
    functionLinenumber: 6862
    functionLinenumberEnd: 6867
    functionName: cbb_buffer_st::set_can_resize
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - set
    - ::std::mem::transmute
    linkageType: ''
    returnType: void
    signature: 'pub fn set_can_resize(&mut self, val: ::std::os::raw::c_uint)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::transmute
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6871,1
    - Dst: <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6871,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - this
    argTypes:
    - '*const Self'
    constantsTouched: []
    func_position:
      end: 6877
      start: 6869
    functionDepth: 3
    functionLinenumber: 6869
    functionLinenumberEnd: 6877
    functionName: cbb_buffer_st::can_resize_raw
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get
    - ::std::mem::transmute
    linkageType: ''
    returnType: ::std::os::raw::c_uint
    signature: 'pub unsafe fn can_resize_raw(this: *const Self) -> ::std::os::raw::c_uint'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::transmute
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6881,1
    - Dst: <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6882,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - this
    - val
    argTypes:
    - '*mut Self'
    - ::std::os::raw::c_uint
    constantsTouched: []
    func_position:
      end: 6889
      start: 6879
    functionDepth: 3
    functionLinenumber: 6879
    functionLinenumberEnd: 6889
    functionName: cbb_buffer_st::set_can_resize_raw
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set
    - ::std::mem::transmute
    linkageType: ''
    returnType: void
    signature: 'pub unsafe fn set_can_resize_raw(this: *mut Self, val: ::std::os::raw::c_uint)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::transmute
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6892,1
    - Dst: get
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6892,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6893
      start: 6891
    functionDepth: 1
    functionLinenumber: 6891
    functionLinenumberEnd: 6893
    functionName: cbb_buffer_st::error
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::transmute
    - get
    linkageType: ''
    returnType: ::std::os::raw::c_uint
    signature: pub fn error(&self) -> ::std::os::raw::c_uint
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::transmute
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6897,1
    - Dst: set
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6898,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - ::std::os::raw::c_uint
    constantsTouched: []
    func_position:
      end: 6900
      start: 6895
    functionDepth: 4
    functionLinenumber: 6895
    functionLinenumberEnd: 6900
    functionName: cbb_buffer_st::set_error
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - set
    - ::std::mem::transmute
    linkageType: ''
    returnType: void
    signature: 'pub fn set_error(&mut self, val: ::std::os::raw::c_uint)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::transmute
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6904,1
    - Dst: <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6904,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - this
    argTypes:
    - '*const Self'
    constantsTouched: []
    func_position:
      end: 6910
      start: 6902
    functionDepth: 3
    functionLinenumber: 6902
    functionLinenumberEnd: 6910
    functionName: cbb_buffer_st::error_raw
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get
    - ::std::mem::transmute
    linkageType: ''
    returnType: ::std::os::raw::c_uint
    signature: 'pub unsafe fn error_raw(this: *const Self) -> ::std::os::raw::c_uint'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::transmute
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6914,1
    - Dst: <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6915,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - this
    - val
    argTypes:
    - '*mut Self'
    - ::std::os::raw::c_uint
    constantsTouched: []
    func_position:
      end: 6922
      start: 6912
    functionDepth: 3
    functionLinenumber: 6912
    functionLinenumberEnd: 6922
    functionName: cbb_buffer_st::set_error_raw
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set
    - ::std::mem::transmute
    linkageType: ''
    returnType: void
    signature: 'pub unsafe fn set_error_raw(this: *mut Self, val: ::std::os::raw::c_uint)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Default::default
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6928,1
    - Dst: set
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6929,1
    - Dst: ::std::mem::transmute
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6930,1
    - Dst: set
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6933,1
    - Dst: ::std::mem::transmute
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6934,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - can_resize
    - error
    argTypes:
    - ::std::os::raw::c_uint
    - ::std::os::raw::c_uint
    constantsTouched: []
    func_position:
      end: 6938
      start: 6924
    functionDepth: 4
    functionLinenumber: 6924
    functionLinenumberEnd: 6938
    functionName: cbb_buffer_st::new_bitfield_1
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - set
    - ::std::mem::transmute
    - Default::default
    linkageType: ''
    returnType: __BindgenBitfieldUnit
    signature: 'pub fn new_bitfield_1(can_resize: ::std::os::raw::c_uint,error: ::std::os::raw::c_uint,)
      -> __BindgenBitfieldUnit<[u8; 1usize]>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6979
      start: 6951
    functionDepth: 1
    functionLinenumber: 6951
    functionLinenumberEnd: 6979
    functionName: bindgen_test_layout_cbb_child_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_cbb_child_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6982,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6984,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6984,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6985,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6987
      start: 6981
    functionDepth: 2
    functionLinenumber: 6981
    functionLinenumberEnd: 6987
    functionName: cbb_child_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::transmute
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6992,1
    - Dst: get
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6992,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6993
      start: 6991
    functionDepth: 1
    functionLinenumber: 6991
    functionLinenumberEnd: 6993
    functionName: cbb_child_st::pending_is_asn1
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::transmute
    - get
    linkageType: ''
    returnType: ::std::os::raw::c_uint
    signature: pub fn pending_is_asn1(&self) -> ::std::os::raw::c_uint
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::transmute
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6997,1
    - Dst: set
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:6998,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - ::std::os::raw::c_uint
    constantsTouched: []
    func_position:
      end: 7000
      start: 6995
    functionDepth: 4
    functionLinenumber: 6995
    functionLinenumberEnd: 7000
    functionName: cbb_child_st::set_pending_is_asn1
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - set
    - ::std::mem::transmute
    linkageType: ''
    returnType: void
    signature: 'pub fn set_pending_is_asn1(&mut self, val: ::std::os::raw::c_uint)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::transmute
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:7004,1
    - Dst: <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:7004,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - this
    argTypes:
    - '*const Self'
    constantsTouched: []
    func_position:
      end: 7010
      start: 7002
    functionDepth: 3
    functionLinenumber: 7002
    functionLinenumberEnd: 7010
    functionName: cbb_child_st::pending_is_asn1_raw
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get
    - ::std::mem::transmute
    linkageType: ''
    returnType: ::std::os::raw::c_uint
    signature: 'pub unsafe fn pending_is_asn1_raw(this: *const Self) -> ::std::os::raw::c_uint'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::transmute
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:7014,1
    - Dst: <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:7015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - this
    - val
    argTypes:
    - '*mut Self'
    - ::std::os::raw::c_uint
    constantsTouched: []
    func_position:
      end: 7022
      start: 7012
    functionDepth: 3
    functionLinenumber: 7012
    functionLinenumberEnd: 7022
    functionName: cbb_child_st::set_pending_is_asn1_raw
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set
    - ::std::mem::transmute
    linkageType: ''
    returnType: void
    signature: 'pub unsafe fn set_pending_is_asn1_raw(this: *mut Self, val: ::std::os::raw::c_uint)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Default::default
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:7027,1
    - Dst: set
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:7028,1
    - Dst: ::std::mem::transmute
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:7029,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pending_is_asn1
    argTypes:
    - ::std::os::raw::c_uint
    constantsTouched: []
    func_position:
      end: 7033
      start: 7024
    functionDepth: 4
    functionLinenumber: 7024
    functionLinenumberEnd: 7033
    functionName: cbb_child_st::new_bitfield_1
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - set
    - ::std::mem::transmute
    - Default::default
    linkageType: ''
    returnType: __BindgenBitfieldUnit
    signature: 'pub fn new_bitfield_1(pending_is_asn1: ::std::os::raw::c_uint,) ->
      __BindgenBitfieldUnit<[u8; 1usize]>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:7051,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7072
      start: 7049
    functionDepth: 1
    functionLinenumber: 7049
    functionLinenumberEnd: 7072
    functionName: bindgen_test_layout_cbb_st__bindgen_ty_1
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_cbb_st__bindgen_ty_1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:7075,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:7077,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:7077,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:7078,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7080
      start: 7074
    functionDepth: 2
    functionLinenumber: 7074
    functionLinenumberEnd: 7080
    functionName: cbb_st__bindgen_ty_1::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:7085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7107
      start: 7083
    functionDepth: 1
    functionLinenumber: 7083
    functionLinenumberEnd: 7107
    functionName: bindgen_test_layout_cbb_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_cbb_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:7110,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:7112,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:7112,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:7113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7115
      start: 7109
    functionDepth: 2
    functionLinenumber: 7109
    functionLinenumberEnd: 7115
    functionName: cbb_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:7838,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7919
      start: 7836
    functionDepth: 1
    functionLinenumber: 7836
    functionLinenumberEnd: 7919
    functionName: bindgen_test_layout_evp_cipher_ctx_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_evp_cipher_ctx_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:7922,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:7924,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:7924,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:7925,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7927
      start: 7921
    functionDepth: 2
    functionLinenumber: 7921
    functionLinenumberEnd: 7927
    functionName: evp_cipher_ctx_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:7938,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7959
      start: 7936
    functionDepth: 1
    functionLinenumber: 7936
    functionLinenumberEnd: 7959
    functionName: bindgen_test_layout_evp_cipher_info_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_evp_cipher_info_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:7962,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:7964,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:7964,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:7965,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7967
      start: 7961
    functionDepth: 2
    functionLinenumber: 7961
    functionLinenumberEnd: 7967
    functionName: evp_cipher_info_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:8032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8058
      start: 8030
    functionDepth: 1
    functionLinenumber: 8030
    functionLinenumberEnd: 8058
    functionName: bindgen_test_layout_conf_value_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_conf_value_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:8061,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:8063,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:8063,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:8064,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8066
      start: 8060
    functionDepth: 2
    functionLinenumber: 8060
    functionLinenumberEnd: 8066
    functionName: conf_value_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:12819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12835
      start: 12817
    functionDepth: 1
    functionLinenumber: 12817
    functionLinenumberEnd: 12835
    functionName: bindgen_test_layout_DES_cblock_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_DES_cblock_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:12846,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12858
      start: 12844
    functionDepth: 1
    functionLinenumber: 12844
    functionLinenumberEnd: 12858
    functionName: bindgen_test_layout_DES_ks
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_DES_ks()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:8535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8576
      start: 8533
    functionDepth: 1
    functionLinenumber: 8533
    functionLinenumberEnd: 8576
    functionName: bindgen_test_layout_env_md_ctx_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_env_md_ctx_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:8579,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:8581,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:8581,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:8582,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8584
      start: 8578
    functionDepth: 2
    functionLinenumber: 8578
    functionLinenumberEnd: 8584
    functionName: env_md_ctx_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:8615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8636
      start: 8613
    functionDepth: 1
    functionLinenumber: 8613
    functionLinenumberEnd: 8636
    functionName: bindgen_test_layout_DSA_SIG_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_DSA_SIG_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:8639,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:8641,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:8641,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:8642,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8644
      start: 8638
    functionDepth: 2
    functionLinenumber: 8638
    functionLinenumberEnd: 8644
    functionName: DSA_SIG_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:8985,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9006
      start: 8983
    functionDepth: 1
    functionLinenumber: 8983
    functionLinenumberEnd: 9006
    functionName: bindgen_test_layout_EC_builtin_curve
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_EC_builtin_curve()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:9009,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:9011,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:9011,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:9012,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9014
      start: 9008
    functionDepth: 2
    functionLinenumber: 9008
    functionLinenumberEnd: 9014
    functionName: EC_builtin_curve::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:9424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9445
      start: 9422
    functionDepth: 1
    functionLinenumber: 9422
    functionLinenumberEnd: 9445
    functionName: bindgen_test_layout_ecdsa_sig_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_ecdsa_sig_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:9448,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:9450,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:9450,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:9451,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9453
      start: 9447
    functionDepth: 2
    functionLinenumber: 9447
    functionLinenumberEnd: 9453
    functionName: ecdsa_sig_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:9637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9663
      start: 9634
    functionDepth: 1
    functionLinenumber: 9634
    functionLinenumberEnd: 9663
    functionName: bindgen_test_layout_evp_aead_ctx_st_state
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_evp_aead_ctx_st_state()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:9666,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:9668,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:9668,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:9669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9671
      start: 9665
    functionDepth: 2
    functionLinenumber: 9665
    functionLinenumberEnd: 9671
    functionName: evp_aead_ctx_st_state::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:9684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9715
      start: 9682
    functionDepth: 1
    functionLinenumber: 9682
    functionLinenumberEnd: 9715
    functionName: bindgen_test_layout_evp_aead_ctx_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_evp_aead_ctx_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:9718,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:9720,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:9720,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:9721,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9723
      start: 9717
    functionDepth: 2
    functionLinenumber: 9717
    functionLinenumberEnd: 9723
    functionName: evp_aead_ctx_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:15255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 15286
      start: 15253
    functionDepth: 1
    functionLinenumber: 15253
    functionLinenumberEnd: 15286
    functionName: bindgen_test_layout_obj_name_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_obj_name_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:15289,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:15291,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:15291,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:15292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 15294
      start: 15288
    functionDepth: 2
    functionLinenumber: 15288
    functionLinenumberEnd: 15294
    functionName: obj_name_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:9931,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9967
      start: 9929
    functionDepth: 1
    functionLinenumber: 9929
    functionLinenumberEnd: 9967
    functionName: bindgen_test_layout_md5_state_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_md5_state_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:9970,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:9972,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:9972,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:9973,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9975
      start: 9969
    functionDepth: 2
    functionLinenumber: 9969
    functionLinenumberEnd: 9975
    functionName: md5_state_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:10103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10139
      start: 10101
    functionDepth: 1
    functionLinenumber: 10101
    functionLinenumberEnd: 10139
    functionName: bindgen_test_layout_md_ctx_union
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_md_ctx_union()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:10142,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:10144,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:10144,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:10145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10147
      start: 10141
    functionDepth: 2
    functionLinenumber: 10141
    functionLinenumberEnd: 10147
    functionName: md_ctx_union::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:10162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10203
      start: 10160
    functionDepth: 1
    functionLinenumber: 10160
    functionLinenumberEnd: 10203
    functionName: bindgen_test_layout_hmac_ctx_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_hmac_ctx_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:10206,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:10208,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:10208,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:10209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10211
      start: 10205
    functionDepth: 2
    functionLinenumber: 10205
    functionLinenumberEnd: 10211
    functionName: hmac_ctx_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:11477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11528
      start: 11475
    functionDepth: 1
    functionLinenumber: 11475
    functionLinenumberEnd: 11528
    functionName: bindgen_test_layout_evp_hpke_ctx_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_evp_hpke_ctx_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:11531,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:11533,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:11533,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:11534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11536
      start: 11530
    functionDepth: 2
    functionLinenumber: 11530
    functionLinenumberEnd: 11536
    functionName: evp_hpke_ctx_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:11548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11574
      start: 11546
    functionDepth: 1
    functionLinenumber: 11546
    functionLinenumberEnd: 11574
    functionName: bindgen_test_layout_evp_hpke_key_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_evp_hpke_key_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:11577,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:11579,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:11579,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:11580,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11582
      start: 11576
    functionDepth: 2
    functionLinenumber: 11576
    functionLinenumberEnd: 11582
    functionName: evp_hpke_key_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:17289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17305
      start: 17287
    functionDepth: 1
    functionLinenumber: 17287
    functionLinenumberEnd: 17305
    functionName: bindgen_test_layout_HRSS_private_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_HRSS_private_key()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:17308,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:17310,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:17310,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:17311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17313
      start: 17307
    functionDepth: 2
    functionLinenumber: 17307
    functionLinenumberEnd: 17313
    functionName: HRSS_private_key::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:17323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17339
      start: 17321
    functionDepth: 1
    functionLinenumber: 17321
    functionLinenumberEnd: 17339
    functionName: bindgen_test_layout_HRSS_public_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_HRSS_public_key()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:17342,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:17344,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:17344,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:17345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17347
      start: 17341
    functionDepth: 2
    functionLinenumber: 17341
    functionLinenumberEnd: 17347
    functionName: HRSS_public_key::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:11596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11632
      start: 11594
    functionDepth: 1
    functionLinenumber: 11594
    functionLinenumberEnd: 11632
    functionName: bindgen_test_layout_md4_state_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_md4_state_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:11635,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:11637,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:11637,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:11638,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11640
      start: 11634
    functionDepth: 2
    functionLinenumber: 11634
    functionLinenumberEnd: 11640
    functionName: md4_state_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:11674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11725
      start: 11671
    functionDepth: 1
    functionLinenumber: 11671
    functionLinenumberEnd: 11725
    functionName: bindgen_test_layout_pkcs7_st__bindgen_ty_1
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_pkcs7_st__bindgen_ty_1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:11728,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:11730,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:11730,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:11731,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11733
      start: 11727
    functionDepth: 2
    functionLinenumber: 11727
    functionLinenumberEnd: 11733
    functionName: pkcs7_st__bindgen_ty_1::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:11738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11759
      start: 11736
    functionDepth: 1
    functionLinenumber: 11736
    functionLinenumberEnd: 11759
    functionName: bindgen_test_layout_pkcs7_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_pkcs7_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:11762,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:11764,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:11764,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:11765,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11767
      start: 11761
    functionDepth: 2
    functionLinenumber: 11761
    functionLinenumberEnd: 11767
    functionName: pkcs7_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:11782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11823
      start: 11780
    functionDepth: 1
    functionLinenumber: 11780
    functionLinenumberEnd: 11823
    functionName: bindgen_test_layout_pkcs7_signed_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_pkcs7_signed_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:11826,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:11828,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:11828,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:11829,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11831
      start: 11825
    functionDepth: 2
    functionLinenumber: 11825
    functionLinenumberEnd: 11831
    functionName: pkcs7_signed_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:12827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12848
      start: 12825
    functionDepth: 1
    functionLinenumber: 12825
    functionLinenumberEnd: 12848
    functionName: bindgen_test_layout_otherName_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_otherName_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:12851,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:12853,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:12853,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:12854,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12856
      start: 12850
    functionDepth: 2
    functionLinenumber: 12850
    functionLinenumberEnd: 12856
    functionName: otherName_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:12868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12889
      start: 12866
    functionDepth: 1
    functionLinenumber: 12866
    functionLinenumberEnd: 12889
    functionName: bindgen_test_layout_EDIPartyName_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_EDIPartyName_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:12892,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:12894,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:12894,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:12895,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12897
      start: 12891
    functionDepth: 2
    functionLinenumber: 12891
    functionLinenumberEnd: 12897
    functionName: EDIPartyName_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:12928,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13009
      start: 12925
    functionDepth: 1
    functionLinenumber: 12925
    functionLinenumberEnd: 13009
    functionName: bindgen_test_layout_GENERAL_NAME_st__bindgen_ty_1
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_GENERAL_NAME_st__bindgen_ty_1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13012,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13014,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13014,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13017
      start: 13011
    functionDepth: 2
    functionLinenumber: 13011
    functionLinenumberEnd: 13017
    functionName: GENERAL_NAME_st__bindgen_ty_1::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13022,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13043
      start: 13020
    functionDepth: 1
    functionLinenumber: 13020
    functionLinenumberEnd: 13043
    functionName: bindgen_test_layout_GENERAL_NAME_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_GENERAL_NAME_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13046,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13048,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13048,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13049,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13051
      start: 13045
    functionDepth: 2
    functionLinenumber: 13045
    functionLinenumberEnd: 13051
    functionName: GENERAL_NAME_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13099
      start: 13071
    functionDepth: 1
    functionLinenumber: 13071
    functionLinenumberEnd: 13099
    functionName: bindgen_test_layout_Netscape_spki_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_Netscape_spki_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13102,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13104,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13104,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13107
      start: 13101
    functionDepth: 2
    functionLinenumber: 13101
    functionLinenumberEnd: 13107
    functionName: Netscape_spki_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13139
      start: 13116
    functionDepth: 1
    functionLinenumber: 13116
    functionLinenumberEnd: 13139
    functionName: bindgen_test_layout_Netscape_spkac_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_Netscape_spkac_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13142,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13144,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13144,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13147
      start: 13141
    functionDepth: 2
    functionLinenumber: 13141
    functionLinenumberEnd: 13147
    functionName: Netscape_spkac_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13197
      start: 13159
    functionDepth: 1
    functionLinenumber: 13159
    functionLinenumberEnd: 13197
    functionName: bindgen_test_layout_rsa_pss_params_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_rsa_pss_params_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13200,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13202,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13202,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13205
      start: 13199
    functionDepth: 2
    functionLinenumber: 13199
    functionLinenumberEnd: 13205
    functionName: rsa_pss_params_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13231
      start: 13213
    functionDepth: 1
    functionLinenumber: 13213
    functionLinenumberEnd: 13231
    functionName: bindgen_test_layout_private_key_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_private_key_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13234,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13236,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13236,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13239
      start: 13233
    functionDepth: 2
    functionLinenumber: 13233
    functionLinenumberEnd: 13239
    functionName: private_key_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13295
      start: 13252
    functionDepth: 1
    functionLinenumber: 13252
    functionLinenumberEnd: 13295
    functionName: bindgen_test_layout_X509_info_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_X509_info_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13298,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13300,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13300,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13303
      start: 13297
    functionDepth: 2
    functionLinenumber: 13297
    functionLinenumberEnd: 13303
    functionName: X509_info_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13530
      start: 13487
    functionDepth: 1
    functionLinenumber: 13487
    functionLinenumberEnd: 13530
    functionName: bindgen_test_layout_v3_ext_ctx
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_v3_ext_ctx()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13533,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13535,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13535,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13538
      start: 13532
    functionDepth: 2
    functionLinenumber: 13532
    functionLinenumberEnd: 13538
    functionName: v3_ext_ctx::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13570
      start: 13547
    functionDepth: 1
    functionLinenumber: 13547
    functionLinenumberEnd: 13570
    functionName: bindgen_test_layout_X509_algor_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_X509_algor_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13573,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13575,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13575,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13578
      start: 13572
    functionDepth: 2
    functionLinenumber: 13572
    functionLinenumberEnd: 13578
    functionName: X509_algor_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13636
      start: 13593
    functionDepth: 1
    functionLinenumber: 13593
    functionLinenumberEnd: 13636
    functionName: bindgen_test_layout_x509_trust_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_x509_trust_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13639,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13641,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13641,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13642,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13644
      start: 13638
    functionDepth: 2
    functionLinenumber: 13638
    functionLinenumberEnd: 13644
    functionName: x509_trust_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13466
      start: 13383
    functionDepth: 1
    functionLinenumber: 13383
    functionLinenumberEnd: 13466
    functionName: bindgen_test_layout_v3_ext_method
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_v3_ext_method()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13469,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13471,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13471,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13472,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13474
      start: 13468
    functionDepth: 2
    functionLinenumber: 13468
    functionLinenumberEnd: 13474
    functionName: v3_ext_method::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13676
      start: 13653
    functionDepth: 1
    functionLinenumber: 13653
    functionLinenumberEnd: 13676
    functionName: bindgen_test_layout_BASIC_CONSTRAINTS_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_BASIC_CONSTRAINTS_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13679,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13681,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13681,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13682,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13684
      start: 13678
    functionDepth: 2
    functionLinenumber: 13678
    functionLinenumberEnd: 13684
    functionName: BASIC_CONSTRAINTS_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:23801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23822
      start: 23798
    functionDepth: 1
    functionLinenumber: 23798
    functionLinenumberEnd: 23822
    functionName: bindgen_test_layout_ACCESS_DESCRIPTION_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_ACCESS_DESCRIPTION_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:23825,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:23827,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:23827,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:23828,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23830
      start: 23824
    functionDepth: 2
    functionLinenumber: 23824
    functionLinenumberEnd: 23830
    functionName: ACCESS_DESCRIPTION_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13724
      start: 13700
    functionDepth: 1
    functionLinenumber: 13700
    functionLinenumberEnd: 13724
    functionName: bindgen_test_layout_DIST_POINT_NAME_st__bindgen_ty_1
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_DIST_POINT_NAME_st__bindgen_ty_1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13727,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13729,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13729,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13730,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13732
      start: 13726
    functionDepth: 2
    functionLinenumber: 13726
    functionLinenumberEnd: 13732
    functionName: DIST_POINT_NAME_st__bindgen_ty_1::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13763
      start: 13735
    functionDepth: 1
    functionLinenumber: 13735
    functionLinenumberEnd: 13763
    functionName: bindgen_test_layout_DIST_POINT_NAME_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_DIST_POINT_NAME_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13766,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13768,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13768,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13769,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13771
      start: 13765
    functionDepth: 2
    functionLinenumber: 13765
    functionLinenumberEnd: 13771
    functionName: DIST_POINT_NAME_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13810
      start: 13782
    functionDepth: 1
    functionLinenumber: 13782
    functionLinenumberEnd: 13810
    functionName: bindgen_test_layout_DIST_POINT_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_DIST_POINT_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13813,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13815,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13815,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13816,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13818
      start: 13812
    functionDepth: 2
    functionLinenumber: 13812
    functionLinenumberEnd: 13818
    functionName: DIST_POINT_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13856
      start: 13828
    functionDepth: 1
    functionLinenumber: 13828
    functionLinenumberEnd: 13856
    functionName: bindgen_test_layout_AUTHORITY_KEYID_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_AUTHORITY_KEYID_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13859,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13861,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13861,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13862,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13864
      start: 13858
    functionDepth: 2
    functionLinenumber: 13858
    functionLinenumberEnd: 13864
    functionName: AUTHORITY_KEYID_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:24063,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24084
      start: 24061
    functionDepth: 1
    functionLinenumber: 24061
    functionLinenumberEnd: 24084
    functionName: bindgen_test_layout_NOTICEREF_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_NOTICEREF_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:24087,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:24089,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:24089,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:24090,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24092
      start: 24086
    functionDepth: 2
    functionLinenumber: 24086
    functionLinenumberEnd: 24092
    functionName: NOTICEREF_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:24104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24125
      start: 24102
    functionDepth: 1
    functionLinenumber: 24102
    functionLinenumberEnd: 24125
    functionName: bindgen_test_layout_USERNOTICE_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_USERNOTICE_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:24128,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:24130,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:24130,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:24131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24133
      start: 24127
    functionDepth: 2
    functionLinenumber: 24127
    functionLinenumberEnd: 24133
    functionName: USERNOTICE_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:24153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24179
      start: 24150
    functionDepth: 1
    functionLinenumber: 24150
    functionLinenumberEnd: 24179
    functionName: bindgen_test_layout_POLICYQUALINFO_st__bindgen_ty_1
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_POLICYQUALINFO_st__bindgen_ty_1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:24182,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:24184,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:24184,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:24185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24187
      start: 24181
    functionDepth: 2
    functionLinenumber: 24181
    functionLinenumberEnd: 24187
    functionName: POLICYQUALINFO_st__bindgen_ty_1::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:24192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24213
      start: 24190
    functionDepth: 1
    functionLinenumber: 24190
    functionLinenumberEnd: 24213
    functionName: bindgen_test_layout_POLICYQUALINFO_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_POLICYQUALINFO_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:24216,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:24218,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:24218,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:24219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24221
      start: 24215
    functionDepth: 2
    functionLinenumber: 24215
    functionLinenumberEnd: 24221
    functionName: POLICYQUALINFO_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:24254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24275
      start: 24252
    functionDepth: 1
    functionLinenumber: 24252
    functionLinenumberEnd: 24275
    functionName: bindgen_test_layout_POLICYINFO_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_POLICYINFO_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:24278,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:24280,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:24280,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:24281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24283
      start: 24277
    functionDepth: 2
    functionLinenumber: 24277
    functionLinenumberEnd: 24283
    functionName: POLICYINFO_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:24317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24338
      start: 24315
    functionDepth: 1
    functionLinenumber: 24315
    functionLinenumberEnd: 24338
    functionName: bindgen_test_layout_POLICY_MAPPING_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_POLICY_MAPPING_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:24341,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:24343,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:24343,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:24344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24346
      start: 24340
    functionDepth: 2
    functionLinenumber: 24340
    functionLinenumberEnd: 24346
    functionName: POLICY_MAPPING_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:24381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24407
      start: 24379
    functionDepth: 1
    functionLinenumber: 24379
    functionLinenumberEnd: 24407
    functionName: bindgen_test_layout_GENERAL_SUBTREE_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_GENERAL_SUBTREE_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:24410,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:24412,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:24412,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:24413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24415
      start: 24409
    functionDepth: 2
    functionLinenumber: 24409
    functionLinenumberEnd: 24415
    functionName: GENERAL_SUBTREE_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13880,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13901
      start: 13878
    functionDepth: 1
    functionLinenumber: 13878
    functionLinenumberEnd: 13901
    functionName: bindgen_test_layout_NAME_CONSTRAINTS_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_NAME_CONSTRAINTS_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13904,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13906,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13906,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13907,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13909
      start: 13903
    functionDepth: 2
    functionLinenumber: 13903
    functionLinenumberEnd: 13909
    functionName: NAME_CONSTRAINTS_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:24490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24511
      start: 24487
    functionDepth: 1
    functionLinenumber: 24487
    functionLinenumberEnd: 24511
    functionName: bindgen_test_layout_POLICY_CONSTRAINTS_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_POLICY_CONSTRAINTS_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:24514,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:24516,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:24516,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:24517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24519
      start: 24513
    functionDepth: 2
    functionLinenumber: 24513
    functionLinenumberEnd: 24519
    functionName: POLICY_CONSTRAINTS_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13925,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13966
      start: 13922
    functionDepth: 1
    functionLinenumber: 13922
    functionLinenumberEnd: 13966
    functionName: bindgen_test_layout_ISSUING_DIST_POINT_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_ISSUING_DIST_POINT_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13969,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13971,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13971,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:13972,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13974
      start: 13968
    functionDepth: 2
    functionLinenumber: 13968
    functionLinenumberEnd: 13974
    functionName: ISSUING_DIST_POINT_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:23443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23489
      start: 23441
    functionDepth: 1
    functionLinenumber: 23441
    functionLinenumberEnd: 23489
    functionName: bindgen_test_layout_x509_purpose_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_x509_purpose_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:23492,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:23494,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:23494,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:23495,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23497
      start: 23491
    functionDepth: 2
    functionLinenumber: 23491
    functionLinenumberEnd: 23497
    functionName: x509_purpose_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:14087,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14128
      start: 14085
    functionDepth: 1
    functionLinenumber: 14085
    functionLinenumberEnd: 14128
    functionName: bindgen_test_layout_rand_meth_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_rand_meth_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:14159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14185
      start: 14157
    functionDepth: 1
    functionLinenumber: 14157
    functionLinenumberEnd: 14185
    functionName: bindgen_test_layout_rc4_key_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_rc4_key_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:14188,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:14190,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:14190,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:14191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14193
      start: 14187
    functionDepth: 2
    functionLinenumber: 14187
    functionLinenumberEnd: 14193
    functionName: rc4_key_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:14207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14243
      start: 14205
    functionDepth: 1
    functionLinenumber: 14205
    functionLinenumberEnd: 14243
    functionName: bindgen_test_layout_RIPEMD160state_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_RIPEMD160state_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:14246,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:14248,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:14248,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:14249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14251
      start: 14245
    functionDepth: 2
    functionLinenumber: 14245
    functionLinenumberEnd: 14251
    functionName: RIPEMD160state_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:14262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14283
      start: 14260
    functionDepth: 1
    functionLinenumber: 14260
    functionLinenumberEnd: 14283
    functionName: bindgen_test_layout_trust_token_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_trust_token_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:14286,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:14288,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:14288,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:14289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14291
      start: 14285
    functionDepth: 2
    functionLinenumber: 14285
    functionLinenumberEnd: 14291
    functionName: trust_token_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_crypto.rs:14486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14517
      start: 14484
    functionDepth: 1
    functionLinenumber: 14484
    functionLinenumberEnd: 14517
    functionName: bindgen_test_layout___va_list_tag
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout___va_list_tag()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_crypto.rs:14520,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_crypto.rs:14522,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_crypto.rs:14522,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_crypto.rs:14523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14525
      start: 14519
    functionDepth: 2
    functionLinenumber: 14519
    functionLinenumberEnd: 14525
    functionName: __va_list_tag::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:4083,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4109
      start: 4080
    functionDepth: 1
    functionLinenumber: 4080
    functionLinenumberEnd: 4109
    functionName: bindgen_test_layout_pthread_rwlock_t__bindgen_ty_1
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_pthread_rwlock_t__bindgen_ty_1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:4112,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:4114,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:4114,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:4115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4117
      start: 4111
    functionDepth: 2
    functionLinenumber: 4111
    functionLinenumberEnd: 4117
    functionName: pthread_rwlock_t__bindgen_ty_1::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:4122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4138
      start: 4120
    functionDepth: 1
    functionLinenumber: 4120
    functionLinenumberEnd: 4138
    functionName: bindgen_test_layout_pthread_rwlock_t
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_pthread_rwlock_t()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:4141,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:4143,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:4143,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:4144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4146
      start: 4140
    functionDepth: 2
    functionLinenumber: 4140
    functionLinenumberEnd: 4146
    functionName: pthread_rwlock_t::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 14
    functionName: use_bindings
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/lib.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: use_bindings
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/lib.rs:3,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 21
    functionName: platform_binding
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/lib.rs
    functionUses: 0
    functionsReached:
    - use_bindings
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - packed_error
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: ERR_GET_LIB
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/lib.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: i32
    signature: 'pub fn ERR_GET_LIB(packed_error: u32) -> i32'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - packed_error
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: ERR_GET_REASON
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/lib.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: i32
    signature: 'pub fn ERR_GET_REASON(packed_error: u32) -> i32'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - _packed_error
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: ERR_GET_FUNC
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/lib.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: i32
    signature: 'pub fn ERR_GET_FUNC(_packed_error: u32) -> i32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BIO_ctrl
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/lib.rs:104,1
    - Dst: cast::<c_void>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/lib.rs:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - b
    - pp
    argTypes:
    - '*mut BIO'
    - '*mut *mut c_char'
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: BIO_get_mem_data
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/lib.rs
    functionUses: 0
    functionsReached:
    - cast::<c_void>
    - BIO_ctrl
    linkageType: ''
    returnType: c_long
    signature: 'pub fn BIO_get_mem_data(b: *mut BIO, pp: *mut *mut c_char) -> c_long'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: CFG_CPU_JITTER_ENTROPY
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-fips-sys/src/lib.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: pub fn CFG_CPU_JITTER_ENTROPY() -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::into_inner
      Src: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs:166,1
    - Dst: wrapping_sub
      Src: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - value
    argTypes:
    - KeyValue
    constantsTouched: []
    func_position:
      end: 195
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 195
    functionName: init
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs
    functionUses: 613
    functionsReached:
    - wrapping_sub
    - u8::into_inner
    linkageType: ''
    returnType: U128
    signature: 'fn init(value: KeyValue) -> U128'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc::fips_version
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs:383,1
    - Dst: then_some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 385
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 385
    functionName: fips_version
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs
    functionUses: 1
    functionsReached:
    - aws_lc::fips_version
    - then_some
    linkageType: ''
    returnType: Option
    signature: pub fn fips_version() -> Option<u32>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:182,1
    - Dst: <T as Default>::default
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: __BindgenOpaqueArray::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs
    functionUses: 0
    functionsReached:
    - Self
    - <T as Default>::default
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_crypto.rs:3814,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3970
      start: 3812
    functionDepth: 1
    functionLinenumber: 3812
    functionLinenumberEnd: 3970
    functionName: bindgen_test_layout__IO_FILE
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout__IO_FILE()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_crypto.rs:3973,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_crypto.rs:3975,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_crypto.rs:3975,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_crypto.rs:3976,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3978
      start: 3972
    functionDepth: 2
    functionLinenumber: 3972
    functionLinenumberEnd: 3978
    functionName: _IO_FILE::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/riscv64gc_unknown_linux_gnu_crypto.rs:5838,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5859
      start: 5836
    functionDepth: 1
    functionLinenumber: 5836
    functionLinenumberEnd: 5859
    functionName: bindgen_test_layout_crypto_mutex_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/riscv64gc_unknown_linux_gnu_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_crypto_mutex_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/riscv64gc_unknown_linux_gnu_crypto.rs:5862,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/riscv64gc_unknown_linux_gnu_crypto.rs:5864,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/riscv64gc_unknown_linux_gnu_crypto.rs:5864,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/riscv64gc_unknown_linux_gnu_crypto.rs:5865,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5867
      start: 5861
    functionDepth: 2
    functionLinenumber: 5861
    functionLinenumberEnd: 5867
    functionName: crypto_mutex_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/riscv64gc_unknown_linux_gnu_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_config::meta::region::RegionProviderChain::default_provider
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:24,1
    - Dst: or_else
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:24,1
    - Dst: aws_config::defaults
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:26,1
    - Dst: BehaviorVersion::latest
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:26,1
    - Dst: region
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:26,1
    - Dst: load
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:26,1
    - Dst: aws_sdk_secretsmanager::Client::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:31,1
    - Dst: retrieve_secret
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:33,1
    - Dst: std::env::var
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:35,1
    - Dst: Option::map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:35,1
    - Dst: octocrab::initialise
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:40,1
    - Dst: octocrab::Octocrab::builder
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:40,1
    - Dst: personal_token
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:40,1
    - Dst: map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:40,1
    - Dst: aws_sdk_codebuild::Client::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:43,1
    - Dst: std::env::var
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:45,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:45,1
    - Dst: std::env::var
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:49,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:49,1
    - Dst: HashMap::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:51,1
    - Dst: get_project_build_batches
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:55,1
    - Dst: Result::clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:55,1
    - Dst: gather_pull_request_builds
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:57,1
    - Dst: Self::entry
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:61,1
    - Dst: '&[Limb]::and_modify'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:61,1
    - Dst: append
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:64,1
    - Dst: dedup
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:65,1
    - Dst: or_insert
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:61,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:71,1
    - Dst: aws_sdk_ec2::Client::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:71,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:76,1
    - Dst: aws_sdk_ssm::Client::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:76,1
    - Dst: describe_instances
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:99,1
    - Dst: set_filters
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:99,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:101,1
    - Dst: send
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:99,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:105,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:108,1
    - Dst: Error::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:108,1
    - Dst: to_string
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:108,1
    - Dst: DateTime::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:119,1
    - Dst: SystemTime::now
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:119,1
    - Dst: Self::secs
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:119,1
    - Dst: reservations
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:123,1
    - Dst: instances
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:124,1
    - Dst: launch_time
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:125,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:125,1
    - Dst: secs
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:125,1
    - Dst: push
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:127,1
    - Dst: instance_id
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:127,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:127,1
    - Dst: to_string
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:127,1
    - Dst: SimpleLogger::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:136,1
    - Dst: pulls
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:139,1
    - Dst: get
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:139,1
    - Dst: map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:139,1
    - Dst: (SpdmResult, Option::build
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:146,1
    - Dst: (SpdmResult, Option::commit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:147,1
    - Dst: (SpdmResult, Option::commit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:151,1
    - Dst: Self::stop_build_batch
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:155,1
    - Dst: set_id
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:155,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:157,1
    - Dst: String::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:157,1
    - Dst: send
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:155,1
    - Dst: map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:155,1
    - Dst: reservations
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:166,1
    - Dst: instances
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:168,1
    - Dst: tags
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:169,1
    - Dst: Tag::key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:171,1
    - Dst: bool::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:171,1
    - Dst: Tag::value
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:172,1
    - Dst: u8::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:172,1
    - Dst: push
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:174,1
    - Dst: instance_id
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:175,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:175,1
    - Dst: to_string
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:175,1
    - Dst: push
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:184,1
    - Dst: '&str::to_string'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:184,1
    - Dst: is_empty
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:190,1
    - Dst: terminate_instances
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:191,1
    - Dst: set_instance_ids
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:191,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:193,1
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:193,1
    - Dst: send
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:191,1
    - Dst: map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:191,1
    - Dst: is_empty
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:200,1
    - Dst: get_ssm_document_list
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:207,1
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:207,1
    - Dst: delete_document
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:213,1
    - Dst: name
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:213,1
    - Dst: send
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:213,1
    - Dst: map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:213,1
    - Dst: SystemTime::now
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:223,1
    - Dst: core::result::Result::duration_since
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:223,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:223,1
    - Dst: as_millis
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:223,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:258,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 288
    argCount: 1
    argNames:
    - _event
    argTypes:
    - LambdaEvent<Value>
    constantsTouched: []
    func_position:
      end: 259
      start: 22
    functionDepth: 11
    functionLinenumber: 22
    functionLinenumberEnd: 259
    functionName: handle
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs
    functionUses: 0
    functionsReached:
    - get_project_build_batches
    - std::env::var
    - aws_config::meta::region::RegionProviderChain::default_provider
    - pulls
    - is_empty
    - describe_instances
    - map_err
    - unwrap
    - bool::unwrap
    - '&str::to_string'
    - Option::unwrap
    - terminate_instances
    - get_ssm_document_list
    - as_millis
    - aws_sdk_secretsmanager::Client::new
    - gather_pull_request_builds
    - push
    - u8::unwrap
    - Self::secs
    - name
    - set_filters
    - (SpdmResult, Option::build
    - clone
    - append
    - delete_document
    - Self::stop_build_batch
    - Option::map_err
    - reservations
    - set_instance_ids
    - aws_sdk_ssm::Client::new
    - SystemTime::now
    - core::result::Result::duration_since
    - or_else
    - Result::clone
    - load
    - to_string
    - instance_id
    - String::from
    - Ok
    - personal_token
    - Some
    - dedup
    - Error::from
    - aws_config::defaults
    - or_insert
    - region
    - instances
    - Err
    - Tag::value
    - octocrab::initialise
    - get
    - launch_time
    - Self::entry
    - send
    - secs
    - (SpdmResult, Option::commit
    - BehaviorVersion::latest
    - octocrab::Octocrab::builder
    - '&[Limb]::and_modify'
    - retrieve_secret
    - aws_sdk_codebuild::Client::new
    - SimpleLogger::len
    - HashMap::new
    - Tag::key
    - set_id
    - aws_sdk_ec2::Client::new
    - DateTime::from
    - tags
    linkageType: ''
    returnType: Result
    signature: 'async fn handle(_event: LambdaEvent<Value>) -> Result<(), Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&aws_sdk_secretsmanager::Client::get_secret_value'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:265,1
    - Dst: set_secret_id
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:265,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:267,1
    - Dst: send
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:265,1
    - Dst: map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:265,1
    - Dst: secret_string
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:272,1
    - Dst: is_none
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:272,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:273,1
    - Dst: '&str::to_string'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:273,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:276,1
    - Dst: String::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:276,1
    - Dst: secret_string
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:276,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:276,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 2
    argNames:
    - client
    - secret_id
    argTypes:
    - '&aws_sdk_secretsmanager::Client'
    - String
    constantsTouched: []
    func_position:
      end: 277
      start: 261
    functionDepth: 5
    functionLinenumber: 261
    functionLinenumberEnd: 277
    functionName: retrieve_secret
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs
    functionUses: 1
    functionsReached:
    - set_secret_id
    - Some
    - secret_string
    - map_err
    - '&str::to_string'
    - '&aws_sdk_secretsmanager::Client::get_secret_value'
    - unwrap
    - Err
    - is_none
    - String::from
    - Ok
    - send
    linkageType: ''
    returnType: Result
    signature: 'async fn retrieve_secret(client: &aws_sdk_secretsmanager::Client,secret_id:
      String,) -> Result<String, String>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - commit
    - build
    argTypes:
    - String
    - String
    constantsTouched: []
    func_position:
      end: 285
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 285
    functionName: CommitBuild::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs
    functionUses: 1
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: 'fn new(commit: String, build: String) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_str
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 289
      start: 287
    functionDepth: 13
    functionLinenumber: 287
    functionLinenumberEnd: 289
    functionName: CommitBuild::commit
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs
    functionUses: 0
    functionsReached:
    - as_str
    linkageType: ''
    returnType: '&str'
    signature: fn commit(&self) -> &str
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_str
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 293
      start: 291
    functionDepth: 13
    functionLinenumber: 291
    functionLinenumberEnd: 293
    functionName: CommitBuild::build
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs
    functionUses: 0
    functionsReached:
    - as_str
    linkageType: ''
    returnType: '&str'
    signature: fn build(&self) -> &str
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HashMap::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:300,1
    - Dst: Result::chunks
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:302,1
    - Dst: is_empty
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:303,1
    - Dst: '&aws_sdk_codebuild::Client::batch_get_build_batches'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:307,1
    - Dst: set_ids
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:307,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:309,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:309,1
    - Dst: send
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:307,1
    - Dst: is_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:312,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:313,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:319,1
    - Dst: build_batches
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:319,1
    - Dst: Result::source
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:320,1
    - Dst: is_none
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:320,1
    - Dst: Result::source
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:323,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:323,1
    - Dst: r#type
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:324,1
    - Dst: as_str
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:324,1
    - Dst: as_str
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:324,1
    - Dst: Result::source_version
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:325,1
    - Dst: is_none
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:325,1
    - Dst: Result::resolved_source_version
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:326,1
    - Dst: is_none
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:326,1
    - Dst: Result::source_version
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:331,1
    - Dst: unwrap_or
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:331,1
    - Dst: contains
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:333,1
    - Dst: String::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:337,1
    - Dst: Self::replace
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:337,1
    - Dst: String::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:338,1
    - Dst: Result::resolved_source_version
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:338,1
    - Dst: unwrap_or_default
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:338,1
    - Dst: String::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:339,1
    - Dst: Result::id
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:339,1
    - Dst: unwrap_or_default
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:339,1
    - Dst: is_empty
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:341,1
    - Dst: '&str::is_empty'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:341,1
    - Dst: Self::is_empty
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:341,1
    - Dst: Self::entry
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:345,1
    - Dst: parse::<u64>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:346,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:346,1
    - Dst: '&[Limb]::and_modify'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:345,1
    - Dst: push
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:347,1
    - Dst: CommitBuild::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:347,1
    - Dst: '&str::clone'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:347,1
    - Dst: Self::clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:347,1
    - Dst: or_insert
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:345,1
    - Dst: Self::values_mut
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:352,1
    - Dst: SimpleLogger::dedup
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:353,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:356,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 130
    argCount: 2
    argNames:
    - client
    - builds
    argTypes:
    - '&aws_sdk_codebuild::Client'
    - Vec<String>
    constantsTouched: []
    func_position:
      end: 357
      start: 296
    functionDepth: 10
    functionLinenumber: 296
    functionLinenumberEnd: 357
    functionName: gather_pull_request_builds
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs
    functionUses: 1
    functionsReached:
    - r#type
    - is_empty
    - as_str
    - unwrap
    - Result::resolved_source_version
    - push
    - set_ids
    - Self::replace
    - '&str::is_empty'
    - Result::source
    - Result::source_version
    - parse::<u64>
    - unwrap_or
    - Vec::from
    - is_err
    - String::from
    - Ok
    - Some
    - or_insert
    - Err
    - Result::chunks
    - Self::clone
    - Self::values_mut
    - '&str::clone'
    - Result::id
    - Self::entry
    - send
    - '&[Limb]::and_modify'
    - CommitBuild::new
    - contains
    - HashMap::new
    - unwrap_or_default
    - build_batches
    - is_none
    - SimpleLogger::dedup
    - Self::is_empty
    - '&aws_sdk_codebuild::Client::batch_get_build_batches'
    linkageType: ''
    returnType: Result
    signature: 'async fn gather_pull_request_builds(client: &aws_sdk_codebuild::Client,builds:
      Vec<String>,) -> Result<HashMap<u64, Vec<CommitBuild>>, String>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&aws_sdk_codebuild::Client::list_build_batches_for_project'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:365,1
    - Dst: set_project_name
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:365,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:367,1
    - Dst: set_filter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:365,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:368,1
    - Dst: BuildBatchFilter::builder
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:369,1
    - Dst: set_status
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:369,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:370,1
    - Dst: build
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:369,1
    - Dst: into_paginator
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:365,1
    - Dst: send
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:365,1
    - Dst: next
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:376,1
    - Dst: is_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:377,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:378,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:384,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:384,1
    - Dst: Result::ids
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:384,1
    - Dst: Result::append
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:386,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:389,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 40
    argCount: 2
    argNames:
    - client
    - project
    argTypes:
    - '&aws_sdk_codebuild::Client'
    - String
    constantsTouched: []
    func_position:
      end: 390
      start: 359
    functionDepth: 10
    functionLinenumber: 359
    functionLinenumberEnd: 390
    functionName: get_project_build_batches
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs
    functionUses: 1
    functionsReached:
    - '&aws_sdk_codebuild::Client::list_build_batches_for_project'
    - build
    - set_filter
    - Ok
    - unwrap
    - send
    - Err
    - set_project_name
    - next
    - Result::append
    - into_paginator
    - set_status
    - Vec::from
    - is_err
    - Result::ids
    - BuildBatchFilter::builder
    - Some
    linkageType: ''
    returnType: Result
    signature: 'async fn get_project_build_batches(client: &aws_sdk_codebuild::Client,project:
      String,) -> Result<Vec<String>, String>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3015
      start: 3005
    functionDepth: 0
    functionLinenumber: 3005
    functionLinenumberEnd: 3015
    functionName: bindgen_test_layout_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::transmute
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:3021,1
    - Dst: get
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:3021,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3022
      start: 3018
    functionDepth: 1
    functionLinenumber: 3018
    functionLinenumberEnd: 3022
    functionName: static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::transmute
    - get
    linkageType: ''
    returnType: ::std::os::raw::c_uint
    signature: pub fn static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit(&self,)
      -> ::std::os::raw::c_uint
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::transmute
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:3029,1
    - Dst: set
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:3030,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - ::std::os::raw::c_uint
    constantsTouched: []
    func_position:
      end: 3032
      start: 3024
    functionDepth: 4
    functionLinenumber: 3024
    functionLinenumberEnd: 3032
    functionName: static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::set_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - set
    - ::std::mem::transmute
    linkageType: ''
    returnType: void
    signature: 'pub fn set_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit(&mut
      self,val: ::std::os::raw::c_uint,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::transmute
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:3038,1
    - Dst: <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:3038,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - this
    argTypes:
    - '*const Self'
    constantsTouched: []
    func_position:
      end: 3044
      start: 3034
    functionDepth: 3
    functionLinenumber: 3034
    functionLinenumberEnd: 3044
    functionName: static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get
    - ::std::mem::transmute
    linkageType: ''
    returnType: ::std::os::raw::c_uint
    signature: 'pub unsafe fn static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw(this:
      *const Self,) -> ::std::os::raw::c_uint'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::transmute
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:3051,1
    - Dst: <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:3052,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - this
    - val
    argTypes:
    - '*mut Self'
    - ::std::os::raw::c_uint
    constantsTouched: []
    func_position:
      end: 3059
      start: 3046
    functionDepth: 3
    functionLinenumber: 3046
    functionLinenumberEnd: 3059
    functionName: static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::set_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set
    - ::std::mem::transmute
    linkageType: ''
    returnType: void
    signature: 'pub unsafe fn set_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw(this:
      *mut Self,val: ::std::os::raw::c_uint,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Default::default
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:3064,1
    - Dst: set
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:3065,1
    - Dst: ':: std :: mem :: transmute'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:3065,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
    argTypes:
    - ':: std :: os :: raw :: c_uint'
    constantsTouched: []
    func_position:
      end: 3067
      start: 3061
    functionDepth: 4
    functionLinenumber: 3061
    functionLinenumberEnd: 3067
    functionName: static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::new_bitfield_1
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - set
    - ':: std :: mem :: transmute'
    - Default::default
    linkageType: ''
    returnType: __BindgenBitfieldUnit
    signature: 'pub fn new_bitfield_1(static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
      : :: std :: os :: raw :: c_uint,) -> __BindgenBitfieldUnit<[u8; 1usize]>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:8086,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8098
      start: 8084
    functionDepth: 1
    functionLinenumber: 8084
    functionLinenumberEnd: 8098
    functionName: bindgen_test_layout_conf_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_conf_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:8101,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:8103,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:8103,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:8104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8106
      start: 8100
    functionDepth: 2
    functionLinenumber: 8100
    functionLinenumberEnd: 8106
    functionName: conf_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:11848,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11899
      start: 11846
    functionDepth: 1
    functionLinenumber: 11846
    functionLinenumberEnd: 11899
    functionName: bindgen_test_layout_pkcs7_signer_info_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_pkcs7_signer_info_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:11902,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:11904,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:11904,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:11905,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11907
      start: 11901
    functionDepth: 2
    functionLinenumber: 11901
    functionLinenumberEnd: 11907
    functionName: pkcs7_signer_info_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:11924,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11970
      start: 11921
    functionDepth: 1
    functionLinenumber: 11921
    functionLinenumberEnd: 11970
    functionName: bindgen_test_layout_pkcs7_sign_envelope_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_pkcs7_sign_envelope_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:11973,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:11975,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:11975,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:11976,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11978
      start: 11972
    functionDepth: 2
    functionLinenumber: 11972
    functionLinenumberEnd: 11978
    functionName: pkcs7_sign_envelope_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:11990,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12016
      start: 11988
    functionDepth: 1
    functionLinenumber: 11988
    functionLinenumberEnd: 12016
    functionName: bindgen_test_layout_pkcs7_envelope_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_pkcs7_envelope_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:12019,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:12021,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:12021,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:12022,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12024
      start: 12018
    functionDepth: 2
    functionLinenumber: 12018
    functionLinenumberEnd: 12024
    functionName: pkcs7_envelope_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:12038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12074
      start: 12036
    functionDepth: 1
    functionLinenumber: 12036
    functionLinenumberEnd: 12074
    functionName: bindgen_test_layout_pkcs7_recip_info_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_pkcs7_recip_info_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:12077,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:12079,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:12079,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:12080,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12082
      start: 12076
    functionDepth: 2
    functionLinenumber: 12076
    functionLinenumberEnd: 12082
    functionName: pkcs7_recip_info_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:12094,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12115
      start: 12091
    functionDepth: 1
    functionLinenumber: 12091
    functionLinenumberEnd: 12115
    functionName: bindgen_test_layout_pkcs7_issuer_and_serial_st
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_pkcs7_issuer_and_serial_st()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:12118,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:12120,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:12120,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs:12121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12123
      start: 12117
    functionDepth: 2
    functionLinenumber: 12117
    functionLinenumberEnd: 12123
    functionName: pkcs7_issuer_and_serial_st::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/x86_64_pc_windows_msvc_crypto.rs:4898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4910
      start: 4896
    functionDepth: 1
    functionLinenumber: 4896
    functionLinenumberEnd: 4910
    functionName: bindgen_test_layout__iobuf
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/x86_64_pc_windows_msvc_crypto.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout__iobuf()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::MaybeUninit::<Self>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/x86_64_pc_windows_msvc_crypto.rs:4913,1
    - Dst: ::std::ptr::write_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/x86_64_pc_windows_msvc_crypto.rs:4915,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/x86_64_pc_windows_msvc_crypto.rs:4915,1
    - Dst: SpdmResult::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/x86_64_pc_windows_msvc_crypto.rs:4916,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4918
      start: 4912
    functionDepth: 2
    functionLinenumber: 4912
    functionLinenumberEnd: 4918
    functionName: _iobuf::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/x86_64_pc_windows_msvc_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::MaybeUninit::<Self>::uninit
    - SpdmResult::as_mut_ptr
    - ::std::ptr::write_bytes
    - SpdmResult::assume_init
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4078
      start: 4068
    functionDepth: 0
    functionLinenumber: 4068
    functionLinenumberEnd: 4078
    functionName: bindgen_test_layout_static_assertion_at_line_226_error_is_pointer_size_must_be_4_bytes_for_32_bit
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/i686_pc_windows_msvc_crypto.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn bindgen_test_layout_static_assertion_at_line_226_error_is_pointer_size_must_be_4_bytes_for_32_bit()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::transmute
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/i686_pc_windows_msvc_crypto.rs:4084,1
    - Dst: get
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/i686_pc_windows_msvc_crypto.rs:4084,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4085
      start: 4081
    functionDepth: 1
    functionLinenumber: 4081
    functionLinenumberEnd: 4085
    functionName: static_assertion_at_line_226_error_is_pointer_size_must_be_4_bytes_for_32_bit::static_assertion_at_line_226_error_is_pointer_size_must_be_4_bytes_for_32_bit
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/i686_pc_windows_msvc_crypto.rs
    functionUses: 0
    functionsReached:
    - ::std::mem::transmute
    - get
    linkageType: ''
    returnType: ::std::os::raw::c_uint
    signature: pub fn static_assertion_at_line_226_error_is_pointer_size_must_be_4_bytes_for_32_bit(&self,)
      -> ::std::os::raw::c_uint
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::transmute
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/i686_pc_windows_msvc_crypto.rs:4092,1
    - Dst: set
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/i686_pc_windows_msvc_crypto.rs:4093,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - ::std::os::raw::c_uint
    constantsTouched: []
    func_position:
      end: 4095
      start: 4087
    functionDepth: 4
    functionLinenumber: 4087
    functionLinenumberEnd: 4095
    functionName: static_assertion_at_line_226_error_is_pointer_size_must_be_4_bytes_for_32_bit::set_static_assertion_at_line_226_error_is_pointer_size_must_be_4_bytes_for_32_bit
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/i686_pc_windows_msvc_crypto.rs
    functionUses: 0
    functionsReached:
    - set
    - ::std::mem::transmute
    linkageType: ''
    returnType: void
    signature: 'pub fn set_static_assertion_at_line_226_error_is_pointer_size_must_be_4_bytes_for_32_bit(&mut
      self,val: ::std::os::raw::c_uint,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::transmute
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/i686_pc_windows_msvc_crypto.rs:4101,1
    - Dst: <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/i686_pc_windows_msvc_crypto.rs:4101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - this
    argTypes:
    - '*const Self'
    constantsTouched: []
    func_position:
      end: 4107
      start: 4097
    functionDepth: 3
    functionLinenumber: 4097
    functionLinenumberEnd: 4107
    functionName: static_assertion_at_line_226_error_is_pointer_size_must_be_4_bytes_for_32_bit::static_assertion_at_line_226_error_is_pointer_size_must_be_4_bytes_for_32_bit_raw
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/i686_pc_windows_msvc_crypto.rs
    functionUses: 0
    functionsReached:
    - <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get
    - ::std::mem::transmute
    linkageType: ''
    returnType: ::std::os::raw::c_uint
    signature: 'pub unsafe fn static_assertion_at_line_226_error_is_pointer_size_must_be_4_bytes_for_32_bit_raw(this:
      *const Self,) -> ::std::os::raw::c_uint'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::std::mem::transmute
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/i686_pc_windows_msvc_crypto.rs:4114,1
    - Dst: <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/i686_pc_windows_msvc_crypto.rs:4115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - this
    - val
    argTypes:
    - '*mut Self'
    - ::std::os::raw::c_uint
    constantsTouched: []
    func_position:
      end: 4122
      start: 4109
    functionDepth: 3
    functionLinenumber: 4109
    functionLinenumberEnd: 4122
    functionName: static_assertion_at_line_226_error_is_pointer_size_must_be_4_bytes_for_32_bit::set_static_assertion_at_line_226_error_is_pointer_size_must_be_4_bytes_for_32_bit_raw
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/i686_pc_windows_msvc_crypto.rs
    functionUses: 0
    functionsReached:
    - <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set
    - ::std::mem::transmute
    linkageType: ''
    returnType: void
    signature: 'pub unsafe fn set_static_assertion_at_line_226_error_is_pointer_size_must_be_4_bytes_for_32_bit_raw(this:
      *mut Self,val: ::std::os::raw::c_uint,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Default::default
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/i686_pc_windows_msvc_crypto.rs:4127,1
    - Dst: set
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/i686_pc_windows_msvc_crypto.rs:4128,1
    - Dst: ':: std :: mem :: transmute'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/i686_pc_windows_msvc_crypto.rs:4128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - static_assertion_at_line_226_error_is_pointer_size_must_be_4_bytes_for_32_bit
    argTypes:
    - ':: std :: os :: raw :: c_uint'
    constantsTouched: []
    func_position:
      end: 4130
      start: 4124
    functionDepth: 4
    functionLinenumber: 4124
    functionLinenumberEnd: 4130
    functionName: static_assertion_at_line_226_error_is_pointer_size_must_be_4_bytes_for_32_bit::new_bitfield_1
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/i686_pc_windows_msvc_crypto.rs
    functionUses: 0
    functionsReached:
    - set
    - ':: std :: mem :: transmute'
    - Default::default
    linkageType: ''
    returnType: __BindgenBitfieldUnit
    signature: 'pub fn new_bitfield_1(static_assertion_at_line_226_error_is_pointer_size_must_be_4_bytes_for_32_bit
      : :: std :: os :: raw :: c_uint,) -> __BindgenBitfieldUnit<[u8; 1usize]>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_documents
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:411,1
    - Dst: set_filters
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:411,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:413,1
    - Dst: into_paginator
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:411,1
    - Dst: send
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:411,1
    - Dst: next
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:417,1
    - Dst: is_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:418,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:419,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:422,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:422,1
    - Dst: Result::document_identifiers
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:422,1
    - Dst: Result::push
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:425,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:425,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs:432,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 2
    argNames:
    - client
    - ssm_deleted_documents
    argTypes:
    - '&Option<aws_sdk_ssm::Client>'
    - Vec<String>
    constantsTouched: []
    func_position:
      end: 433
      start: 392
    functionDepth: 5
    functionLinenumber: 392
    functionLinenumberEnd: 433
    functionName: get_ssm_document_list
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs
    functionUses: 1
    functionsReached:
    - Some
    - unwrap
    - Err
    - next
    - Result::document_identifiers
    - into_paginator
    - Result::push
    - Vec::from
    - is_err
    - list_documents
    - Ok
    - set_filters
    - send
    linkageType: ''
    returnType: Result
    signature: 'async fn get_ssm_document_list(client: &Option<aws_sdk_ssm::Client>,ssm_deleted_documents:
      Vec<String>,) -> Result<Vec<String>, String>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String::default
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/build.rs:85,1
    - Dst: std::env::vars
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/build.rs:89,1
    - Dst: bool::is_empty
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/build.rs:91,1
    - Dst: try_export_var
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/build.rs:92,1
    - Dst: '&str::strip_prefix'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/build.rs:97,1
    - Dst: SpdmResult::strip_suffix
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/build.rs:98,1
    - Dst: try_export_var
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/build.rs:101,1
    - Dst: push
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/build.rs:105,1
    - Dst: try_export_var
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/build.rs:114,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 45
    argCount: 1
    argNames:
    - sys_crate
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 116
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 116
    functionName: export_sys_vars
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/build.rs
    functionUses: 0
    functionsReached:
    - try_export_var
    - '&str::strip_prefix'
    - String::default
    - bool::is_empty
    - push
    - std::env::vars
    - SpdmResult::strip_suffix
    linkageType: ''
    returnType: void
    signature: 'fn export_sys_vars(sys_crate: &str)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&str::strip_prefix'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/build.rs:121,1
    - Dst: to_lowercase
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/build.rs:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - selected
    - name
    - value
    argTypes:
    - '&str'
    - '&str'
    - '&str'
    constantsTouched: []
    func_position:
      end: 126
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 126
    functionName: try_export_var
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/build.rs
    functionUses: 1
    functionsReached:
    - to_lowercase
    - '&str::strip_prefix'
    linkageType: ''
    returnType: void
    signature: 'fn try_export_var(selected: &str, name: &str, value: &str)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/tests/hkdf_tests.rs:29,1
    - Dst: ring::test_file
      Src: /src/spdm-rs/external/ring/tests/hkdf_tests.rs:29,1
    - Dst: Option::consume_digest_alg
      Src: /src/spdm-rs/external/ring/tests/hkdf_tests.rs:32,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/external/ring/tests/hkdf_tests.rs:32,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/hkdf_tests.rs:42,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/hkdf_tests.rs:43,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/hkdf_tests.rs:44,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/hkdf_tests.rs:45,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/hkdf_tests.rs:46,1
    - Dst: hkdf::Salt::new
      Src: /src/spdm-rs/external/ring/tests/hkdf_tests.rs:48,1
    - Dst: extract
      Src: /src/spdm-rs/external/ring/tests/hkdf_tests.rs:51,1
    - Dst: Option::expand
      Src: /src/spdm-rs/external/ring/tests/hkdf_tests.rs:51,1
    - Dst: My
      Src: /src/spdm-rs/external/ring/tests/hkdf_tests.rs:53,1
    - Dst: Vec::len
      Src: /src/spdm-rs/external/ring/tests/hkdf_tests.rs:53,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/ring/tests/hkdf_tests.rs:51,1
    - Dst: Result::into
      Src: /src/spdm-rs/external/ring/tests/hkdf_tests.rs:51,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/tests/hkdf_tests.rs:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 28
    functionDepth: 8
    functionLinenumber: 28
    functionLinenumberEnd: 60
    functionName: hkdf_tests
    functionSourceFile: /src/spdm-rs/external/ring/tests/hkdf_tests.rs
    functionUses: 0
    functionsReached:
    - ring::test_file
    - My
    - Vec::len
    - Option::expand
    - Result::into
    - Option::unwrap
    - Option::ok_or
    - Option::consume_digest_alg
    - Option::consume_bytes
    - hkdf::Salt::new
    - extract
    - test::run
    - Ok
    linkageType: ''
    returnType: void
    signature: fn hkdf_tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hkdf::Salt::new
      Src: /src/spdm-rs/external/ring/tests/hkdf_tests.rs:67,1
    - Dst: extract
      Src: /src/spdm-rs/external/ring/tests/hkdf_tests.rs:68,1
    - Dst: Option::expand
      Src: /src/spdm-rs/external/ring/tests/hkdf_tests.rs:72,1
    - Dst: My
      Src: /src/spdm-rs/external/ring/tests/hkdf_tests.rs:72,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/ring/tests/hkdf_tests.rs:72,1
    - Dst: Option::into
      Src: /src/spdm-rs/external/ring/tests/hkdf_tests.rs:73,1
    - Dst: Option::hmac_algorithm
      Src: /src/spdm-rs/external/ring/tests/hkdf_tests.rs:77,1
    - Dst: hmac::Algorithm::digest_algorithm
      Src: /src/spdm-rs/external/ring/tests/hkdf_tests.rs:77,1
    - Dst: '&''static digest::Algorithm::output_len'
      Src: /src/spdm-rs/external/ring/tests/hkdf_tests.rs:77,1
    - Dst: Option::expand
      Src: /src/spdm-rs/external/ring/tests/hkdf_tests.rs:81,1
    - Dst: My
      Src: /src/spdm-rs/external/ring/tests/hkdf_tests.rs:81,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/ring/tests/hkdf_tests.rs:81,1
    - Dst: Option::into
      Src: /src/spdm-rs/external/ring/tests/hkdf_tests.rs:82,1
    - Dst: Option::expand
      Src: /src/spdm-rs/external/ring/tests/hkdf_tests.rs:93,1
    - Dst: My
      Src: /src/spdm-rs/external/ring/tests/hkdf_tests.rs:93,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/ring/tests/hkdf_tests.rs:93,1
    - Dst: Option::expand
      Src: /src/spdm-rs/external/ring/tests/hkdf_tests.rs:100,1
    - Dst: My
      Src: /src/spdm-rs/external/ring/tests/hkdf_tests.rs:100,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/ring/tests/hkdf_tests.rs:100,1
    - Dst: Option::expand
      Src: /src/spdm-rs/external/ring/tests/hkdf_tests.rs:107,1
    - Dst: My
      Src: /src/spdm-rs/external/ring/tests/hkdf_tests.rs:107,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/ring/tests/hkdf_tests.rs:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 63
    functionDepth: 6
    functionLinenumber: 63
    functionLinenumberEnd: 112
    functionName: hkdf_output_len_tests
    functionSourceFile: /src/spdm-rs/external/ring/tests/hkdf_tests.rs
    functionUses: 0
    functionsReached:
    - My
    - '&''static digest::Algorithm::output_len'
    - hmac::Algorithm::digest_algorithm
    - Option::expand
    - Option::unwrap
    - Option::into
    - Option::hmac_algorithm
    - hkdf::Salt::new
    - extract
    linkageType: ''
    returnType: void
    signature: fn hkdf_output_len_tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: step_by
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:98,1
    - Dst: hkdf::Salt::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:99,1
    - Dst: extract
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:100,1
    - Dst: (SpdmConfigInfo, SpdmProvisionInfo)::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:102,1
    - Dst: Option::expand
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:105,1
    - Dst: My
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:105,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 96
    functionDepth: 6
    functionLinenumber: 96
    functionLinenumberEnd: 111
    functionName: hkdf_info_len_tests
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs
    functionUses: 0
    functionsReached:
    - step_by
    - My
    - Option::expand
    - (SpdmConfigInfo, SpdmProvisionInfo)::as_slice
    - Option::unwrap
    - hkdf::Salt::new
    - extract
    linkageType: ''
    returnType: void
    signature: fn hkdf_info_len_tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hkdf::Salt::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:122,1
    - Dst: extract
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:123,1
    - Dst: Option::expand
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:124,1
    - Dst: Option::hmac_algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:124,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:124,1
    - Dst: hmac::Key::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:125,1
    - Dst: Option::expand
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:128,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:128,1
    - Dst: hkdf::Salt::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:129,1
    - Dst: Option::expand
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:132,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:132,1
    - Dst: hkdf::Prk::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:133,1
    - Dst: Option::expand
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:140,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:140,1
    - Dst: aead::UnboundKey::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:141,1
    - Dst: Option::expand
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:145,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:145,1
    - Dst: cipher::UnboundCipherKey::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 115
    functionDepth: 15
    functionLinenumber: 115
    functionLinenumberEnd: 149
    functionName: hkdf_key_types
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs
    functionUses: 0
    functionsReached:
    - hmac::Key::from
    - Option::expand
    - hkdf::Salt::from
    - Option::unwrap
    - hkdf::Prk::from
    - aead::UnboundKey::from
    - Option::hmac_algorithm
    - hkdf::Salt::new
    - extract
    - cipher::UnboundCipherKey::from
    linkageType: ''
    returnType: void
    signature: fn hkdf_key_types()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hkdf::Prk::new_less_safe
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:163,1
    - Dst: Option::expand
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:164,1
    - Dst: My
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:165,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:164,1
    - Dst: Result::into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:164,1
    - Dst: Option::clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:169,1
    - Dst: BytesMutStrubbed::expand
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:170,1
    - Dst: My
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:171,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:170,1
    - Dst: Result::into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 152
    functionDepth: 6
    functionLinenumber: 152
    functionLinenumberEnd: 176
    functionName: hkdf_clone_tests
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs
    functionUses: 0
    functionsReached:
    - My
    - Option::expand
    - Result::into
    - Option::unwrap
    - BytesMutStrubbed::expand
    - hkdf::Prk::new_less_safe
    - Option::clone
    linkageType: ''
    returnType: void
    signature: fn hkdf_clone_tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extract
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:190,1
    - Dst: expand
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:190,1
    - Dst: My
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:192,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:190,1
    - Dst: into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:190,1
    - Dst: Vec::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:196,1
    - Dst: thread::spawn
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:198,1
    - Dst: extract
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:199,1
    - Dst: expand
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:199,1
    - Dst: My
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:201,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:199,1
    - Dst: into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:199,1
    - Dst: Self::push
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:206,1
    - Dst: Result::join
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:209,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 181
    functionDepth: 5
    functionLinenumber: 181
    functionLinenumberEnd: 212
    functionName: hkdf_thread_safeness
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs
    functionUses: 0
    functionsReached:
    - My
    - into
    - unwrap
    - Self::push
    - expand
    - Result::join
    - Vec::new
    - thread::spawn
    - extract
    linkageType: ''
    returnType: void
    signature: fn hkdf_thread_safeness()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: My::len
    functionSourceFile: /src/spdm-rs/external/ring/tests/hkdf_tests.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: fn len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::fill
      Src: /src/spdm-rs/external/ring/tests/hkdf_tests.rs:128,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/ring/tests/hkdf_tests.rs:128,1
    - Dst: Self
      Src: /src/spdm-rs/external/ring/tests/hkdf_tests.rs:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - okm
    argTypes:
    - hkdf::Okm<My<usize>>
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 5
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: My::from
    functionSourceFile: /src/spdm-rs/external/ring/tests/hkdf_tests.rs
    functionUses: 0
    functionsReached:
    - Self
    - unwrap
    - Option::fill
    linkageType: ''
    returnType: Self
    signature: 'fn from(okm: hkdf::Okm<My<usize>>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_aead_all
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:16,1
    - Dst: aws_lc_rs::test_file
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20
      start: 15
    functionDepth: 10
    functionLinenumber: 15
    functionLinenumberEnd: 20
    functionName: aead_aes_gcm_128
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs
    functionUses: 0
    functionsReached:
    - test_aead_all
    - aws_lc_rs::test_file
    linkageType: ''
    returnType: void
    signature: fn aead_aes_gcm_128()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_aead_all
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:24,1
    - Dst: aws_lc_rs::test_file
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 10
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: aead_aes_gcm_192
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs
    functionUses: 0
    functionsReached:
    - test_aead_all
    - aws_lc_rs::test_file
    linkageType: ''
    returnType: void
    signature: fn aead_aes_gcm_192()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_aead_all
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:32,1
    - Dst: aws_lc_rs::test_file
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 10
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: aead_aes_gcm_256
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs
    functionUses: 0
    functionsReached:
    - test_aead_all
    - aws_lc_rs::test_file
    linkageType: ''
    returnType: void
    signature: fn aead_aes_gcm_256()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_aead_all
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:40,1
    - Dst: aws_lc_rs::test_file
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 10
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: aead_aes_gcm_siv_256
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs
    functionUses: 0
    functionsReached:
    - test_aead_all
    - aws_lc_rs::test_file
    linkageType: ''
    returnType: void
    signature: fn aead_aes_gcm_siv_256()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_aead_all
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:48,1
    - Dst: aws_lc_rs::test_file
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 10
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: aead_aes_gcm_siv_128
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs
    functionUses: 0
    functionsReached:
    - test_aead_all
    - aws_lc_rs::test_file
    linkageType: ''
    returnType: void
    signature: fn aead_aes_gcm_siv_128()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_aead_all
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:56,1
    - Dst: aws_lc_rs::test_file
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 10
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: aead_chacha20_poly1305
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs
    functionUses: 0
    functionsReached:
    - test_aead_all
    - aws_lc_rs::test_file
    linkageType: ''
    returnType: void
    signature: fn aead_chacha20_poly1305()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:69,1
    - Dst: push
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:70,1
    - Dst: test_aead
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - aead_alg
    - test_file
    argTypes:
    - '&''static aead::Algorithm'
    - test::File
    constantsTouched: []
    func_position:
      end: 78
      start: 63
    functionDepth: 9
    functionLinenumber: 63
    functionLinenumberEnd: 78
    functionName: test_aead_all
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs
    functionUses: 6
    functionsReached:
    - test_aead
    - push
    linkageType: ''
    returnType: void
    signature: 'fn test_aead_all(aead_alg: &''static aead::Algorithm, test_file: test::File)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:105,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:107,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:108,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:109,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:110,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:111,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:112,1
    - Dst: Option::consume_optional_string
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:113,1
    - Dst: SpdmResult::as_deref
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:115,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:121,1
    - Dst: as_slice
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:131,1
    - Dst: '&[P::T]::try_into'
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:131,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:131,1
    - Dst: aead::Aad::from
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 41
    argCount: 3
    argNames:
    - aead_alg
    - f
    - test_file
    argTypes:
    - '&''static aead::Algorithm'
    - impl Fn(&'static aead::Algorithm, KnownAnswerTestCase) -> Result<(), error::Unspecified>
    - test::File
    constantsTouched: []
    func_position:
      end: 140
      start: 100
    functionDepth: 8
    functionLinenumber: 100
    functionLinenumberEnd: 140
    functionName: test_aead
    functionSourceFile: /src/spdm-rs/external/ring/tests/aead_tests.rs
    functionUses: 2
    functionsReached:
    - '&[P::T]::try_into'
    - as_slice
    - Option::consume_optional_string
    - Result::unwrap
    - SpdmResult::as_deref
    - Option::consume_bytes
    - test::run
    - Ok
    - aead::Aad::from
    linkageType: ''
    returnType: void
    signature: 'fn test_aead(aead_alg: &''static aead::Algorithm,f: impl Fn(&''static
      aead::Algorithm, KnownAnswerTestCase) -> Result<(), error::Unspecified>,test_file:
      test::File,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:278,1
    - Dst: Self::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:279,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:281,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:282,1
    - Dst: Nonce::try_assume_unique_for_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:283,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:283,1
    - Dst: aead::Aad::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:284,1
    - Dst: Self::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:284,1
    - Dst: open
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 7
    argNames:
    - aead_alg
    - key_bytes
    - nonce_bytes
    - aad_bytes
    - in_out
    - in_prefix_len
    - open
    argTypes:
    - '&''static aead::Algorithm'
    - '&[u8]'
    - '&[u8]'
    - '&[u8]'
    - '&[u8]'
    - usize
    - Open
    constantsTouched: []
    func_position:
      end: 294
      start: 260
    functionDepth: 16
    functionLinenumber: 260
    functionLinenumberEnd: 294
    functionName: aead_open_bad_tag
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs
    functionUses: 0
    functionsReached:
    - open
    - Self::len
    - Result::unwrap
    - Nonce::try_assume_unique_for_key
    - Vec::from
    - Self::as_slice
    - aead::Aad::from
    linkageType: ''
    returnType: void
    signature: 'fn aead_open_bad_tag<Open>(aead_alg: &''static aead::Algorithm,key_bytes:
      &[u8],nonce_bytes: &[u8],aad_bytes: &[u8],in_out: &[u8],in_prefix_len: usize,open:
      Open,) whereOpen: for<''a> Fn(&''static aead::Algorithm,&[u8],Nonce,aead::Aad<&[u8]>,&''a
      mut [u8],RangeFrom<usize>,) -> Result<&''a mut [u8], error::Unspecified>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:314,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:315,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:317,1
    - Dst: Nonce::try_assume_unique_for_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:318,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:318,1
    - Dst: aead::Aad::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:319,1
    - Dst: Self::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:319,1
    - Dst: open
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 7
    argNames:
    - aead_alg
    - key_bytes
    - nonce_bytes
    - aad_bytes
    - in_out
    - in_prefix_len
    - open
    argTypes:
    - '&''static aead::Algorithm'
    - '&[u8]'
    - '&[u8]'
    - '&[u8]'
    - '&[u8]'
    - usize
    - Open
    constantsTouched: []
    func_position:
      end: 329
      start: 296
    functionDepth: 16
    functionLinenumber: 296
    functionLinenumberEnd: 329
    functionName: aead_open_bad_nonce
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs
    functionUses: 0
    functionsReached:
    - open
    - Result::unwrap
    - Nonce::try_assume_unique_for_key
    - Vec::from
    - Self::as_slice
    - aead::Aad::from
    linkageType: ''
    returnType: void
    signature: 'fn aead_open_bad_nonce<Open>(aead_alg: &''static aead::Algorithm,key_bytes:
      &[u8],nonce_bytes: &[u8],aad_bytes: &[u8],in_out: &[u8],in_prefix_len: usize,open:
      Open,) whereOpen: for<''a> Fn(&''static aead::Algorithm,&[u8],Nonce,aead::Aad<&[u8]>,&''a
      mut [u8],RangeFrom<usize>,) -> Result<&''a mut [u8], error::Unspecified>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:349,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:350,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:351,1
    - Dst: Self::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:352,1
    - Dst: Self::push
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:354,1
    - Dst: Nonce::try_assume_unique_for_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:358,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:358,1
    - Dst: aead::Aad::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:359,1
    - Dst: Self::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:359,1
    - Dst: open
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 7
    argNames:
    - aead_alg
    - key_bytes
    - nonce_bytes
    - aad_bytes
    - in_out
    - in_prefix_len
    - open
    argTypes:
    - '&''static aead::Algorithm'
    - '&[u8]'
    - '&[u8]'
    - '&[u8]'
    - '&[u8]'
    - usize
    - Open
    constantsTouched: []
    func_position:
      end: 369
      start: 331
    functionDepth: 16
    functionLinenumber: 331
    functionLinenumberEnd: 369
    functionName: aead_open_bad_aad
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs
    functionUses: 0
    functionsReached:
    - open
    - Self::len
    - Self::push
    - Result::unwrap
    - Nonce::try_assume_unique_for_key
    - Vec::from
    - Self::as_slice
    - aead::Aad::from
    linkageType: ''
    returnType: void
    signature: 'fn aead_open_bad_aad<Open>(aead_alg: &''static aead::Algorithm,key_bytes:
      &[u8],nonce_bytes: &[u8],aad_bytes: &[u8],in_out: &[u8],in_prefix_len: usize,open:
      Open,) whereOpen: for<''a> Fn(&''static aead::Algorithm,&[u8],Nonce,aead::Aad<&[u8]>,&''a
      mut [u8],RangeFrom<usize>,) -> Result<&''a mut [u8], error::Unspecified>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:378,1
    - Dst: bool::seal_in_place_append_tag
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - algorithm
    - key
    - nonce
    - aad
    - in_out
    argTypes:
    - '&''static aead::Algorithm'
    - '&[u8]'
    - Nonce
    - aead::Aad<&[u8]>
    - '&mut Vec<u8>'
    constantsTouched: []
    func_position:
      end: 380
      start: 371
    functionDepth: 16
    functionLinenumber: 371
    functionLinenumberEnd: 380
    functionName: seal_with_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs
    functionUses: 0
    functionsReached:
    - bool::seal_in_place_append_tag
    - make_key
    linkageType: ''
    returnType: Result
    signature: 'fn seal_with_key(algorithm: &''static aead::Algorithm,key: &[u8],nonce:
      Nonce,aad: aead::Aad<&[u8]>,in_out: &mut Vec<u8>,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:390,1
    - Dst: K::open_within
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - algorithm
    - key
    - nonce
    - aad
    - in_out
    - ciphertext_and_tag
    argTypes:
    - '&''static aead::Algorithm'
    - '&[u8]'
    - Nonce
    - aead::Aad<&[u8]>
    - '&''a mut [u8]'
    - RangeFrom<usize>
    constantsTouched: []
    func_position:
      end: 392
      start: 382
    functionDepth: 16
    functionLinenumber: 382
    functionLinenumberEnd: 392
    functionName: open_with_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs
    functionUses: 0
    functionsReached:
    - make_key
    - K::open_within
    linkageType: ''
    returnType: Result
    signature: 'fn open_with_key<''a>(algorithm: &''static aead::Algorithm,key: &[u8],nonce:
      Nonce,aad: aead::Aad<&[u8]>,in_out: &''a mut [u8],ciphertext_and_tag: RangeFrom<usize>,)
      -> Result<&''a mut [u8], error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_less_safe_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:401,1
    - Dst: bool::seal_in_place_append_tag
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - algorithm
    - key
    - nonce
    - aad
    - in_out
    argTypes:
    - '&''static aead::Algorithm'
    - '&[u8]'
    - Nonce
    - aead::Aad<&[u8]>
    - '&mut Vec<u8>'
    constantsTouched: []
    func_position:
      end: 403
      start: 394
    functionDepth: 16
    functionLinenumber: 394
    functionLinenumberEnd: 403
    functionName: seal_with_less_safe_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs
    functionUses: 0
    functionsReached:
    - bool::seal_in_place_append_tag
    - make_less_safe_key
    linkageType: ''
    returnType: Result
    signature: 'fn seal_with_less_safe_key(algorithm: &''static aead::Algorithm,key:
      &[u8],nonce: Nonce,aad: aead::Aad<&[u8]>,in_out: &mut Vec<u8>,) -> Result<(),
      error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut Vec<u8>::is_empty'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:413,1
    - Dst: u32::from_ne_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:416,1
    - Dst: try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:416,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:416,1
    - Dst: '&mut Vec<u8>::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:417,1
    - Dst: to_vec
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:421,1
    - Dst: make_less_safe_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:422,1
    - Dst: '&mut Vec<u8>::extend_from_slice'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:425,1
    - Dst: tag_len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:425,1
    - Dst: '&mut Vec<u8>::split_at_mut'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:427,1
    - Dst: bool::seal_in_place_scatter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 5
    argNames:
    - algorithm
    - key
    - nonce
    - aad
    - in_out
    argTypes:
    - '&''static aead::Algorithm'
    - '&[u8]'
    - Nonce
    - aead::Aad<&[u8]>
    - '&mut Vec<u8>'
    constantsTouched: []
    func_position:
      end: 430
      start: 405
    functionDepth: 16
    functionLinenumber: 405
    functionLinenumberEnd: 430
    functionName: seal_with_less_safe_key_scatter
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs
    functionUses: 0
    functionsReached:
    - bool::seal_in_place_scatter
    - '&mut Vec<u8>::split_at_mut'
    - unwrap
    - '&mut Vec<u8>::is_empty'
    - tag_len
    - to_vec
    - u32::from_ne_bytes
    - make_less_safe_key
    - '&mut Vec<u8>::len'
    - try_into
    - '&mut Vec<u8>::extend_from_slice'
    linkageType: ''
    returnType: Result
    signature: 'fn seal_with_less_safe_key_scatter(algorithm: &''static aead::Algorithm,key:
      &[u8],nonce: Nonce,aad: aead::Aad<&[u8]>,in_out: &mut Vec<u8>,) -> Result<(),
      error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_less_safe_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:440,1
    - Dst: bool::open_within
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - algorithm
    - key
    - nonce
    - aad
    - in_out
    - ciphertext_and_tag
    argTypes:
    - '&''static aead::Algorithm'
    - '&[u8]'
    - Nonce
    - aead::Aad<&[u8]>
    - '&''a mut [u8]'
    - RangeFrom<usize>
    constantsTouched: []
    func_position:
      end: 442
      start: 432
    functionDepth: 16
    functionLinenumber: 432
    functionLinenumberEnd: 442
    functionName: open_with_less_safe_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs
    functionUses: 0
    functionsReached:
    - bool::open_within
    - make_less_safe_key
    linkageType: ''
    returnType: Result
    signature: 'fn open_with_less_safe_key<''a>(algorithm: &''static aead::Algorithm,key:
      &[u8],nonce: Nonce,aad: aead::Aad<&[u8]>,in_out: &''a mut [u8],ciphertext_and_tag:
      RangeFrom<usize>,) -> Result<&''a mut [u8], error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_less_safe_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:452,1
    - Dst: to_vec
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:455,1
    - Dst: split_at
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:456,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:456,1
    - Dst: tag_len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:456,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:458,1
    - Dst: bool::open_separate_gather
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:460,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 6
    argNames:
    - algorithm
    - key
    - nonce
    - aad
    - in_out
    - ciphertext_and_tag
    argTypes:
    - '&''static aead::Algorithm'
    - '&[u8]'
    - Nonce
    - aead::Aad<&[u8]>
    - '&''a mut [u8]'
    - RangeFrom<usize>
    constantsTouched: []
    func_position:
      end: 463
      start: 444
    functionDepth: 16
    functionLinenumber: 444
    functionLinenumberEnd: 463
    functionName: open_with_less_safe_key_gather
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs
    functionUses: 0
    functionsReached:
    - tag_len
    - to_vec
    - make_less_safe_key
    - len
    - Ok
    - bool::open_separate_gather
    - split_at
    linkageType: ''
    returnType: Result
    signature: 'fn open_with_less_safe_key_gather<''a>(algorithm: &''static aead::Algorithm,key:
      &[u8],nonce: Nonce,aad: aead::Aad<&[u8]>,in_out: &''a mut [u8],ciphertext_and_tag:
      RangeFrom<usize>,) -> Result<&''a mut [u8], error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&''static aead::Algorithm::key_len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - aead_alg
    argTypes:
    - '&''static aead::Algorithm'
    constantsTouched: []
    func_position:
      end: 490
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 490
    functionName: test_aead_key_sizes
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs
    functionUses: 0
    functionsReached:
    - '&''static aead::Algorithm::key_len'
    linkageType: ''
    returnType: void
    signature: 'fn test_aead_key_sizes(aead_alg: &''static aead::Algorithm)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 446
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 446
    functionName: test_aead_nonce_sizes
    functionSourceFile: /src/spdm-rs/external/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_aead_nonce_sizes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:453,1
    - Dst: ring::test_file
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:454,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:460,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:462,1
    - Dst: Option::consume_usize
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:466,1
    - Dst: usize::try_into
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:466,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:466,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:470,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:471,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:472,1
    - Dst: clone
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:478,1
    - Dst: aead::chacha20_poly1305_openssh::SealingKey::new
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:479,1
    - Dst: bool::seal_in_place
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:480,1
    - Dst: aead::chacha20_poly1305_openssh::OpeningKey::new
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:483,1
    - Dst: Self::open_in_place
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:486,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 495
      start: 450
    functionDepth: 10
    functionLinenumber: 450
    functionLinenumberEnd: 495
    functionName: aead_chacha20_poly1305_openssh
    functionSourceFile: /src/spdm-rs/external/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached:
    - Option::consume_usize
    - usize::try_into
    - Self::open_in_place
    - ring::test_file
    - clone
    - aead::chacha20_poly1305_openssh::SealingKey::new
    - Result::unwrap
    - bool::seal_in_place
    - copy_from_slice
    - Option::consume_bytes
    - test::run
    - Ok
    - aead::chacha20_poly1305_openssh::OpeningKey::new
    linkageType: ''
    returnType: void
    signature: fn aead_chacha20_poly1305_openssh()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::compile_time_assert_send::<aead::Tag>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:576,1
    - Dst: test::compile_time_assert_sync::<aead::Tag>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:577,1
    - Dst: test::compile_time_assert_send::<aead::UnboundKey>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:578,1
    - Dst: test::compile_time_assert_sync::<aead::UnboundKey>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:579,1
    - Dst: test::compile_time_assert_send::<aead::LessSafeKey>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:580,1
    - Dst: test::compile_time_assert_sync::<aead::LessSafeKey>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 582
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 582
    functionName: test_aead_traits
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs
    functionUses: 0
    functionsReached:
    - test::compile_time_assert_sync::<aead::LessSafeKey>
    - test::compile_time_assert_sync::<aead::UnboundKey>
    - test::compile_time_assert_send::<aead::UnboundKey>
    - test::compile_time_assert_send::<aead::Tag>
    - test::compile_time_assert_send::<aead::LessSafeKey>
    - test::compile_time_assert_sync::<aead::Tag>
    linkageType: ''
    returnType: void
    signature: fn test_aead_traits()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: seal_in_place_separate_tag
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:596,1
    - Dst: Nonce::try_assume_unique_for_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:598,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:598,1
    - Dst: aead::Aad::empty
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:599,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:596,1
    - Dst: Vec::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:604,1
    - Dst: thread::spawn
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:606,1
    - Dst: seal_in_place_separate_tag
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:607,1
    - Dst: Nonce::try_assume_unique_for_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:609,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:609,1
    - Dst: aead::Aad::empty
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:610,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:607,1
    - Dst: Self::push
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:615,1
    - Dst: Result::join
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:618,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:618,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 621
      start: 587
    functionDepth: 16
    functionLinenumber: 587
    functionLinenumberEnd: 621
    functionName: test_aead_thread_safeness
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs
    functionUses: 0
    functionsReached:
    - seal_in_place_separate_tag
    - unwrap
    - Self::push
    - Result::unwrap
    - Nonce::try_assume_unique_for_key
    - aead::Aad::empty
    - thread::spawn
    - Result::join
    - Vec::new
    linkageType: ''
    returnType: void
    signature: fn test_aead_thread_safeness()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_less_safe_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:631,1
    - Dst: make_less_safe_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:632,1
    - Dst: to_vec
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:633,1
    - Dst: aead::LessSafeKey::seal_in_place_separate_tag
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:635,1
    - Dst: Nonce::try_assume_unique_for_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:637,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:637,1
    - Dst: Aad::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:638,1
    - Dst: as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:638,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:635,1
    - Dst: aead::LessSafeKey::open_in_place_separate_tag
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:643,1
    - Dst: Nonce::try_assume_unique_for_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:645,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:645,1
    - Dst: Aad::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:646,1
    - Dst: as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:646,1
    - Dst: Tag::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:647,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 3
    argNames:
    - algorithm
    - key_bytes
    - plaintext
    argTypes:
    - '&''static aead::Algorithm'
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 653
      start: 623
    functionDepth: 16
    functionLinenumber: 623
    functionLinenumberEnd: 653
    functionName: test_open_in_place_separate_tag_for
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs
    functionUses: 2
    functionsReached:
    - Tag::as_ref
    - Aad::from
    - aead::LessSafeKey::seal_in_place_separate_tag
    - to_vec
    - aead::LessSafeKey::open_in_place_separate_tag
    - Result::unwrap
    - make_less_safe_key
    - Nonce::try_assume_unique_for_key
    - as_slice
    linkageType: ''
    returnType: void
    signature: 'fn test_open_in_place_separate_tag_for(algorithm: &''static aead::Algorithm,key_bytes:
      &[u8],plaintext: &[u8],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_open_in_place_separate_tag_for
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:659,1
    - Dst: test_open_in_place_separate_tag_for
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:660,1
    - Dst: test_open_in_place_separate_tag_for
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 662
      start: 656
    functionDepth: 17
    functionLinenumber: 656
    functionLinenumberEnd: 662
    functionName: test_less_safe_key_open_in_place_separate_tag
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs
    functionUses: 0
    functionsReached:
    - test_open_in_place_separate_tag_for
    linkageType: ''
    returnType: void
    signature: fn test_less_safe_key_open_in_place_separate_tag()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_open_in_place_separate_tag_for
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:666,1
    - Dst: test_open_in_place_separate_tag_for
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:667,1
    - Dst: test_open_in_place_separate_tag_for
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 669
      start: 665
    functionDepth: 17
    functionLinenumber: 665
    functionLinenumberEnd: 669
    functionName: test_less_safe_key_open_in_place_separate_tag_empty_plaintext
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs
    functionUses: 0
    functionsReached:
    - test_open_in_place_separate_tag_for
    linkageType: ''
    returnType: void
    signature: fn test_less_safe_key_open_in_place_separate_tag_empty_plaintext()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_less_safe_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:678,1
    - Dst: make_less_safe_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:679,1
    - Dst: to_vec
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:680,1
    - Dst: aead::LessSafeKey::seal_in_place_separate_tag
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:682,1
    - Dst: Nonce::try_assume_unique_for_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:684,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:684,1
    - Dst: Aad::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:685,1
    - Dst: as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:685,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:682,1
    - Dst: Tag::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:690,1
    - Dst: '&[u8]::to_vec'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:690,1
    - Dst: aead::LessSafeKey::open_in_place_separate_tag
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:693,1
    - Dst: Nonce::try_assume_unique_for_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:694,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:694,1
    - Dst: Aad::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:695,1
    - Dst: as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 701
      start: 672
    functionDepth: 16
    functionLinenumber: 672
    functionLinenumberEnd: 701
    functionName: test_less_safe_key_open_in_place_separate_tag_wrong_tag
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::to_vec'
    - Tag::as_ref
    - Aad::from
    - aead::LessSafeKey::seal_in_place_separate_tag
    - to_vec
    - aead::LessSafeKey::open_in_place_separate_tag
    - Result::unwrap
    - make_less_safe_key
    - Nonce::try_assume_unique_for_key
    - as_slice
    linkageType: ''
    returnType: void
    signature: fn test_less_safe_key_open_in_place_separate_tag_wrong_tag()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_less_safe_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:710,1
    - Dst: make_less_safe_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:711,1
    - Dst: to_vec
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:712,1
    - Dst: aead::LessSafeKey::seal_in_place_separate_tag
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:714,1
    - Dst: Nonce::try_assume_unique_for_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:716,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:716,1
    - Dst: Aad::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:717,1
    - Dst: as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:717,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:714,1
    - Dst: aead::LessSafeKey::open_in_place_separate_tag
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:722,1
    - Dst: Nonce::try_assume_unique_for_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:723,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:723,1
    - Dst: Aad::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:724,1
    - Dst: '&str::as_slice'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:724,1
    - Dst: Tag::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 730
      start: 704
    functionDepth: 16
    functionLinenumber: 704
    functionLinenumberEnd: 730
    functionName: test_less_safe_key_open_in_place_separate_tag_wrong_aad
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs
    functionUses: 0
    functionsReached:
    - Tag::as_ref
    - Aad::from
    - aead::LessSafeKey::seal_in_place_separate_tag
    - '&str::as_slice'
    - to_vec
    - aead::LessSafeKey::open_in_place_separate_tag
    - Result::unwrap
    - make_less_safe_key
    - Nonce::try_assume_unique_for_key
    - as_slice
    linkageType: ''
    returnType: void
    signature: fn test_less_safe_key_open_in_place_separate_tag_wrong_aad()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aead::UnboundKey::new
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:545,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:545,1
    - Dst: make_key
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:551,1
    - Dst: aead::Nonce::try_assume_unique_for_key
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:554,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:554,1
    - Dst: make_key
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:561,1
    - Dst: aead::Nonce::try_assume_unique_for_key
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:564,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:564,1
    - Dst: make_less_safe_key
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 576
      start: 541
    functionDepth: 15
    functionLinenumber: 541
    functionLinenumberEnd: 576
    functionName: test_aead_key_debug
    functionSourceFile: /src/spdm-rs/external/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached:
    - aead::Nonce::try_assume_unique_for_key
    - aead::UnboundKey::new
    - make_key
    - Result::unwrap
    - make_less_safe_key
    linkageType: ''
    returnType: void
    signature: fn test_aead_key_debug()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aead::UnboundKey::new
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:635,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:635,1
    - Dst: aead::LessSafeKey::new
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - algorithm
    - key
    argTypes:
    - '&''static aead::Algorithm'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 637
      start: 634
    functionDepth: 15
    functionLinenumber: 634
    functionLinenumberEnd: 637
    functionName: make_less_safe_key
    functionSourceFile: /src/spdm-rs/external/ring/tests/aead_tests.rs
    functionUses: 13
    functionsReached:
    - Result::unwrap
    - aead::LessSafeKey::new
    - aead::UnboundKey::new
    linkageType: ''
    returnType: aead::LessSafeKey
    signature: 'fn make_less_safe_key(algorithm: &''static aead::Algorithm, key: &[u8])
      -> aead::LessSafeKey'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SealingKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:806,1
    - Dst: UnboundKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:807,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:807,1
    - Dst: Counter32Builder::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:808,1
    - Dst: Counter32Builder::limit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:808,1
    - Dst: Counter32Builder::build
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:808,1
    - Dst: OpeningKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:810,1
    - Dst: UnboundKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:811,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:811,1
    - Dst: Counter32Builder::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:812,1
    - Dst: Counter32Builder::limit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:812,1
    - Dst: Counter32Builder::build
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:812,1
    - Dst: prepare_nonce
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:818,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:818,1
    - Dst: prepare_nonce
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:819,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:819,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:820,1
    - Dst: Result::nonce
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:820,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:820,1
    - Dst: '&[u8]::as_slice'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:820,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:821,1
    - Dst: Result::nonce
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:821,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:821,1
    - Dst: '&[u8]::as_slice'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:821,1
    - Dst: push
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:825,1
    - Dst: push
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:826,1
    - Dst: bool::extend_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:829,1
    - Dst: Result::seal_in_place_append_tag
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:831,1
    - Dst: Aad::empty
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:831,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:831,1
    - Dst: Result::open_in_place
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:835,1
    - Dst: Aad::empty
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:835,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:835,1
    - Dst: prepare_nonce
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:838,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:838,1
    - Dst: prepare_nonce
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:839,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:839,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:840,1
    - Dst: Result::nonce
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:840,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:840,1
    - Dst: '&[u8]::as_slice'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:840,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:841,1
    - Dst: Result::nonce
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:841,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:841,1
    - Dst: '&[u8]::as_slice'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:841,1
    - Dst: push
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:845,1
    - Dst: push
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:846,1
    - Dst: bool::extend_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:849,1
    - Dst: Result::seal_in_place_separate_tag
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:851,1
    - Dst: Aad::empty
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:852,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:851,1
    - Dst: bool::extend_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:855,1
    - Dst: Tag::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:855,1
    - Dst: Result::open_within
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:857,1
    - Dst: Aad::empty
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:857,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:857,1
    - Dst: chunks_exact
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:861,1
    - Dst: bool::extend_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:868,1
    - Dst: prepare_nonce
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:871,1
    - Dst: expect_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:871,1
    - Dst: prepare_nonce
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:872,1
    - Dst: expect_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:872,1
    - Dst: seal_in_place_append_tag
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:873,1
    - Dst: Aad::empty
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:873,1
    - Dst: Result::expect_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:873,1
    - Dst: seal_in_place_separate_tag
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:875,1
    - Dst: Aad::empty
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:875,1
    - Dst: expect_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:875,1
    - Dst: open_in_place
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:877,1
    - Dst: Aad::empty
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:877,1
    - Dst: expect_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs:877,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 170
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 879
      start: 795
    functionDepth: 15
    functionLinenumber: 795
    functionLinenumberEnd: 879
    functionName: prepare_nonce
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs
    functionUses: 2
    functionsReached:
    - Tag::as_ref
    - unwrap
    - Result::seal_in_place_append_tag
    - Counter32Builder::new
    - push
    - seal_in_place_append_tag
    - chunks_exact
    - Result::nonce
    - prepare_nonce
    - UnboundKey::new
    - bool::extend_from_slice
    - Aad::empty
    - Vec::from
    - Counter32Builder::limit
    - open_in_place
    - seal_in_place_separate_tag
    - Result::expect_err
    - Result::open_in_place
    - Result::open_within
    - Result::seal_in_place_separate_tag
    - expect_err
    - SealingKey::new
    - Counter32Builder::build
    - OpeningKey::new
    - '&[u8]::as_slice'
    - Result::unwrap
    - as_ref
    linkageType: ''
    returnType: void
    signature: fn prepare_nonce()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/tests/hmac_tests.rs:29,1
    - Dst: ring::test_file
      Src: /src/spdm-rs/external/ring/tests/hmac_tests.rs:29,1
    - Dst: Option::consume_digest_alg
      Src: /src/spdm-rs/external/ring/tests/hmac_tests.rs:31,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/hmac_tests.rs:32,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/hmac_tests.rs:33,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/hmac_tests.rs:34,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/tests/hmac_tests.rs:40,1
    - Dst: hmac_test_case_inner
      Src: /src/spdm-rs/external/ring/tests/hmac_tests.rs:56,1
    - Dst: is_empty
      Src: /src/spdm-rs/external/ring/tests/hmac_tests.rs:59,1
    - Dst: push
      Src: /src/spdm-rs/external/ring/tests/hmac_tests.rs:60,1
    - Dst: hmac_test_case_inner
      Src: /src/spdm-rs/external/ring/tests/hmac_tests.rs:65,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/tests/hmac_tests.rs:67,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 28
    functionDepth: 12
    functionLinenumber: 28
    functionLinenumberEnd: 69
    functionName: hmac_tests
    functionSourceFile: /src/spdm-rs/external/ring/tests/hmac_tests.rs
    functionUses: 0
    functionsReached:
    - ring::test_file
    - is_empty
    - hmac_test_case_inner
    - Option::consume_digest_alg
    - push
    - Option::consume_bytes
    - test::run
    - Ok
    linkageType: ''
    returnType: void
    signature: fn hmac_tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hmac::Key::new
      Src: /src/spdm-rs/external/ring/tests/hmac_tests.rs:78,1
    - Dst: hmac::sign
      Src: /src/spdm-rs/external/ring/tests/hmac_tests.rs:82,1
    - Dst: hmac::Context::with_key
      Src: /src/spdm-rs/external/ring/tests/hmac_tests.rs:89,1
    - Dst: Self::update
      Src: /src/spdm-rs/external/ring/tests/hmac_tests.rs:90,1
    - Dst: Self::sign
      Src: /src/spdm-rs/external/ring/tests/hmac_tests.rs:91,1
    - Dst: hmac::Context::with_key
      Src: /src/spdm-rs/external/ring/tests/hmac_tests.rs:97,1
    - Dst: update
      Src: /src/spdm-rs/external/ring/tests/hmac_tests.rs:99,1
    - Dst: sign
      Src: /src/spdm-rs/external/ring/tests/hmac_tests.rs:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 5
    argNames:
    - algorithm
    - key_value
    - input
    - output
    - is_ok
    argTypes:
    - hmac::Algorithm
    - '&[u8]'
    - '&[u8]'
    - '&[u8]'
    - bool
    constantsTouched: []
    func_position:
      end: 104
      start: 71
    functionDepth: 11
    functionLinenumber: 71
    functionLinenumberEnd: 104
    functionName: hmac_test_case_inner
    functionSourceFile: /src/spdm-rs/external/ring/tests/hmac_tests.rs
    functionUses: 1
    functionsReached:
    - hmac::Key::new
    - Self::sign
    - sign
    - update
    - Self::update
    - hmac::Context::with_key
    - hmac::sign
    linkageType: ''
    returnType: void
    signature: 'fn hmac_test_case_inner(algorithm: hmac::Algorithm,key_value: &[u8],input:
      &[u8],output: &[u8],is_ok: bool,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hmac::Key::new
      Src: /src/spdm-rs/external/ring/tests/hmac_tests.rs:108,1
    - Dst: hmac::Context::with_key
      Src: /src/spdm-rs/external/ring/tests/hmac_tests.rs:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 5
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: hmac_debug
    functionSourceFile: /src/spdm-rs/external/ring/tests/hmac_tests.rs
    functionUses: 0
    functionsReached:
    - hmac::Context::with_key
    - hmac::Key::new
    linkageType: ''
    returnType: void
    signature: fn hmac_debug()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::compile_time_assert_send::<hmac::Key>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hmac_test.rs:100,1
    - Dst: test::compile_time_assert_sync::<hmac::Key>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hmac_test.rs:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: hmac_traits
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hmac_test.rs
    functionUses: 0
    functionsReached:
    - test::compile_time_assert_send::<hmac::Key>
    - test::compile_time_assert_sync::<hmac::Key>
    linkageType: ''
    returnType: void
    signature: fn hmac_traits()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc_rs::hmac::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hmac_test.rs:114,1
    - Dst: Vec::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hmac_test.rs:116,1
    - Dst: thread::spawn
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hmac_test.rs:118,1
    - Dst: aws_lc_rs::hmac::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hmac_test.rs:119,1
    - Dst: aws_lc_rs::hmac::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hmac_test.rs:121,1
    - Dst: Self::push
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hmac_test.rs:126,1
    - Dst: Result::join
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hmac_test.rs:129,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hmac_test.rs:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 107
    functionDepth: 5
    functionLinenumber: 107
    functionLinenumberEnd: 132
    functionName: hmac_thread_safeness
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hmac_test.rs
    functionUses: 0
    functionsReached:
    - aws_lc_rs::hmac::sign
    - unwrap
    - Self::push
    - Vec::new
    - thread::spawn
    - Result::join
    linkageType: ''
    returnType: void
    signature: fn hmac_thread_safeness()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/tests/digest_tests.rs:30,1
    - Dst: ring::test_file
      Src: /src/spdm-rs/external/ring/tests/digest_tests.rs:30,1
    - Dst: Option::consume_digest_alg
      Src: /src/spdm-rs/external/ring/tests/digest_tests.rs:32,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/ring/tests/digest_tests.rs:32,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/digest_tests.rs:33,1
    - Dst: Option::consume_usize
      Src: /src/spdm-rs/external/ring/tests/digest_tests.rs:34,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/digest_tests.rs:35,1
    - Dst: digest::Context::new
      Src: /src/spdm-rs/external/ring/tests/digest_tests.rs:37,1
    - Dst: Vec::new
      Src: /src/spdm-rs/external/ring/tests/digest_tests.rs:38,1
    - Dst: update
      Src: /src/spdm-rs/external/ring/tests/digest_tests.rs:40,1
    - Dst: extend
      Src: /src/spdm-rs/external/ring/tests/digest_tests.rs:41,1
    - Dst: finish
      Src: /src/spdm-rs/external/ring/tests/digest_tests.rs:43,1
    - Dst: digest::digest
      Src: /src/spdm-rs/external/ring/tests/digest_tests.rs:46,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/tests/digest_tests.rs:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 29
    functionDepth: 8
    functionLinenumber: 29
    functionLinenumberEnd: 51
    functionName: digest_misc
    functionSourceFile: /src/spdm-rs/external/ring/tests/digest_tests.rs
    functionUses: 0
    functionsReached:
    - Option::consume_usize
    - ring::test_file
    - finish
    - Option::unwrap
    - digest::digest
    - Option::consume_digest_alg
    - extend
    - update
    - digest::Context::new
    - Vec::new
    - Option::consume_bytes
    - test::run
    - Ok
    linkageType: ''
    returnType: void
    signature: fn digest_misc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/cavp/tests/shavs.rs:30,1
    - Dst: Option::consume_usize
      Src: /src/spdm-rs/external/ring/cavp/tests/shavs.rs:32,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/cavp/tests/shavs.rs:34,1
    - Dst: SpdmResult::truncate
      Src: /src/spdm-rs/external/ring/cavp/tests/shavs.rs:39,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/cavp/tests/shavs.rs:43,1
    - Dst: digest::digest
      Src: /src/spdm-rs/external/ring/cavp/tests/shavs.rs:44,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/cavp/tests/shavs.rs:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 2
    argNames:
    - digest_alg
    - test_file
    argTypes:
    - '&''static digest::Algorithm'
    - test::File
    constantsTouched: []
    func_position:
      end: 49
      start: 28
    functionDepth: 8
    functionLinenumber: 28
    functionLinenumberEnd: 49
    functionName: digest_shavs::run_known_answer_test
    functionSourceFile: /src/spdm-rs/external/ring/cavp/tests/shavs.rs
    functionUses: 0
    functionsReached:
    - Option::consume_usize
    - SpdmResult::truncate
    - digest::digest
    - Option::consume_bytes
    - test::run
    - Ok
    linkageType: ''
    returnType: void
    signature: 'fn run_known_answer_test(digest_alg: &''static digest::Algorithm,
      test_file: test::File)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::with_capacity
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/digest_test.rs:141,1
    - Dst: test::run
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/digest_test.rs:143,1
    - Dst: extend
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/digest_test.rs:147,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/digest_test.rs:147,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/digest_test.rs:149,1
    - Dst: Option::consume_usize
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/digest_test.rs:153,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/digest_test.rs:157,1
    - Dst: Vec::with_capacity
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/digest_test.rs:159,1
    - Dst: BytesMutStrubbed::push
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/digest_test.rs:160,1
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/digest_test.rs:160,1
    - Dst: BytesMutStrubbed::push
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/digest_test.rs:161,1
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/digest_test.rs:161,1
    - Dst: BytesMutStrubbed::push
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/digest_test.rs:162,1
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/digest_test.rs:162,1
    - Dst: digest::Context::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/digest_test.rs:164,1
    - Dst: update
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/digest_test.rs:165,1
    - Dst: update
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/digest_test.rs:166,1
    - Dst: update
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/digest_test.rs:167,1
    - Dst: finish
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/digest_test.rs:168,1
    - Dst: BytesMutStrubbed::remove
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/digest_test.rs:170,1
    - Dst: BytesMutStrubbed::push
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/digest_test.rs:171,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/digest_test.rs:171,1
    - Dst: Tag::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/digest_test.rs:171,1
    - Dst: BytesMutStrubbed::last
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/digest_test.rs:173,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/digest_test.rs:173,1
    - Dst: clone_from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/digest_test.rs:175,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/digest_test.rs:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 85
    argCount: 2
    argNames:
    - digest_alg
    - test_file
    argTypes:
    - '&''static digest::Algorithm'
    - test::File
    constantsTouched: []
    func_position:
      end: 181
      start: 134
    functionDepth: 8
    functionLinenumber: 134
    functionLinenumberEnd: 181
    functionName: digest_shavs::run_monte_carlo_fips_180_4_test
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/digest_test.rs
    functionUses: 0
    functionsReached:
    - Option::consume_usize
    - Vec::from
    - clone
    - finish
    - Tag::as_ref
    - Vec::with_capacity
    - unwrap
    - clone_from
    - BytesMutStrubbed::push
    - extend
    - update
    - digest::Context::new
    - BytesMutStrubbed::remove
    - Option::consume_bytes
    - BytesMutStrubbed::last
    - test::run
    - Ok
    linkageType: ''
    returnType: void
    signature: 'fn run_monte_carlo_fips_180_4_test(digest_alg: &''static digest::Algorithm,test_file:
      test::File,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::with_capacity
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/digest_test.rs:191,1
    - Dst: test::run
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/digest_test.rs:193,1
    - Dst: extend
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/digest_test.rs:197,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/digest_test.rs:197,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/digest_test.rs:199,1
    - Dst: Option::consume_usize
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/digest_test.rs:203,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/digest_test.rs:207,1
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/digest_test.rs:209,1
    - Dst: digest::Context::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/digest_test.rs:211,1
    - Dst: update
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/digest_test.rs:212,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/digest_test.rs:213,1
    - Dst: finish
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/digest_test.rs:213,1
    - Dst: Tag::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/digest_test.rs:213,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/digest_test.rs:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 52
    argCount: 2
    argNames:
    - digest_alg
    - test_file
    argTypes:
    - '&''static digest::Algorithm'
    - test::File
    constantsTouched: []
    func_position:
      end: 223
      start: 184
    functionDepth: 8
    functionLinenumber: 184
    functionLinenumberEnd: 223
    functionName: digest_shavs::run_monte_carlo_fips_202_test
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/digest_test.rs
    functionUses: 0
    functionsReached:
    - Option::consume_usize
    - Vec::from
    - clone
    - finish
    - Tag::as_ref
    - Vec::with_capacity
    - extend
    - update
    - digest::Context::new
    - Option::consume_bytes
    - test::run
    - Ok
    linkageType: ''
    returnType: void
    signature: 'fn run_monte_carlo_fips_202_test(digest_alg: &''static digest::Algorithm,test_file:
      test::File,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_len
      Src: /src/spdm-rs/external/ring/tests/digest_tests.rs:6,1
    - Dst: digest::Context::new
      Src: /src/spdm-rs/external/ring/tests/digest_tests.rs:18,1
    - Dst: update
      Src: /src/spdm-rs/external/ring/tests/digest_tests.rs:19,1
    - Dst: update
      Src: /src/spdm-rs/external/ring/tests/digest_tests.rs:20,1
    - Dst: update
      Src: /src/spdm-rs/external/ring/tests/digest_tests.rs:21,1
    - Dst: finish
      Src: /src/spdm-rs/external/ring/tests/digest_tests.rs:22,1
    - Dst: digest::digest
      Src: /src/spdm-rs/external/ring/tests/digest_tests.rs:24,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 58
    functionDepth: 11
    functionLinenumber: 58
    functionLinenumberEnd: 90
    functionName: test_i_u_f
    functionSourceFile: /src/spdm-rs/external/ring/tests/digest_tests.rs
    functionUses: 0
    functionsReached:
    - finish
    - block_len
    - digest::digest
    - update
    - digest::Context::new
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/digest_test.rs:9,1
    - Dst: digest::Context::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/digest_test.rs:10,1
    - Dst: update
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/digest_test.rs:13,1
    - Dst: finish
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/digest_test.rs:19,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 329
      start: 305
    functionDepth: 11
    functionLinenumber: 305
    functionLinenumberEnd: 329
    functionName: test_large_digest
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/digest_test.rs
    functionUses: 0
    functionsReached:
    - finish
    - len
    - update
    - digest::Context::new
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: test_fmt_algorithm
    functionSourceFile: /src/spdm-rs/external/ring/tests/digest_tests.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_fmt_algorithm()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 137
    functionName: digest_test_fmt
    functionSourceFile: /src/spdm-rs/external/ring/tests/digest_tests.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn digest_test_fmt()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::compile_time_assert_send::<EcdsaKeyPair>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:19,1
    - Dst: test::compile_time_assert_sync::<EcdsaKeyPair>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:20,1
    - Dst: test::compile_time_assert_send::<Signature>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:21,1
    - Dst: test::compile_time_assert_sync::<Signature>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: ecdsa_traits
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs
    functionUses: 0
    functionsReached:
    - test::compile_time_assert_sync::<EcdsaKeyPair>
    - test::compile_time_assert_send::<EcdsaKeyPair>
    - test::compile_time_assert_sync::<Signature>
    - test::compile_time_assert_send::<Signature>
    linkageType: ''
    returnType: void
    signature: fn ecdsa_traits()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand::SystemRandom::new
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:28,1
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:30,1
    - Dst: ring::test_file
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:31,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:35,1
    - Dst: '&''static agreement::Algorithm::as_str'
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:36,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:60,1
    - Dst: Option::consume_optional_string
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:62,1
    - Dst: signature::EcdsaKeyPair::from_pkcs8
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:65,1
    - Dst: SpdmResult::clone
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:66,1
    - Dst: signature::EcdsaKeyPair::from_pkcs8
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:75,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 27
    functionDepth: 10
    functionLinenumber: 27
    functionLinenumberEnd: 90
    functionName: ecdsa_from_pkcs8_test
    functionSourceFile: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs
    functionUses: 0
    functionsReached:
    - Option::consume_string
    - ring::test_file
    - SpdmResult::clone
    - Ok
    - signature::EcdsaKeyPair::from_pkcs8
    - '&''static agreement::Algorithm::as_str'
    - Option::consume_optional_string
    - Option::consume_bytes
    - test::run
    - rand::SystemRandom::new
    linkageType: ''
    returnType: void
    signature: fn ecdsa_from_pkcs8_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand::SystemRandom::new
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:95,1
    - Dst: signature::EcdsaKeyPair::generate_pkcs8
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:103,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:103,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:105,1
    - Dst: signature::EcdsaKeyPair::from_pkcs8
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:112,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:112,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 94
    functionDepth: 15
    functionLinenumber: 94
    functionLinenumberEnd: 114
    functionName: ecdsa_generate_pkcs8_test
    functionSourceFile: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs
    functionUses: 0
    functionsReached:
    - signature::EcdsaKeyPair::generate_pkcs8
    - Result::unwrap
    - signature::EcdsaKeyPair::from_pkcs8
    - as_ref
    - rand::SystemRandom::new
    linkageType: ''
    returnType: void
    signature: fn ecdsa_generate_pkcs8_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:118,1
    - Dst: ring::test_file
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:119,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:123,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:124,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:125,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:126,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:127,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:128,1
    - Dst: '&''static agreement::Algorithm::as_str'
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:130,1
    - Dst: String::as_str
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:130,1
    - Dst: signature::UnparsedPublicKey::new
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:141,1
    - Dst: Self::verify
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:141,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 117
    functionDepth: 8
    functionLinenumber: 117
    functionLinenumberEnd: 147
    functionName: signature_ecdsa_verify_asn1_test
    functionSourceFile: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs
    functionUses: 0
    functionsReached:
    - signature::UnparsedPublicKey::new
    - Option::consume_string
    - ring::test_file
    - Self::verify
    - String::as_str
    - '&''static agreement::Algorithm::as_str'
    - Option::consume_bytes
    - test::run
    - Ok
    linkageType: ''
    returnType: void
    signature: fn signature_ecdsa_verify_asn1_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_signature_ecdsa_verify_asn1
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:157,1
    - Dst: aws_lc_rs::test_file
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 9
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: signature_ecdsa_verify_asn1_sha3_test
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs
    functionUses: 0
    functionsReached:
    - test_signature_ecdsa_verify_asn1
    - aws_lc_rs::test_file
    linkageType: ''
    returnType: void
    signature: fn signature_ecdsa_verify_asn1_sha3_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:161,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:164,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:165,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:166,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:167,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:168,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:169,1
    - Dst: '&''static agreement::Algorithm::as_str'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:171,1
    - Dst: String::as_str
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:171,1
    - Dst: UnparsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:193,1
    - Dst: Self::verify
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:196,1
    - Dst: digest::digest
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:199,1
    - Dst: Self::verify_digest
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:200,1
    - Dst: ParsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:205,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:205,1
    - Dst: Result::verify_sig
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:207,1
    - Dst: digest::digest
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:210,1
    - Dst: Result::verify_digest_sig
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:211,1
    - Dst: Result::as_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:214,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:214,1
    - Dst: Option::verify_sig
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:215,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:215,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 116
    argCount: 1
    argNames:
    - data_file
    argTypes:
    - test::File
    constantsTouched: []
    func_position:
      end: 221
      start: 160
    functionDepth: 8
    functionLinenumber: 160
    functionLinenumberEnd: 221
    functionName: test_signature_ecdsa_verify_asn1
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs
    functionUses: 1
    functionsReached:
    - Option::consume_string
    - UnparsedPublicKey::new
    - Self::verify
    - String::as_str
    - Result::verify_digest_sig
    - Option::verify_sig
    - Result::as_ref
    - Result::verify_sig
    - '&''static agreement::Algorithm::as_str'
    - digest::digest
    - ParsedPublicKey::new
    - Result::unwrap
    - Result::as_der
    - Self::verify_digest
    - Option::consume_bytes
    - test::run
    - Ok
    linkageType: ''
    returnType: void
    signature: 'fn test_signature_ecdsa_verify_asn1(data_file: test::File)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:151,1
    - Dst: ring::test_file
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:152,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:156,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:157,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:159,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:160,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:161,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:162,1
    - Dst: '&''static agreement::Algorithm::as_str'
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:164,1
    - Dst: String::as_str
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:164,1
    - Dst: signature::UnparsedPublicKey::new
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:175,1
    - Dst: Self::verify
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:175,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 150
    functionDepth: 8
    functionLinenumber: 150
    functionLinenumberEnd: 181
    functionName: signature_ecdsa_verify_fixed_test
    functionSourceFile: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs
    functionUses: 0
    functionsReached:
    - signature::UnparsedPublicKey::new
    - Option::consume_string
    - ring::test_file
    - Self::verify
    - String::as_str
    - '&''static agreement::Algorithm::as_str'
    - Option::consume_bytes
    - test::run
    - Ok
    linkageType: ''
    returnType: void
    signature: fn signature_ecdsa_verify_fixed_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_signature_ecdsa_verify_fixed
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:230,1
    - Dst: aws_lc_rs::test_file
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 231
      start: 229
    functionDepth: 9
    functionLinenumber: 229
    functionLinenumberEnd: 231
    functionName: signature_ecdsa_verify_sha3_fixed_test
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs
    functionUses: 0
    functionsReached:
    - test_signature_ecdsa_verify_fixed
    - aws_lc_rs::test_file
    linkageType: ''
    returnType: void
    signature: fn signature_ecdsa_verify_sha3_fixed_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:234,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:237,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:238,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:240,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:241,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:242,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:243,1
    - Dst: '&''static agreement::Algorithm::as_str'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:245,1
    - Dst: String::as_str
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:245,1
    - Dst: UnparsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:264,1
    - Dst: Self::verify
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:266,1
    - Dst: digest::digest
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:269,1
    - Dst: Self::verify_digest
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:270,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 73
    argCount: 1
    argNames:
    - data_file
    argTypes:
    - test::File
    constantsTouched: []
    func_position:
      end: 275
      start: 233
    functionDepth: 8
    functionLinenumber: 233
    functionLinenumberEnd: 275
    functionName: test_signature_ecdsa_verify_fixed
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs
    functionUses: 1
    functionsReached:
    - Option::consume_string
    - UnparsedPublicKey::new
    - Self::verify
    - String::as_str
    - '&''static agreement::Algorithm::as_str'
    - digest::digest
    - Self::verify_digest
    - Option::consume_bytes
    - test::run
    - Ok
    linkageType: ''
    returnType: void
    signature: 'fn test_signature_ecdsa_verify_fixed(data_file: test::File)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand::SystemRandom::new
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:189,1
    - Dst: signature::EcdsaKeyPair::from_pkcs8
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:190,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:190,1
    - Dst: Option::public_key
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:202,1
    - Dst: '&[u8]::clone'
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:202,1
    - Dst: Option::public_key
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 184
    functionDepth: 15
    functionLinenumber: 184
    functionLinenumberEnd: 213
    functionName: ecdsa_test_public_key_coverage
    functionSourceFile: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::clone'
    - Result::unwrap
    - Option::public_key
    - signature::EcdsaKeyPair::from_pkcs8
    - rand::SystemRandom::new
    linkageType: ''
    returnType: void
    signature: fn ecdsa_test_public_key_coverage()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand::SystemRandom::new
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:222,1
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:224,1
    - Dst: ring::test_file
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:225,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:229,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:230,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:232,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:233,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:234,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:237,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:238,1
    - Dst: '&''static agreement::Algorithm::as_str'
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:240,1
    - Dst: String::as_str
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:240,1
    - Dst: signature::EcdsaKeyPair::from_private_key_and_public_key
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:256,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:256,1
    - Dst: Option::sign
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:259,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:259,1
    - Dst: signature::UnparsedPublicKey::new
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:261,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 221
    functionDepth: 9
    functionLinenumber: 221
    functionLinenumberEnd: 267
    functionName: signature_ecdsa_sign_fixed_sign_and_verify_test
    functionSourceFile: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs
    functionUses: 0
    functionsReached:
    - signature::UnparsedPublicKey::new
    - Option::consume_string
    - ring::test_file
    - String::as_str
    - Ok
    - '&''static agreement::Algorithm::as_str'
    - Option::unwrap
    - Result::unwrap
    - Option::sign
    - signature::EcdsaKeyPair::from_private_key_and_public_key
    - Option::consume_bytes
    - test::run
    - rand::SystemRandom::new
    linkageType: ''
    returnType: void
    signature: fn signature_ecdsa_sign_fixed_sign_and_verify_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_signature_ecdsa_sign_fixed_sign_and_verify
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:312,1
    - Dst: aws_lc_rs::test_file
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 315
      start: 311
    functionDepth: 10
    functionLinenumber: 311
    functionLinenumberEnd: 315
    functionName: signature_ecdsa_sign_fixed_sign_and_verify_sha3_test
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs
    functionUses: 0
    functionsReached:
    - test_signature_ecdsa_sign_fixed_sign_and_verify
    - aws_lc_rs::test_file
    linkageType: ''
    returnType: void
    signature: fn signature_ecdsa_sign_fixed_sign_and_verify_sha3_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SystemRandom::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:322,1
    - Dst: test::run
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:324,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:327,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:328,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:330,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:331,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:332,1
    - Dst: Option::consume_optional_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:335,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:336,1
    - Dst: '&''static agreement::Algorithm::as_str'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:339,1
    - Dst: String::as_str
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:339,1
    - Dst: EcdsaKeyPair::from_private_key_and_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:396,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:396,1
    - Dst: Option::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:398,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:398,1
    - Dst: digest::digest
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:400,1
    - Dst: Digest::import_less_safe
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:401,1
    - Dst: ([u8; 64], usize)::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:401,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:401,1
    - Dst: Option::sign_digest
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:402,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:402,1
    - Dst: UnparsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:404,1
    - Dst: '&[u8]::verify'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:405,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:405,1
    - Dst: '&[u8]::verify_digest'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:408,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:408,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 104
    argCount: 1
    argNames:
    - data_file
    argTypes:
    - test::File
    constantsTouched: []
    func_position:
      end: 413
      start: 321
    functionDepth: 9
    functionLinenumber: 321
    functionLinenumberEnd: 413
    functionName: test_signature_ecdsa_sign_fixed_sign_and_verify
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs
    functionUses: 1
    functionsReached:
    - Option::sign_digest
    - Option::consume_optional_bytes
    - Option::unwrap
    - Option::consume_string
    - String::as_str
    - Result::as_ref
    - '&[u8]::verify_digest'
    - digest::digest
    - EcdsaKeyPair::from_private_key_and_public_key
    - test::run
    - Ok
    - UnparsedPublicKey::new
    - Digest::import_less_safe
    - '&''static agreement::Algorithm::as_str'
    - '&[u8]::verify'
    - Option::sign
    - ([u8; 64], usize)::as_ref
    - SystemRandom::new
    - Result::unwrap
    - Option::consume_bytes
    linkageType: ''
    returnType: void
    signature: 'fn test_signature_ecdsa_sign_fixed_sign_and_verify(data_file: test::File)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand::SystemRandom::new
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:276,1
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:278,1
    - Dst: ring::test_file
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:279,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:283,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:284,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:286,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:287,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:288,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:291,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:292,1
    - Dst: '&''static agreement::Algorithm::as_str'
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:294,1
    - Dst: String::as_str
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:294,1
    - Dst: signature::EcdsaKeyPair::from_private_key_and_public_key
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:310,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:310,1
    - Dst: Option::sign
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:313,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:313,1
    - Dst: signature::UnparsedPublicKey::new
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:315,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 275
    functionDepth: 9
    functionLinenumber: 275
    functionLinenumberEnd: 321
    functionName: signature_ecdsa_sign_asn1_test
    functionSourceFile: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs
    functionUses: 0
    functionsReached:
    - signature::UnparsedPublicKey::new
    - Option::consume_string
    - ring::test_file
    - String::as_str
    - Ok
    - '&''static agreement::Algorithm::as_str'
    - Option::unwrap
    - Result::unwrap
    - Option::sign
    - signature::EcdsaKeyPair::from_private_key_and_public_key
    - Option::consume_bytes
    - test::run
    - rand::SystemRandom::new
    linkageType: ''
    returnType: void
    signature: fn signature_ecdsa_sign_asn1_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_signature_ecdsa_sign_asn1
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:422,1
    - Dst: aws_lc_rs::test_file
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 423
      start: 421
    functionDepth: 10
    functionLinenumber: 421
    functionLinenumberEnd: 423
    functionName: signature_ecdsa_sign_asn1_sha3_test
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs
    functionUses: 0
    functionsReached:
    - aws_lc_rs::test_file
    - test_signature_ecdsa_sign_asn1
    linkageType: ''
    returnType: void
    signature: fn signature_ecdsa_sign_asn1_sha3_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SystemRandom::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:430,1
    - Dst: test::run
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:432,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:435,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:436,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:438,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:439,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:440,1
    - Dst: Option::consume_optional_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:443,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:444,1
    - Dst: '&''static agreement::Algorithm::as_str'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:447,1
    - Dst: String::as_str
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:447,1
    - Dst: EcdsaKeyPair::from_private_key_and_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:504,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:504,1
    - Dst: Option::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:506,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:506,1
    - Dst: digest::digest
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:508,1
    - Dst: Option::sign_digest
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:509,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:509,1
    - Dst: UnparsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:511,1
    - Dst: '&[u8]::verify'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:512,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:512,1
    - Dst: '&[u8]::verify_digest'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:515,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:515,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 99
    argCount: 1
    argNames:
    - data_file
    argTypes:
    - test::File
    constantsTouched: []
    func_position:
      end: 520
      start: 429
    functionDepth: 9
    functionLinenumber: 429
    functionLinenumberEnd: 520
    functionName: test_signature_ecdsa_sign_asn1
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs
    functionUses: 1
    functionsReached:
    - Option::consume_string
    - Option::sign_digest
    - UnparsedPublicKey::new
    - SystemRandom::new
    - Option::consume_optional_bytes
    - String::as_str
    - Result::as_ref
    - '&''static agreement::Algorithm::as_str'
    - Option::unwrap
    - '&[u8]::verify_digest'
    - Result::unwrap
    - digest::digest
    - '&[u8]::verify'
    - Option::sign
    - EcdsaKeyPair::from_private_key_and_public_key
    - Option::consume_bytes
    - test::run
    - Ok
    linkageType: ''
    returnType: void
    signature: 'fn test_signature_ecdsa_sign_asn1(data_file: test::File)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SystemRandom::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:260,1
    - Dst: Ed25519KeyPair::generate_pkcs8
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:261,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:261,1
    - Dst: Ed25519KeyPair::from_pkcs8
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:262,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:262,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:262,1
    - Dst: Option::to_pkcs8
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:264,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 259
    functionDepth: 15
    functionLinenumber: 259
    functionLinenumberEnd: 267
    functionName: test_to_pkcs8
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs
    functionUses: 0
    functionsReached:
    - Option::to_pkcs8
    - Result::as_ref
    - SystemRandom::new
    - Ed25519KeyPair::generate_pkcs8
    - unwrap
    - Result::unwrap
    - Ed25519KeyPair::from_pkcs8
    linkageType: ''
    returnType: void
    signature: fn test_to_pkcs8()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SystemRandom::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:560,1
    - Dst: EcdsaKeyPair::generate_pkcs8
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:561,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:561,1
    - Dst: EcdsaKeyPair::from_pkcs8
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:562,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:562,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:562,1
    - Dst: Option::private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:565,1
    - Dst: Option::as_be_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:565,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:565,1
    - Dst: Option::public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:566,1
    - Dst: EcdsaKeyPair::from_private_key_and_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:567,1
    - Dst: Option::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:569,1
    - Dst: '&[u8]::as_ref'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:570,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:567,1
    - Dst: Result::to_pkcs8v1
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:573,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:573,1
    - Dst: Option::private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:577,1
    - Dst: Option::as_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:577,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:577,1
    - Dst: EcdsaKeyPair::from_private_key_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:582,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:582,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:582,1
    - Dst: Result::to_pkcs8v1
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:583,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs:583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 587
      start: 547
    functionDepth: 15
    functionLinenumber: 547
    functionLinenumberEnd: 587
    functionName: test_private_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs
    functionUses: 0
    functionsReached:
    - Result::as_ref
    - SystemRandom::new
    - Option::as_ref
    - unwrap
    - EcdsaKeyPair::from_private_key_der
    - Option::as_be_bytes
    - '&[u8]::as_ref'
    - Result::unwrap
    - Option::public_key
    - EcdsaKeyPair::from_private_key_and_public_key
    - Result::to_pkcs8v1
    - Option::as_der
    - Option::private_key
    - EcdsaKeyPair::from_pkcs8
    - EcdsaKeyPair::generate_pkcs8
    linkageType: ''
    returnType: void
    signature: fn test_private_key()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RsaKeyPair::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1496,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1496,1
    - Dst: digest::digest
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1498,1
    - Dst: SpdmResult::as_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1498,1
    - Dst: digest::digest
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1499,1
    - Dst: SpdmResult::as_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1499,1
    - Dst: Result::sign_digest
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1502,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1502,1
    - Dst: Result::public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1509,1
    - Dst: UnparsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1510,1
    - Dst: Self::verify_digest
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1511,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1513
      start: 1495
    functionDepth: 17
    functionLinenumber: 1495
    functionLinenumberEnd: 1513
    functionName: test_wrong_digest
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs
    functionUses: 0
    functionsReached:
    - Result::public_key
    - UnparsedPublicKey::new
    - SpdmResult::as_bytes
    - RsaKeyPair::generate
    - digest::digest
    - Result::unwrap
    - Self::verify_digest
    - Result::sign_digest
    linkageType: ''
    returnType: void
    signature: fn test_wrong_digest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:2,1
    - Dst: aws_lc_rs::test_file
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:2,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:4,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:5,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:6,1
    - Dst: PqdsaKeyPair::from_raw_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:9,1
    - Dst: Option::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:9,1
    - Dst: public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:10,1
    - Dst: PqdsaKeyPair::from_seed
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:14,1
    - Dst: as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:14,1
    - Dst: private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:18,1
    - Dst: as_raw_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:18,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:21,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 13
    functionDepth: 8
    functionLinenumber: 13
    functionLinenumberEnd: 37
    functionName: mldsa_keygen_test
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs
    functionUses: 3
    functionsReached:
    - as_slice
    - as_raw_bytes
    - PqdsaKeyPair::from_raw_private_key
    - public_key
    - aws_lc_rs::test_file
    - PqdsaKeyPair::from_seed
    - Option::as_slice
    - private_key
    - Option::consume_bytes
    - test::run
    - Ok
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:2,1
    - Dst: aws_lc_rs::test_file
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:2,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:4,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:5,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:6,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:7,1
    - Dst: Option::consume_bool
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:8,1
    - Dst: verify_sig
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:11,1
    - Dst: '&[u8]::as_ref'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:11,1
    - Dst: bool::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:11,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:11,1
    - Dst: ParsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:18,1
    - Dst: '&[u8]::as_slice'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:18,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:18,1
    - Dst: Result::verify_sig
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:19,1
    - Dst: bool::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:19,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:19,1
    - Dst: Result::as_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:25,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:25,1
    - Dst: verify_sig
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:27,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:27,1
    - Dst: bool::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:27,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:27,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:33,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 39
    functionDepth: 8
    functionLinenumber: 39
    functionLinenumberEnd: 75
    functionName: mldsa_sigver_test
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs
    functionUses: 3
    functionsReached:
    - verify_sig
    - bool::as_ref
    - Result::as_ref
    - Ok
    - Result::verify_sig
    - '&[u8]::as_slice'
    - '&[u8]::as_ref'
    - Result::unwrap
    - ParsedPublicKey::new
    - Result::as_der
    - aws_lc_rs::test_file
    - Option::consume_bytes
    - test::run
    - Option::consume_bool
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:2,1
    - Dst: aws_lc_rs::test_file
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:2,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:4,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:5,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:6,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:7,1
    - Dst: Option::consume_bool
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:8,1
    - Dst: aws_lc_rs::digest::digest
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:11,1
    - Dst: bool::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:11,1
    - Dst: verify_digest_sig
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:13,1
    - Dst: '&[u8]::as_ref'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:13,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:13,1
    - Dst: ParsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:16,1
    - Dst: '&[u8]::as_slice'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:16,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:16,1
    - Dst: Result::verify_digest_sig
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:17,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:17,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 77
    functionDepth: 8
    functionLinenumber: 77
    functionLinenumberEnd: 100
    functionName: mldsa_sigver_digest_test
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs
    functionUses: 1
    functionsReached:
    - aws_lc_rs::digest::digest
    - verify_digest_sig
    - Result::verify_digest_sig
    - bool::as_ref
    - Result::as_ref
    - Ok
    - '&[u8]::as_slice'
    - '&[u8]::as_ref'
    - Result::unwrap
    - ParsedPublicKey::new
    - aws_lc_rs::test_file
    - Option::consume_bytes
    - test::run
    - Option::consume_bool
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mldsa_keygen_test
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 9
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: mldsa_44_keygen_test
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs
    functionUses: 0
    functionsReached:
    - mldsa_keygen_test
    linkageType: ''
    returnType: void
    signature: fn mldsa_44_keygen_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mldsa_keygen_test
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 9
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: mldsa_65_keygen_test
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs
    functionUses: 0
    functionsReached:
    - mldsa_keygen_test
    linkageType: ''
    returnType: void
    signature: fn mldsa_65_keygen_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mldsa_keygen_test
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 9
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: mldsa_87_keygen_test
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs
    functionUses: 0
    functionsReached:
    - mldsa_keygen_test
    linkageType: ''
    returnType: void
    signature: fn mldsa_87_keygen_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mldsa_sigver_test
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 9
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: mldsa_44_sigver_test
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs
    functionUses: 0
    functionsReached:
    - mldsa_sigver_test
    linkageType: ''
    returnType: void
    signature: fn mldsa_44_sigver_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mldsa_sigver_test
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 9
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: mldsa_65_sigver_test
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs
    functionUses: 0
    functionsReached:
    - mldsa_sigver_test
    linkageType: ''
    returnType: void
    signature: fn mldsa_65_sigver_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mldsa_sigver_test
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 9
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: mldsa_87_sigver_test
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs
    functionUses: 0
    functionsReached:
    - mldsa_sigver_test
    linkageType: ''
    returnType: void
    signature: fn mldsa_87_sigver_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mldsa_sigver_digest_test
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 9
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: mldsa_44_sigver_digest_test
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs
    functionUses: 0
    functionsReached:
    - mldsa_sigver_digest_test
    linkageType: ''
    returnType: void
    signature: fn mldsa_44_sigver_digest_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PqdsaKeyPair::from_seed
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:146,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:146,1
    - Dst: sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:150,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:150,1
    - Dst: aws_lc_rs::signature::UnparsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:154,1
    - Dst: public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:154,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:154,1
    - Dst: Self::verify
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:155,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 139
    functionDepth: 16
    functionLinenumber: 139
    functionLinenumberEnd: 158
    functionName: test_mldsa_seed_sign_verify
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs
    functionUses: 0
    functionsReached:
    - Self::verify
    - aws_lc_rs::signature::UnparsedPublicKey::new
    - sign
    - public_key
    - PqdsaKeyPair::from_seed
    - Result::expect
    - expect
    - as_ref
    linkageType: ''
    returnType: void
    signature: fn test_mldsa_seed_sign_verify()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PqdsaKeyPair::from_seed
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:163,1
    - Dst: PqdsaKeyPair::from_seed
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:169,1
    - Dst: PqdsaKeyPair::from_seed
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:172,1
    - Dst: PqdsaKeyPair::from_seed
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 161
    functionDepth: 7
    functionLinenumber: 161
    functionLinenumberEnd: 179
    functionName: test_mldsa_seed_wrong_size
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs
    functionUses: 0
    functionsReached:
    - PqdsaKeyPair::from_seed
    linkageType: ''
    returnType: void
    signature: fn test_mldsa_seed_wrong_size()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PqdsaKeyPair::from_seed
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:185,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:185,1
    - Dst: Result::to_pkcs8
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:188,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:188,1
    - Dst: PqdsaKeyPair::from_pkcs8
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:189,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:189,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:189,1
    - Dst: Result::private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:198,1
    - Dst: Option::as_raw_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:198,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:198,1
    - Dst: PqdsaKeyPair::from_raw_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:202,1
    - Dst: ::std::os::raw::c_uint::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:202,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:202,1
    - Dst: private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:211,1
    - Dst: as_raw_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:211,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 182
    functionDepth: 16
    functionLinenumber: 182
    functionLinenumberEnd: 221
    functionName: test_mldsa_seed_serialization_roundtrip
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs
    functionUses: 0
    functionsReached:
    - Result::to_pkcs8
    - ::std::os::raw::c_uint::as_ref
    - PqdsaKeyPair::from_raw_private_key
    - Result::unwrap
    - Result::expect
    - PqdsaKeyPair::from_seed
    - Result::private_key
    - Option::as_raw_bytes
    - private_key
    - PqdsaKeyPair::from_pkcs8
    - as_raw_bytes
    - as_ref
    - expect
    linkageType: ''
    returnType: void
    signature: fn test_mldsa_seed_serialization_roundtrip()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PqdsaKeyPair::from_seed
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:226,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:226,1
    - Dst: PqdsaKeyPair::from_seed
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:227,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 234
      start: 224
    functionDepth: 7
    functionLinenumber: 224
    functionLinenumberEnd: 234
    functionName: test_mldsa_seed_different_seeds_different_keys
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - PqdsaKeyPair::from_seed
    linkageType: ''
    returnType: void
    signature: fn test_mldsa_seed_different_seeds_different_keys()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PqdsaKeyPair::from_seed
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:248,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:253,1
    - Dst: Result::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:258,1
    - Dst: Option::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:258,1
    - Dst: aws_lc_rs::signature::UnparsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:263,1
    - Dst: Result::public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:263,1
    - Dst: '&[u8]::as_ref'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:263,1
    - Dst: Self::verify
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:264,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:264,1
    - Dst: PqdsaKeyPair::from_seed
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:268,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 237
    functionDepth: 7
    functionLinenumber: 237
    functionLinenumberEnd: 275
    functionName: test_mldsa_seed_zeroed_bytes
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs
    functionUses: 0
    functionsReached:
    - Result::public_key
    - Result::sign
    - Self::verify
    - aws_lc_rs::signature::UnparsedPublicKey::new
    - '&[u8]::as_ref'
    - Result::unwrap
    - PqdsaKeyPair::from_seed
    - expect
    - Option::expect
    linkageType: ''
    returnType: void
    signature: fn test_mldsa_seed_zeroed_bytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PqdsaKeyPair::from_seed
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:288,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:288,1
    - Dst: private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:291,1
    - Dst: as_raw_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:291,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:291,1
    - Dst: PqdsaKeyPair::from_raw_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:295,1
    - Dst: ::std::os::raw::c_uint::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:295,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:295,1
    - Dst: sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:309,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:309,1
    - Dst: sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:314,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:314,1
    - Dst: aws_lc_rs::signature::UnparsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:318,1
    - Dst: public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:320,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:320,1
    - Dst: Self::verify
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:322,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:322,1
    - Dst: Self::verify
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:324,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 327
      start: 278
    functionDepth: 11
    functionLinenumber: 278
    functionLinenumberEnd: 327
    functionName: test_mldsa_seed_functional_equivalence
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs
    functionUses: 0
    functionsReached:
    - Self::verify
    - ::std::os::raw::c_uint::as_ref
    - aws_lc_rs::signature::UnparsedPublicKey::new
    - sign
    - PqdsaKeyPair::from_raw_private_key
    - public_key
    - private_key
    - PqdsaKeyPair::from_seed
    - as_raw_bytes
    - Result::expect
    - expect
    - as_ref
    linkageType: ''
    returnType: void
    signature: fn test_mldsa_seed_functional_equivalence()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::compile_time_assert_send::<Ed25519KeyPair>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:15,1
    - Dst: test::compile_time_assert_sync::<Ed25519KeyPair>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: test_ed25519_traits
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs
    functionUses: 0
    functionsReached:
    - test::compile_time_assert_send::<Ed25519KeyPair>
    - test::compile_time_assert_sync::<Ed25519KeyPair>
    linkageType: ''
    returnType: void
    signature: fn test_ed25519_traits()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:33,1
    - Dst: ring::test_file
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:33,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:35,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:38,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:41,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:43,1
    - Dst: Ed25519KeyPair::from_seed_and_public_key
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:46,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:46,1
    - Dst: Option::sign
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:47,1
    - Dst: Ed25519KeyPair::generate_pkcs8
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:54,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:54,1
    - Dst: Ed25519KeyPair::from_pkcs8
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:55,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:55,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:55,1
    - Dst: Option::sign
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:59,1
    - Dst: test_signature_verification
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:63,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:63,1
    - Dst: test_signature_verification
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:68,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:68,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 32
    functionDepth: 12
    functionLinenumber: 32
    functionLinenumberEnd: 72
    functionName: test_signature_ed25519
    functionSourceFile: /src/spdm-rs/external/ring/tests/ed25519_tests.rs
    functionUses: 0
    functionsReached:
    - ring::test_file
    - Ed25519KeyPair::generate_pkcs8
    - Ed25519KeyPair::from_seed_and_public_key
    - Err
    - Result::unwrap
    - test_signature_verification
    - Option::sign
    - Option::consume_bytes
    - as_ref
    - test::run
    - Ok
    - Ed25519KeyPair::from_pkcs8
    linkageType: ''
    returnType: void
    signature: fn test_signature_ed25519()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:77,1
    - Dst: ring::test_file
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:78,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:82,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:83,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:84,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:85,1
    - Dst: String::as_str
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:85,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:86,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:87,1
    - Dst: test_signature_verification
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:90,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 76
    functionDepth: 8
    functionLinenumber: 76
    functionLinenumberEnd: 94
    functionName: test_signature_ed25519_verify
    functionSourceFile: /src/spdm-rs/external/ring/tests/ed25519_tests.rs
    functionUses: 0
    functionsReached:
    - Option::consume_string
    - ring::test_file
    - String::as_str
    - Err
    - test_signature_verification
    - Option::consume_bytes
    - test::run
    - Ok
    linkageType: ''
    returnType: void
    signature: fn test_signature_ed25519_verify()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:82,1
    - Dst: aws_lc_rs::test_file
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:83,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:87,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:88,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:89,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:90,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:91,1
    - Dst: aws_lc_rs::digest::digest
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:92,1
    - Dst: ParsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:98,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:98,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 81
    functionDepth: 8
    functionLinenumber: 81
    functionLinenumberEnd: 103
    functionName: test_signature_ed25519_digest_verify
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs
    functionUses: 0
    functionsReached:
    - aws_lc_rs::digest::digest
    - Option::consume_string
    - Err
    - Result::unwrap
    - ParsedPublicKey::new
    - aws_lc_rs::test_file
    - Option::consume_bytes
    - test::run
    - Ok
    linkageType: ''
    returnType: void
    signature: fn test_signature_ed25519_digest_verify()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - public_key
    - msg
    - sig
    - expected_result
    argTypes:
    - '&[u8]'
    - '&[u8]'
    - '&[u8]'
    - Result<(), error::Unspecified>
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: test_signature_verification
    functionSourceFile: /src/spdm-rs/external/ring/tests/ed25519_tests.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn test_signature_verification(public_key: &[u8],msg: &[u8],sig: &[u8],expected_result:
      Result<(), error::Unspecified>,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 123
    functionName: test_ed25519_from_seed_and_public_key_misuse
    functionSourceFile: /src/spdm-rs/external/ring/tests/ed25519_tests.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_ed25519_from_seed_and_public_key_misuse()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - input
    - result
    - error
    argTypes:
    - '&Vec<u8>'
    - Result<Ed25519KeyPair, error::KeyRejected>
    - Option<String>
    constantsTouched: []
    func_position:
      end: 169
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 169
    functionName: t::e::s::t::_::e::d::2::5::5::1::9::_::f::r::o::m::_::p::k::c::s::8::check_result
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn check_result(input: &Vec<u8>,result: Result<Ed25519KeyPair, error::KeyRejected>,error:
      Option<String>,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_ed25519_from_pkcs8_
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 9
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: test_ed25519_from_pkcs8
    functionSourceFile: /src/spdm-rs/external/ring/tests/ed25519_tests.rs
    functionUses: 0
    functionsReached:
    - test_ed25519_from_pkcs8_
    linkageType: ''
    returnType: void
    signature: fn test_ed25519_from_pkcs8()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ed25519KeyPair::from_pkcs8
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:215,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:215,1
    - Dst: Option::public_key
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:222,1
    - Dst: '&[u8]::clone'
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:222,1
    - Dst: Option::public_key
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 209
    functionDepth: 18
    functionLinenumber: 209
    functionLinenumberEnd: 236
    functionName: ed25519_test_public_key_coverage
    functionSourceFile: /src/spdm-rs/external/ring/tests/ed25519_tests.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - '&[u8]::clone'
    - Option::public_key
    - Ed25519KeyPair::from_pkcs8
    linkageType: ''
    returnType: void
    signature: fn ed25519_test_public_key_coverage()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SystemRandom::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:271,1
    - Dst: Ed25519KeyPair::generate_pkcs8v1
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:272,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:272,1
    - Dst: Ed25519KeyPair::from_pkcs8
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:273,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:273,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:273,1
    - Dst: Option::to_pkcs8v1
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:275,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 278
      start: 270
    functionDepth: 17
    functionLinenumber: 270
    functionLinenumberEnd: 278
    functionName: test_to_pkcs8v1
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs
    functionUses: 0
    functionsReached:
    - Ed25519KeyPair::generate_pkcs8v1
    - Result::as_ref
    - SystemRandom::new
    - Option::to_pkcs8v1
    - unwrap
    - Result::unwrap
    - Ed25519KeyPair::from_pkcs8
    linkageType: ''
    returnType: void
    signature: fn test_to_pkcs8v1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SystemRandom::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:282,1
    - Dst: Ed25519KeyPair::generate_pkcs8
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:283,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:283,1
    - Dst: Ed25519KeyPair::from_pkcs8
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:285,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:285,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:285,1
    - Dst: Option::seed
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:286,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:286,1
    - Dst: as_be_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:287,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:287,1
    - Dst: Option::public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:289,1
    - Dst: Ed25519KeyPair::from_seed_and_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:292,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:292,1
    - Dst: bool::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:292,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:292,1
    - Dst: Result::to_pkcs8
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:293,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:293,1
    - Dst: Ed25519KeyPair::from_seed_unchecked
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:297,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:297,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:297,1
    - Dst: Result::to_pkcs8
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:298,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 301
      start: 281
    functionDepth: 15
    functionLinenumber: 281
    functionLinenumberEnd: 301
    functionName: test_seed
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs
    functionUses: 0
    functionsReached:
    - Ed25519KeyPair::from_seed_unchecked
    - bool::as_ref
    - Result::as_ref
    - SystemRandom::new
    - Ed25519KeyPair::generate_pkcs8
    - unwrap
    - Ed25519KeyPair::from_seed_and_public_key
    - as_be_bytes
    - Result::to_pkcs8
    - Result::unwrap
    - Option::public_key
    - Option::seed
    - Ed25519KeyPair::from_pkcs8
    linkageType: ''
    returnType: void
    signature: fn test_seed()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/external/ring/tests/rand_tests.rs:55,1
    - Dst: rand::SystemRandom::new
      Src: /src/spdm-rs/external/ring/tests/rand_tests.rs:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 68
    functionName: test_system_random_lengths
    functionSourceFile: /src/spdm-rs/external/ring/tests/rand_tests.rs
    functionUses: 0
    functionsReached:
    - iter
    - rand::SystemRandom::new
    linkageType: ''
    returnType: void
    signature: fn test_system_random_lengths()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::compile_time_assert_clone::<rand::SystemRandom>
      Src: /src/spdm-rs/external/ring/tests/rand_tests.rs:72,1
    - Dst: test::compile_time_assert_send::<rand::SystemRandom>
      Src: /src/spdm-rs/external/ring/tests/rand_tests.rs:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: test_system_random_traits
    functionSourceFile: /src/spdm-rs/external/ring/tests/rand_tests.rs
    functionUses: 0
    functionsReached:
    - test::compile_time_assert_clone::<rand::SystemRandom>
    - test::compile_time_assert_send::<rand::SystemRandom>
    linkageType: ''
    returnType: void
    signature: fn test_system_random_traits()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc_rs::test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_quic_test.rs:11,1
    - Dst: aws_lc_rs::test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_quic_test.rs:12,1
    - Dst: aws_lc_rs::test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_quic_test.rs:13,1
    - Dst: quic::HeaderProtectionKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_quic_test.rs:15,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_quic_test.rs:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 10
    functionDepth: 15
    functionLinenumber: 10
    functionLinenumberEnd: 18
    functionName: test_quic_aes_128_gcm
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_quic_test.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - quic::HeaderProtectionKey::new
    - aws_lc_rs::test::from_dirty_hex
    linkageType: ''
    returnType: void
    signature: fn test_quic_aes_128_gcm()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc_rs::test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_quic_test.rs:23,1
    - Dst: aws_lc_rs::test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_quic_test.rs:24,1
    - Dst: aws_lc_rs::test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_quic_test.rs:25,1
    - Dst: quic::HeaderProtectionKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_quic_test.rs:27,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_quic_test.rs:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 21
    functionDepth: 15
    functionLinenumber: 21
    functionLinenumberEnd: 30
    functionName: test_quic_aes_256_gcm
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_quic_test.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - quic::HeaderProtectionKey::new
    - aws_lc_rs::test::from_dirty_hex
    linkageType: ''
    returnType: void
    signature: fn test_quic_aes_256_gcm()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc_rs::test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_quic_test.rs:35,1
    - Dst: aws_lc_rs::test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_quic_test.rs:36,1
    - Dst: aws_lc_rs::test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_quic_test.rs:37,1
    - Dst: quic::HeaderProtectionKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_quic_test.rs:39,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_quic_test.rs:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 15
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: test_quic_chacha20
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_quic_test.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - quic::HeaderProtectionKey::new
    - aws_lc_rs::test::from_dirty_hex
    linkageType: ''
    returnType: void
    signature: fn test_quic_chacha20()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc_rs::test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_rsa_test.rs:12,1
    - Dst: RsaKeyPair::from_pkcs8
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_rsa_test.rs:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 11
    functionDepth: 10
    functionLinenumber: 11
    functionLinenumberEnd: 44
    functionName: test_rsa_pkcs8
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_rsa_test.rs
    functionUses: 0
    functionsReached:
    - RsaKeyPair::from_pkcs8
    - aws_lc_rs::test::from_dirty_hex
    linkageType: ''
    returnType: void
    signature: fn test_rsa_pkcs8()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc_rs::test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_rsa_test.rs:48,1
    - Dst: RsaKeyPair::from_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_rsa_test.rs:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 47
    functionDepth: 5
    functionLinenumber: 47
    functionLinenumberEnd: 79
    functionName: test_rsa_from_der
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_rsa_test.rs
    functionUses: 0
    functionsReached:
    - aws_lc_rs::test::from_dirty_hex
    - RsaKeyPair::from_der
    linkageType: ''
    returnType: void
    signature: fn test_rsa_from_der()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc_rs::test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_rsa_test.rs:84,1
    - Dst: aws_lc_rs::test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_rsa_test.rs:114,1
    - Dst: aws_lc_rs::test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_rsa_test.rs:120,1
    - Dst: RsaKeyPair::from_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_rsa_test.rs:128,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_rsa_test.rs:128,1
    - Dst: SystemRandom::default
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_rsa_test.rs:130,1
    - Dst: Option::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_rsa_test.rs:133,1
    - Dst: as_mut_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_rsa_test.rs:134,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_rsa_test.rs:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 82
    functionDepth: 5
    functionLinenumber: 82
    functionLinenumberEnd: 138
    functionName: test_sign
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_rsa_test.rs
    functionUses: 0
    functionsReached:
    - aws_lc_rs::test::from_dirty_hex
    - Option::unwrap
    - SystemRandom::default
    - RsaKeyPair::from_der
    - Result::unwrap
    - Option::sign
    - as_mut_slice
    linkageType: ''
    returnType: void
    signature: fn test_sign()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::benchmark_group
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:194,1
    - Dst: aws_lc_rs_benchmarks::parameters
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:197,1
    - Dst: aws_lc_rs_benchmarks::create_key_pair
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:198,1
    - Dst: public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:199,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:199,1
    - Dst: as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:200,1
    - Dst: bench_function
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:202,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:203,1
    - Dst: aws_lc_rs_benchmarks::verify
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:204,1
    - Dst: ring_benchmarks::parameters
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:211,1
    - Dst: ring_benchmarks::create_key_pair
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:212,1
    - Dst: public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:213,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:213,1
    - Dst: as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:214,1
    - Dst: bench_function
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:216,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:217,1
    - Dst: ring_benchmarks::verify
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 54
    argCount: 2
    argNames:
    - c
    - config
    argTypes:
    - '&mut Criterion'
    - '&RsaConfig'
    constantsTouched: []
    func_position:
      end: 222
      start: 186
    functionDepth: 6
    functionLinenumber: 186
    functionLinenumberEnd: 222
    functionName: test_rsa_verify
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs
    functionUses: 1
    functionsReached:
    - aws_lc_rs_benchmarks::create_key_pair
    - bool::benchmark_group
    - aws_lc_rs_benchmarks::verify
    - ring_benchmarks::parameters
    - SpdmResult::iter
    - public_key
    - bench_function
    - ring_benchmarks::create_key_pair
    - as_ref
    - as_slice
    - ring_benchmarks::verify
    - aws_lc_rs_benchmarks::parameters
    linkageType: ''
    returnType: void
    signature: 'fn test_rsa_verify(c: &mut Criterion, config: &RsaConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:295,1
    - Dst: ring::test_file
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:296,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:299,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:300,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:301,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:302,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:303,1
    - Dst: '&[u8]::verify'
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:305,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 310
      start: 294
    functionDepth: 8
    functionLinenumber: 294
    functionLinenumberEnd: 310
    functionName: test_signature_rsa_primitive_verification
    functionSourceFile: /src/spdm-rs/external/ring/tests/rsa_tests.rs
    functionUses: 0
    functionsReached:
    - Option::consume_string
    - ring::test_file
    - '&[u8]::verify'
    - Option::consume_bytes
    - test::run
    - Ok
    linkageType: ''
    returnType: void
    signature: fn test_signature_rsa_primitive_verification()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc_rs::test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_rsa_test.rs:200,1
    - Dst: aws_lc_rs::test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_rsa_test.rs:209,1
    - Dst: aws_lc_rs::test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_rsa_test.rs:210,1
    - Dst: '&[u8]::try_into'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_rsa_test.rs:213,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_rsa_test.rs:213,1
    - Dst: Pkcs1PublicEncryptingKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_rsa_test.rs:214,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_rsa_test.rs:214,1
    - Dst: Result::encrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_rsa_test.rs:217,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_rsa_test.rs:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 199
    functionDepth: 4
    functionLinenumber: 199
    functionLinenumberEnd: 220
    functionName: test_encryption_rsa_primitive
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_rsa_test.rs
    functionUses: 0
    functionsReached:
    - SpdmResult::unwrap
    - '&[u8]::try_into'
    - aws_lc_rs::test::from_dirty_hex
    - Result::unwrap
    - Result::encrypt
    - Pkcs1PublicEncryptingKey::new
    linkageType: ''
    returnType: void
    signature: fn test_encryption_rsa_primitive()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/tests/pbkdf2_tests.rs:31,1
    - Dst: ring::test_file
      Src: /src/spdm-rs/external/ring/tests/pbkdf2_tests.rs:31,1
    - Dst: Option::consume_digest_alg
      Src: /src/spdm-rs/external/ring/tests/pbkdf2_tests.rs:34,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/ring/tests/pbkdf2_tests.rs:34,1
    - Dst: Option::consume_usize
      Src: /src/spdm-rs/external/ring/tests/pbkdf2_tests.rs:47,1
    - Dst: usize::try_into
      Src: /src/spdm-rs/external/ring/tests/pbkdf2_tests.rs:47,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/tests/pbkdf2_tests.rs:47,1
    - Dst: Result::try_into
      Src: /src/spdm-rs/external/ring/tests/pbkdf2_tests.rs:48,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/tests/pbkdf2_tests.rs:48,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/pbkdf2_tests.rs:49,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/pbkdf2_tests.rs:50,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/pbkdf2_tests.rs:51,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/ring/tests/pbkdf2_tests.rs:52,1
    - Dst: String::as_str
      Src: /src/spdm-rs/external/ring/tests/pbkdf2_tests.rs:53,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/tests/pbkdf2_tests.rs:54,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/tests/pbkdf2_tests.rs:55,1
    - Dst: pbkdf2::derive
      Src: /src/spdm-rs/external/ring/tests/pbkdf2_tests.rs:61,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/tests/pbkdf2_tests.rs:70,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 30
    functionDepth: 8
    functionLinenumber: 30
    functionLinenumberEnd: 72
    functionName: pbkdf2_tests
    functionSourceFile: /src/spdm-rs/external/ring/tests/pbkdf2_tests.rs
    functionUses: 0
    functionsReached:
    - Option::consume_usize
    - usize::try_into
    - ring::test_file
    - Option::consume_string
    - String::as_str
    - Result::try_into
    - Option::unwrap
    - Err
    - Result::unwrap
    - Option::consume_digest_alg
    - pbkdf2::derive
    - Option::consume_bytes
    - test::run
    - Ok
    linkageType: ''
    returnType: void
    signature: pub fn pbkdf2_tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - seed
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: DeterministicRandom::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'fn new(seed: u8) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut [u8]::iter_mut'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:41,1
    - Dst: enumerate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:41,1
    - Dst: wrapping_add
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:43,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - dest
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: DeterministicRandom::fill_impl
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs
    functionUses: 0
    functionsReached:
    - wrapping_add
    - Ok
    - enumerate
    - '&mut [u8]::iter_mut'
    linkageType: ''
    returnType: Result
    signature: 'fn fill_impl(&self, dest: &mut [u8]) -> Result<(), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&''a [u8]'
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: FixedBytesRandom::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'fn new(bytes: &''a [u8]) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut [u8]::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:64,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:64,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:65,1
    - Dst: '&mut [u8]::copy_from_slice'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:67,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - dest
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: FixedBytesRandom::fill_impl
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs
    functionUses: 0
    functionsReached:
    - '&mut [u8]::copy_from_slice'
    - Err
    - '&mut [u8]::len'
    - len
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn fill_impl(&self, dest: &mut [u8]) -> Result<(), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::cell::Cell::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - start
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: SequentialRandom::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs
    functionUses: 1
    functionsReached:
    - std::cell::Cell::new
    linkageType: ''
    returnType: Self
    signature: 'fn new(start: u8) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:89,1
    - Dst: '&mut [u8]::iter_mut'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:90,1
    - Dst: enumerate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:90,1
    - Dst: wrapping_add
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:91,1
    - Dst: set
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:93,1
    - Dst: wrapping_add
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:93,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - dest
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 4
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: SequentialRandom::fill_impl
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs
    functionUses: 0
    functionsReached:
    - enumerate
    - '&mut [u8]::iter_mut'
    - set
    - wrapping_add
    - get
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn fill_impl(&self, dest: &mut [u8]) -> Result<(), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DeterministicRandom::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:101,1
    - Dst: Self::fill
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:108,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:108,1
    - Dst: Self::fill
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:109,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:109,1
    - Dst: iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:115,1
    - Dst: enumerate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 118
    functionName: test_custom_secure_random_implementation
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs
    functionUses: 0
    functionsReached:
    - enumerate
    - iter
    - DeterministicRandom::new
    - Self::fill
    - expect
    linkageType: ''
    returnType: void
    signature: fn test_custom_secure_random_implementation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FixedBytesRandom::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:123,1
    - Dst: Self::fill
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:126,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 129
    functionName: test_fixed_bytes_random_implementation
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs
    functionUses: 0
    functionsReached:
    - Self::fill
    - FixedBytesRandom::new
    - expect
    linkageType: ''
    returnType: void
    signature: fn test_fixed_bytes_random_implementation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FixedBytesRandom::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 139
    functionName: test_fixed_bytes_random_length_mismatch
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs
    functionUses: 0
    functionsReached:
    - FixedBytesRandom::new
    linkageType: ''
    returnType: void
    signature: fn test_fixed_bytes_random_length_mismatch()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SequentialRandom::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:143,1
    - Dst: Self::fill
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:148,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:148,1
    - Dst: Self::fill
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:149,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 155
    functionName: test_sequential_random_implementation
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs
    functionUses: 0
    functionsReached:
    - expect
    - Self::fill
    - SequentialRandom::new
    linkageType: ''
    returnType: void
    signature: fn test_sequential_random_implementation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DeterministicRandom::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:160,1
    - Dst: Self::mut_fill
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:163,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:163,1
    - Dst: SpdmCertChainBuffer::iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:166,1
    - Dst: Self::IntoIter::enumerate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 169
    functionName: test_mut_fill_method
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs
    functionUses: 0
    functionsReached:
    - Self::mut_fill
    - SpdmCertChainBuffer::iter
    - DeterministicRandom::new
    - Self::IntoIter::enumerate
    - expect
    linkageType: ''
    returnType: void
    signature: fn test_mut_fill_method()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DeterministicRandom::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:173,1
    - Dst: Self::fill
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:177,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 179
    functionName: test_empty_buffer_fill
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs
    functionUses: 0
    functionsReached:
    - Self::fill
    - DeterministicRandom::new
    - expect
    linkageType: ''
    returnType: void
    signature: fn test_empty_buffer_fill()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DeterministicRandom::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:183,1
    - Dst: Self::fill
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:186,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 194
    functionName: test_large_buffer_fill
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs
    functionUses: 0
    functionsReached:
    - Self::fill
    - DeterministicRandom::new
    - expect
    linkageType: ''
    returnType: void
    signature: fn test_large_buffer_fill()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc_rs::rand::SystemRandom::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:199,1
    - Dst: Self::mut_fill
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:202,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 208
    functionName: test_system_random_mut_fill
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs
    functionUses: 0
    functionsReached:
    - expect
    - aws_lc_rs::rand::SystemRandom::new
    - Self::mut_fill
    linkageType: ''
    returnType: void
    signature: fn test_system_random_mut_fill()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DeterministicRandom::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:213,1
    - Dst: Self::fill
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:216,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 220
    functionName: test_use_with_dyn_trait_object
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs
    functionUses: 0
    functionsReached:
    - Self::fill
    - DeterministicRandom::new
    - expect
    linkageType: ''
    returnType: void
    signature: fn test_use_with_dyn_trait_object()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DeterministicRandom::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:225,1
    - Dst: Self::mut_fill
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:229,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 233
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 233
    functionName: test_mut_dyn_trait_object
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs
    functionUses: 0
    functionsReached:
    - DeterministicRandom::new
    - expect
    - Self::mut_fill
    linkageType: ''
    returnType: void
    signature: fn test_mut_dyn_trait_object()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:8,1
    - Dst: aws_lc_rs::test_file
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:9,1
    - Dst: Option::consume_usize
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:13,1
    - Dst: Option::consume_usize
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:14,1
    - Dst: Option::consume_usize
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:15,1
    - Dst: Option::consume_usize
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:16,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:17,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:18,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:19,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:20,1
    - Dst: Vec::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:22,1
    - Dst: starts_with
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:23,1
    - Dst: cmac::Key::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:25,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:25,1
    - Dst: cmac::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:26,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:26,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:30,1
    - Dst: std::cmp::min
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:30,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:30,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:30,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 7
    functionDepth: 8
    functionLinenumber: 7
    functionLinenumberEnd: 41
    functionName: cavp_cmac_aes128_tests
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs
    functionUses: 0
    functionsReached:
    - Option::consume_usize
    - std::cmp::min
    - Option::consume_string
    - cmac::sign
    - '&[u8]::len'
    - Result::as_ref
    - Option::unwrap
    - Result::unwrap
    - aws_lc_rs::test_file
    - cmac::Key::new
    - Vec::new
    - starts_with
    - Option::consume_bytes
    - test::run
    - Ok
    linkageType: ''
    returnType: void
    signature: fn cavp_cmac_aes128_tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:45,1
    - Dst: aws_lc_rs::test_file
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:46,1
    - Dst: Option::consume_usize
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:50,1
    - Dst: Option::consume_usize
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:51,1
    - Dst: Option::consume_usize
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:52,1
    - Dst: Option::consume_usize
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:53,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:54,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:55,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:56,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:57,1
    - Dst: Vec::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:59,1
    - Dst: starts_with
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:60,1
    - Dst: cmac::Key::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:62,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:62,1
    - Dst: cmac::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:63,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:63,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:67,1
    - Dst: std::cmp::min
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:67,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:67,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:67,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 44
    functionDepth: 8
    functionLinenumber: 44
    functionLinenumberEnd: 78
    functionName: cavp_cmac_aes192_tests
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs
    functionUses: 0
    functionsReached:
    - Option::consume_usize
    - std::cmp::min
    - Option::consume_string
    - cmac::sign
    - '&[u8]::len'
    - Result::as_ref
    - Option::unwrap
    - Result::unwrap
    - aws_lc_rs::test_file
    - cmac::Key::new
    - Vec::new
    - starts_with
    - Option::consume_bytes
    - test::run
    - Ok
    linkageType: ''
    returnType: void
    signature: fn cavp_cmac_aes192_tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:82,1
    - Dst: aws_lc_rs::test_file
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:83,1
    - Dst: Option::consume_usize
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:87,1
    - Dst: Option::consume_usize
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:88,1
    - Dst: Option::consume_usize
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:89,1
    - Dst: Option::consume_usize
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:90,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:91,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:92,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:93,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:94,1
    - Dst: Vec::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:96,1
    - Dst: starts_with
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:97,1
    - Dst: cmac::Key::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:99,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:99,1
    - Dst: cmac::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:100,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:100,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:104,1
    - Dst: std::cmp::min
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:104,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:104,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:104,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 81
    functionDepth: 8
    functionLinenumber: 81
    functionLinenumberEnd: 115
    functionName: cavp_cmac_aes256_tests
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs
    functionUses: 0
    functionsReached:
    - Option::consume_usize
    - std::cmp::min
    - Option::consume_string
    - cmac::sign
    - '&[u8]::len'
    - Result::as_ref
    - Option::unwrap
    - Result::unwrap
    - aws_lc_rs::test_file
    - cmac::Key::new
    - Vec::new
    - starts_with
    - Option::consume_bytes
    - test::run
    - Ok
    linkageType: ''
    returnType: void
    signature: fn cavp_cmac_aes256_tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:119,1
    - Dst: aws_lc_rs::test_file
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:120,1
    - Dst: Option::consume_usize
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:124,1
    - Dst: Option::consume_usize
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:125,1
    - Dst: Option::consume_usize
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:126,1
    - Dst: Option::consume_usize
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:127,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:128,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:129,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:130,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:131,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:132,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:133,1
    - Dst: Vec::extend
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:137,1
    - Dst: Vec::extend
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:138,1
    - Dst: Vec::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:140,1
    - Dst: starts_with
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:141,1
    - Dst: cmac::Key::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:144,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:144,1
    - Dst: cmac::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:145,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:145,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:149,1
    - Dst: std::cmp::min
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:149,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:149,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:149,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 118
    functionDepth: 8
    functionLinenumber: 118
    functionLinenumberEnd: 159
    functionName: cavp_cmac_3des_tests
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs
    functionUses: 0
    functionsReached:
    - Option::consume_usize
    - std::cmp::min
    - Option::consume_string
    - cmac::sign
    - '&[u8]::len'
    - Result::as_ref
    - Option::unwrap
    - Result::unwrap
    - aws_lc_rs::test_file
    - Vec::extend
    - cmac::Key::new
    - Vec::new
    - starts_with
    - Option::consume_bytes
    - test::run
    - Ok
    linkageType: ''
    returnType: void
    signature: fn cavp_cmac_3des_tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmac::Key::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:170,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:170,1
    - Dst: cmac::sign_to_buffer
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:175,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:175,1
    - Dst: cmac::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:180,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 162
    functionDepth: 15
    functionLinenumber: 162
    functionLinenumberEnd: 183
    functionName: test_sign_to_buffer_basic
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs
    functionUses: 0
    functionsReached:
    - cmac::sign_to_buffer
    - cmac::sign
    - cmac::Key::generate
    - Option::unwrap
    - Result::unwrap
    linkageType: ''
    returnType: void
    signature: fn test_sign_to_buffer_basic()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmac::Key::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:188,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:188,1
    - Dst: cmac::sign_to_buffer
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:192,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:192,1
    - Dst: cmac::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:198,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 186
    functionDepth: 15
    functionLinenumber: 186
    functionLinenumberEnd: 200
    functionName: test_sign_to_buffer_large_buffer
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs
    functionUses: 0
    functionsReached:
    - cmac::sign_to_buffer
    - cmac::sign
    - cmac::Key::generate
    - Option::unwrap
    - Result::unwrap
    linkageType: ''
    returnType: void
    signature: fn test_sign_to_buffer_large_buffer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmac::Key::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:205,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:205,1
    - Dst: cmac::sign_to_buffer
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 203
    functionDepth: 15
    functionLinenumber: 203
    functionLinenumberEnd: 212
    functionName: test_sign_to_buffer_too_small
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - cmac::sign_to_buffer
    - cmac::Key::generate
    linkageType: ''
    returnType: void
    signature: fn test_sign_to_buffer_too_small()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmac::Key::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:217,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:217,1
    - Dst: cmac::sign_to_buffer
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:221,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:221,1
    - Dst: cmac::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:224,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 215
    functionDepth: 15
    functionLinenumber: 215
    functionLinenumberEnd: 226
    functionName: test_sign_to_buffer_empty_data
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs
    functionUses: 0
    functionsReached:
    - cmac::sign_to_buffer
    - cmac::sign
    - cmac::Key::generate
    - Option::unwrap
    - Result::unwrap
    linkageType: ''
    returnType: void
    signature: fn test_sign_to_buffer_empty_data()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmac::Key::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:237,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:237,1
    - Dst: cmac::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:241,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:241,1
    - Dst: cmac::Context::with_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:244,1
    - Dst: update
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:245,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 229
    functionDepth: 15
    functionLinenumber: 229
    functionLinenumberEnd: 248
    functionName: test_context_verify_basic
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs
    functionUses: 0
    functionsReached:
    - cmac::sign
    - cmac::Key::generate
    - unwrap
    - Option::unwrap
    - Result::unwrap
    - cmac::Context::with_key
    - update
    linkageType: ''
    returnType: void
    signature: fn test_context_verify_basic()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmac::Key::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:253,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:253,1
    - Dst: cmac::Context::with_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:256,1
    - Dst: update
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:257,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 262
      start: 251
    functionDepth: 15
    functionLinenumber: 251
    functionLinenumberEnd: 262
    functionName: test_context_verify_invalid_tag
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs
    functionUses: 0
    functionsReached:
    - cmac::Key::generate
    - unwrap
    - Result::unwrap
    - cmac::Context::with_key
    - update
    linkageType: ''
    returnType: void
    signature: fn test_context_verify_invalid_tag()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmac::Key::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:267,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:267,1
    - Dst: Vec::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:271,1
    - Dst: Self::extend_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:273,1
    - Dst: as_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:273,1
    - Dst: cmac::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:275,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:275,1
    - Dst: cmac::Context::with_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:278,1
    - Dst: update
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:280,1
    - Dst: as_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:280,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 283
      start: 265
    functionDepth: 15
    functionLinenumber: 265
    functionLinenumberEnd: 283
    functionName: test_context_verify_multipart
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs
    functionUses: 0
    functionsReached:
    - cmac::sign
    - cmac::Key::generate
    - unwrap
    - Option::unwrap
    - Result::unwrap
    - cmac::Context::with_key
    - update
    - Self::extend_from_slice
    - Vec::new
    - as_bytes
    linkageType: ''
    returnType: void
    signature: fn test_context_verify_multipart()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmac::Key::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:288,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:288,1
    - Dst: cmac::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:293,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:293,1
    - Dst: cmac::Context::with_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:296,1
    - Dst: update
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:297,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 299
      start: 286
    functionDepth: 15
    functionLinenumber: 286
    functionLinenumberEnd: 299
    functionName: test_context_verify_wrong_data
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs
    functionUses: 0
    functionsReached:
    - cmac::sign
    - cmac::Key::generate
    - unwrap
    - Option::unwrap
    - Result::unwrap
    - cmac::Context::with_key
    - update
    linkageType: ''
    returnType: void
    signature: fn test_context_verify_wrong_data()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmac::Key::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:304,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:304,1
    - Dst: cmac::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:307,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:307,1
    - Dst: cmac::Context::with_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 312
      start: 302
    functionDepth: 15
    functionLinenumber: 302
    functionLinenumberEnd: 312
    functionName: test_context_verify_empty_data
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs
    functionUses: 0
    functionsReached:
    - cmac::sign
    - cmac::Key::generate
    - Option::unwrap
    - Result::unwrap
    - cmac::Context::with_key
    linkageType: ''
    returnType: void
    signature: fn test_context_verify_empty_data()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmac::Key::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:317,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:317,1
    - Dst: cmac::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:320,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 331
      start: 315
    functionDepth: 15
    functionLinenumber: 315
    functionLinenumberEnd: 331
    functionName: test_verify_function_basic
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - cmac::sign
    - Option::unwrap
    - cmac::Key::generate
    linkageType: ''
    returnType: void
    signature: fn test_verify_function_basic()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cmac::Key::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:336,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:336,1
    - Dst: cmac::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:346,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:346,1
    - Dst: cmac::sign_to_buffer
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:349,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 353
      start: 334
    functionDepth: 15
    functionLinenumber: 334
    functionLinenumberEnd: 353
    functionName: test_sign_to_buffer_vs_sign
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs
    functionUses: 0
    functionsReached:
    - cmac::sign_to_buffer
    - cmac::sign
    - cmac::Key::generate
    - Option::unwrap
    - Result::unwrap
    linkageType: ''
    returnType: void
    signature: fn test_sign_to_buffer_vs_sign()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StreamingEncryptingKey::algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:24,1
    - Dst: StreamingEncryptingKey::mode
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:25,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:26,1
    - Dst: Option::block_len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:36,1
    - Dst: StreamingEncryptingKey::update
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:37,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:37,1
    - Dst: written
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:44,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:44,1
    - Dst: Option::block_len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:49,1
    - Dst: StreamingEncryptingKey::finish
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:50,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:50,1
    - Dst: written
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:53,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:53,1
    - Dst: truncate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:54,1
    - Dst: into_boxed_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 67
    argCount: 3
    argNames:
    - encrypting_key
    - plaintext
    - step
    argTypes:
    - StreamingEncryptingKey
    - '&[u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 67
      start: 19
    functionDepth: 5
    functionLinenumber: 19
    functionLinenumberEnd: 67
    functionName: step_encrypt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs
    functionUses: 0
    functionsReached:
    - StreamingEncryptingKey::algorithm
    - '&[u8]::len'
    - written
    - StreamingEncryptingKey::finish
    - truncate
    - StreamingEncryptingKey::update
    - StreamingEncryptingKey::mode
    - Result::unwrap
    - len
    - into_boxed_slice
    - Option::block_len
    linkageType: ''
    returnType: (Box
    signature: 'fn step_encrypt(mut encrypting_key: StreamingEncryptingKey,plaintext:
      &[u8],step: usize,) -> (Box<[u8]>, DecryptionContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StreamingDecryptingKey::algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:74,1
    - Dst: StreamingDecryptingKey::mode
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:75,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:76,1
    - Dst: Option::block_len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:86,1
    - Dst: StreamingDecryptingKey::update
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:87,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:87,1
    - Dst: written
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:94,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:94,1
    - Dst: Option::block_len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:99,1
    - Dst: StreamingDecryptingKey::finish
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:100,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:100,1
    - Dst: written
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:103,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:103,1
    - Dst: truncate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:104,1
    - Dst: into_boxed_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 66
    argCount: 3
    argNames:
    - decrypting_key
    - ciphertext
    - step
    argTypes:
    - StreamingDecryptingKey
    - '&[u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 116
      start: 69
    functionDepth: 5
    functionLinenumber: 69
    functionLinenumberEnd: 116
    functionName: step_decrypt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs
    functionUses: 0
    functionsReached:
    - StreamingDecryptingKey::finish
    - '&[u8]::len'
    - written
    - StreamingDecryptingKey::mode
    - truncate
    - Result::unwrap
    - StreamingDecryptingKey::algorithm
    - StreamingDecryptingKey::update
    - len
    - into_boxed_slice
    - Option::block_len
    linkageType: ''
    returnType: Box
    signature: 'fn step_decrypt(mut decrypting_key: StreamingDecryptingKey,ciphertext:
      &[u8],step: usize,) -> Box<[u8]>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 142
    functionName: streaming_cipher_rt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 168
    functionName: streaming_ecb_pkcs7_rt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 202
    functionName: streaming_cipher_kat
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 231
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 231
    functionName: streaming_ecb_pkcs7_kat
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:4,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:4,1
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:5,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:5,1
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:6,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:6,1
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:8,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:8,1
    - Dst: FixedLength::try_from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:9,1
    - Dst: Result::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:9,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:9,1
    - Dst: EncryptionContext::Iv128
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:10,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:12,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:12,1
    - Dst: aws_lc_rs::cipher::PaddedBlockEncryptingKey
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:14,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:14,1
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:17,1
    - Dst: less_safe_encrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:18,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:18,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:23,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:23,1
    - Dst: PaddedBlockDecryptingKey
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:24,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:24,1
    - Dst: decrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:27,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:27,1
    - Dst: streaming_cipher_kat
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 233
    functionDepth: 8
    functionLinenumber: 233
    functionLinenumberEnd: 277
    functionName: padded_cipher_kat
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs
    functionUses: 1
    functionsReached:
    - less_safe_encrypt
    - Result::as_slice
    - clone
    - FixedLength::try_from
    - EncryptionContext::Iv128
    - unwrap
    - PaddedBlockDecryptingKey
    - streaming_cipher_kat
    - aws_lc_rs::cipher::PaddedBlockEncryptingKey
    - Result::unwrap
    - decrypt
    - aws_lc_rs::test::from_hex
    - UnboundCipherKey::new
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:4,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:4,1
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:5,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:5,1
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:6,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:6,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:8,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:8,1
    - Dst: PaddedBlockEncryptingKey::ecb_pkcs7
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:10,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:10,1
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:13,1
    - Dst: Result::less_safe_encrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:14,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:14,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:19,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:19,1
    - Dst: PaddedBlockDecryptingKey::ecb_pkcs7
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:20,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:20,1
    - Dst: Result::decrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:23,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:23,1
    - Dst: streaming_ecb_pkcs7_kat
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 308
      start: 279
    functionDepth: 8
    functionLinenumber: 279
    functionLinenumberEnd: 308
    functionName: padded_ecb_pkcs7_kat
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs
    functionUses: 0
    functionsReached:
    - SpdmResult::unwrap
    - clone
    - streaming_ecb_pkcs7_kat
    - PaddedBlockDecryptingKey::ecb_pkcs7
    - Result::unwrap
    - Result::decrypt
    - Result::less_safe_encrypt
    - aws_lc_rs::test::from_hex
    - UnboundCipherKey::new
    - PaddedBlockEncryptingKey::ecb_pkcs7
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unpadded_cipher_kat
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:2,1
    - Dst: streaming_cipher_kat
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:13,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 336
      start: 310
    functionDepth: 9
    functionLinenumber: 310
    functionLinenumberEnd: 336
    functionName: cipher_kat
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs
    functionUses: 3
    functionsReached:
    - unpadded_cipher_kat
    - streaming_cipher_kat
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:4,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:4,1
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:5,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:5,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:7,1
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:10,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:10,1
    - Dst: FixedLength::try_from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:11,1
    - Dst: Result::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:11,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:11,1
    - Dst: EncryptionContext::Iv128
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:12,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:15,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:15,1
    - Dst: aws_lc_rs::cipher::EncryptingKey
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:17,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:17,1
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:20,1
    - Dst: less_safe_encrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:21,1
    - Dst: BytesMutStrubbed::as_mut_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:22,1
    - Dst: expect_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 399
      start: 338
    functionDepth: 8
    functionLinenumber: 338
    functionLinenumberEnd: 399
    functionName: unpadded_cipher_kat
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs
    functionUses: 1
    functionsReached:
    - less_safe_encrypt
    - Result::as_slice
    - clone
    - FixedLength::try_from
    - EncryptionContext::Iv128
    - expect_err
    - unwrap
    - Result::unwrap
    - len
    - aws_lc_rs::cipher::EncryptingKey
    - aws_lc_rs::test::from_hex
    - UnboundCipherKey::new
    - BytesMutStrubbed::as_mut_slice
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:4,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:4,1
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:5,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:5,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:6,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:6,1
    - Dst: aws_lc_rs::cipher::PaddedBlockEncryptingKey
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:8,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:8,1
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:11,1
    - Dst: encrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:12,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:12,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:14,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:14,1
    - Dst: PaddedBlockDecryptingKey
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:15,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:15,1
    - Dst: decrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:18,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:18,1
    - Dst: streaming_cipher_rt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 425
      start: 401
    functionDepth: 7
    functionLinenumber: 401
    functionLinenumberEnd: 425
    functionName: padded_cipher_rt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs
    functionUses: 0
    functionsReached:
    - streaming_cipher_rt
    - clone
    - unwrap
    - PaddedBlockDecryptingKey
    - aws_lc_rs::cipher::PaddedBlockEncryptingKey
    - Result::unwrap
    - decrypt
    - encrypt
    - aws_lc_rs::test::from_hex
    - UnboundCipherKey::new
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:4,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:4,1
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:5,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:5,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:6,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:6,1
    - Dst: aws_lc_rs::cipher::EncryptingKey
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:8,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:8,1
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:11,1
    - Dst: encrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:12,1
    - Dst: BytesMutStrubbed::as_mut_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:12,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:12,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:14,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:14,1
    - Dst: DecryptingKey
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:15,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:15,1
    - Dst: decrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:18,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:18,1
    - Dst: streaming_cipher_rt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 450
      start: 427
    functionDepth: 7
    functionLinenumber: 427
    functionLinenumberEnd: 450
    functionName: cipher_rt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs
    functionUses: 3
    functionsReached:
    - streaming_cipher_rt
    - clone
    - unwrap
    - Result::unwrap
    - decrypt
    - DecryptingKey
    - aws_lc_rs::cipher::EncryptingKey
    - encrypt
    - aws_lc_rs::test::from_hex
    - UnboundCipherKey::new
    - BytesMutStrubbed::as_mut_slice
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:4,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:4,1
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:5,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:5,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:6,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:6,1
    - Dst: EncryptingKey::ecb
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:8,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:8,1
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:11,1
    - Dst: Result::encrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:12,1
    - Dst: BytesMutStrubbed::as_mut_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:12,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:12,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:14,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:14,1
    - Dst: DecryptingKey::ecb
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:15,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:15,1
    - Dst: Result::decrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:18,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 474
      start: 452
    functionDepth: 5
    functionLinenumber: 452
    functionLinenumberEnd: 474
    functionName: ecb_rt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs
    functionUses: 0
    functionsReached:
    - SpdmResult::unwrap
    - DecryptingKey::ecb
    - clone
    - EncryptingKey::ecb
    - Result::unwrap
    - Result::encrypt
    - Result::decrypt
    - aws_lc_rs::test::from_hex
    - UnboundCipherKey::new
    - BytesMutStrubbed::as_mut_slice
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:4,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:4,1
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:5,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:5,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:6,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:6,1
    - Dst: PaddedBlockEncryptingKey::ecb_pkcs7
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:8,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:8,1
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:11,1
    - Dst: Result::encrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:12,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:12,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:14,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:14,1
    - Dst: PaddedBlockDecryptingKey::ecb_pkcs7
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:15,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:15,1
    - Dst: Result::decrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:18,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:18,1
    - Dst: streaming_ecb_pkcs7_rt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 500
      start: 476
    functionDepth: 5
    functionLinenumber: 476
    functionLinenumberEnd: 500
    functionName: padded_ecb_pkcs7_rt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs
    functionUses: 0
    functionsReached:
    - SpdmResult::unwrap
    - clone
    - PaddedBlockDecryptingKey::ecb_pkcs7
    - Result::unwrap
    - Result::encrypt
    - Result::decrypt
    - streaming_ecb_pkcs7_rt
    - aws_lc_rs::test::from_hex
    - UnboundCipherKey::new
    - PaddedBlockEncryptingKey::ecb_pkcs7
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1120
    functionDepth: 0
    functionLinenumber: 1120
    functionLinenumberEnd: 1180
    functionName: des_streaming_cipher_kat
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1183
    functionDepth: 0
    functionLinenumber: 1183
    functionLinenumberEnd: 1208
    functionName: des_streaming_cipher_rt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:5,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:5,1
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:6,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:6,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:8,1
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:11,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:11,1
    - Dst: Result::try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:11,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:11,1
    - Dst: EncryptionContext::Iv64
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:12,1
    - Dst: FixedLength::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:12,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:15,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:15,1
    - Dst: aws_lc_rs::cipher::EncryptingKey
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:16,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:16,1
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:19,1
    - Dst: less_safe_encrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:20,1
    - Dst: BytesMutStrubbed::as_mut_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:21,1
    - Dst: expect_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1211
    functionDepth: 8
    functionLinenumber: 1211
    functionLinenumberEnd: 1270
    functionName: des_cipher_kat
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs
    functionUses: 0
    functionsReached:
    - less_safe_encrypt
    - clone
    - expect_err
    - Result::try_into
    - unwrap
    - Result::unwrap
    - len
    - aws_lc_rs::cipher::EncryptingKey
    - aws_lc_rs::test::from_hex
    - UnboundCipherKey::new
    - EncryptionContext::Iv64
    - FixedLength::from
    - BytesMutStrubbed::as_mut_slice
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:5,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:5,1
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:6,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:6,1
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:7,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:7,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:9,1
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:12,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:12,1
    - Dst: Result::try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:12,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:12,1
    - Dst: EncryptionContext::Iv64
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:13,1
    - Dst: FixedLength::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:13,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:16,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:16,1
    - Dst: aws_lc_rs::cipher::PaddedBlockEncryptingKey
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:17,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:17,1
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:20,1
    - Dst: less_safe_encrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:21,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:21,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:26,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:26,1
    - Dst: PaddedBlockDecryptingKey
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:27,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:27,1
    - Dst: decrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:30,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:30,1
    - Dst: des_streaming_cipher_kat
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1359
      start: 1273
    functionDepth: 8
    functionLinenumber: 1273
    functionLinenumberEnd: 1359
    functionName: des_padded_cipher_kat
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs
    functionUses: 0
    functionsReached:
    - less_safe_encrypt
    - clone
    - Result::try_into
    - unwrap
    - PaddedBlockDecryptingKey
    - aws_lc_rs::cipher::PaddedBlockEncryptingKey
    - Result::unwrap
    - decrypt
    - len
    - aws_lc_rs::test::from_hex
    - UnboundCipherKey::new
    - des_streaming_cipher_kat
    - EncryptionContext::Iv64
    - FixedLength::from
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:5,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:5,1
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:6,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:6,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:8,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:8,1
    - Dst: aws_lc_rs::cipher::EncryptingKey
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:9,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:9,1
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:12,1
    - Dst: encrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:13,1
    - Dst: BytesMutStrubbed::as_mut_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:13,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:13,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:16,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:16,1
    - Dst: DecryptingKey
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:17,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:17,1
    - Dst: decrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:20,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1362
    functionDepth: 7
    functionLinenumber: 1362
    functionLinenumberEnd: 1386
    functionName: des_cipher_rt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs
    functionUses: 0
    functionsReached:
    - clone
    - unwrap
    - Result::unwrap
    - decrypt
    - DecryptingKey
    - aws_lc_rs::cipher::EncryptingKey
    - encrypt
    - aws_lc_rs::test::from_hex
    - UnboundCipherKey::new
    - BytesMutStrubbed::as_mut_slice
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:5,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:5,1
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:6,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:6,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:8,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:8,1
    - Dst: aws_lc_rs::cipher::PaddedBlockEncryptingKey
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:9,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:9,1
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:12,1
    - Dst: encrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:13,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:13,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:15,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:15,1
    - Dst: PaddedBlockDecryptingKey
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:16,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:16,1
    - Dst: decrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:19,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:19,1
    - Dst: des_streaming_cipher_rt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1414
      start: 1389
    functionDepth: 7
    functionLinenumber: 1389
    functionLinenumberEnd: 1414
    functionName: des_padded_cipher_rt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs
    functionUses: 0
    functionsReached:
    - clone
    - unwrap
    - PaddedBlockDecryptingKey
    - aws_lc_rs::cipher::PaddedBlockEncryptingKey
    - Result::unwrap
    - decrypt
    - des_streaming_cipher_rt
    - encrypt
    - aws_lc_rs::test::from_hex
    - UnboundCipherKey::new
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1525,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1525,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1526,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1526,1
    - Dst: EncryptingKey::cbc
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1527,1
    - Dst: Result::expect_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1527,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1530
      start: 1516
    functionDepth: 5
    functionLinenumber: 1516
    functionLinenumberEnd: 1530
    functionName: test_des_weak_keys_rejected
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs
    functionUses: 0
    functionsReached:
    - EncryptingKey::cbc
    - Result::expect_err
    - Result::unwrap
    - aws_lc_rs::test::from_hex
    - UnboundCipherKey::new
    linkageType: ''
    returnType: void
    signature: fn test_des_weak_keys_rejected()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1538,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1538,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1539,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1539,1
    - Dst: EncryptingKey::cbc
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1540,1
    - Dst: Result::expect_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1540,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1542,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1542,1
    - Dst: EncryptingKey::ecb
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1543,1
    - Dst: Result::expect_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1543,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1545,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1535
    functionDepth: 5
    functionLinenumber: 1535
    functionLinenumberEnd: 1550
    functionName: test_des_ede_rejects_k1_equals_k2
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs
    functionUses: 0
    functionsReached:
    - EncryptingKey::ecb
    - EncryptingKey::cbc
    - Result::expect_err
    - Result::unwrap
    - aws_lc_rs::test::from_hex
    - UnboundCipherKey::new
    linkageType: ''
    returnType: void
    signature: fn test_des_ede_rejects_k1_equals_k2()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1561,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1561,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1562,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1562,1
    - Dst: EncryptingKey::cbc
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1563,1
    - Dst: Result::expect_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1563,1
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1566,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1566,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1567,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1567,1
    - Dst: EncryptingKey::cbc
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1568,1
    - Dst: Result::expect_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1568,1
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1571,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1571,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1572,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1572,1
    - Dst: EncryptingKey::cbc
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1573,1
    - Dst: Result::expect_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1573,1
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1576,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1576,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1577,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1577,1
    - Dst: EncryptingKey::ecb
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1578,1
    - Dst: Result::expect_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1578,1
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1581,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1581,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1582,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1587
      start: 1555
    functionDepth: 5
    functionLinenumber: 1555
    functionLinenumberEnd: 1587
    functionName: test_des_ede3_rejects_pairwise_equal_keys
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs
    functionUses: 0
    functionsReached:
    - EncryptingKey::ecb
    - EncryptingKey::cbc
    - Result::expect_err
    - Result::unwrap
    - aws_lc_rs::test::from_hex
    - UnboundCipherKey::new
    linkageType: ''
    returnType: void
    signature: fn test_des_ede3_rejects_pairwise_equal_keys()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1593,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1593,1
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1594,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1594,1
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1595,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1595,1
    - Dst: Result::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1598,1
    - Dst: Result::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1599,1
    - Dst: Result::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1600,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1603,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1603,1
    - Dst: EncryptingKey::ctr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1604,1
    - Dst: Result::expect_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1604,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1606,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1606,1
    - Dst: DecryptingKey::ctr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1607,1
    - Dst: Result::expect_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1607,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1609,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1609,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1616,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1616,1
    - Dst: EncryptingKey::cfb128
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1617,1
    - Dst: Result::expect_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1617,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1619,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1619,1
    - Dst: DecryptingKey::cfb128
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1620,1
    - Dst: Result::expect_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1620,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1622,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1622,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1628
      start: 1592
    functionDepth: 5
    functionLinenumber: 1592
    functionLinenumberEnd: 1628
    functionName: test_des_unsupported_modes_rejected
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs
    functionUses: 0
    functionsReached:
    - Result::as_slice
    - EncryptingKey::cfb128
    - DecryptingKey::ctr
    - Result::expect_err
    - Result::unwrap
    - EncryptingKey::ctr
    - DecryptingKey::cfb128
    - aws_lc_rs::test::from_hex
    - UnboundCipherKey::new
    linkageType: ''
    returnType: void
    signature: fn test_des_unsupported_modes_rejected()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::compile_time_assert_send::<StreamingEncryptingKey>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1852,1
    - Dst: test::compile_time_assert_send::<StreamingDecryptingKey>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs:1853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1854
      start: 1851
    functionDepth: 0
    functionLinenumber: 1851
    functionLinenumberEnd: 1854
    functionName: test_streaming_cipher_traits
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs
    functionUses: 0
    functionsReached:
    - test::compile_time_assert_send::<StreamingEncryptingKey>
    - test::compile_time_assert_send::<StreamingDecryptingKey>
    linkageType: ''
    returnType: void
    signature: fn test_streaming_cipher_traits()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_quic
      Src: /src/spdm-rs/external/ring/tests/quic_tests.rs:23,1
    - Dst: ring::test_file
      Src: /src/spdm-rs/external/ring/tests/quic_tests.rs:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 17
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: quic_aes_128
    functionSourceFile: /src/spdm-rs/external/ring/tests/quic_tests.rs
    functionUses: 0
    functionsReached:
    - test_quic
    - ring::test_file
    linkageType: ''
    returnType: void
    signature: fn quic_aes_128()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_quic
      Src: /src/spdm-rs/external/ring/tests/quic_tests.rs:28,1
    - Dst: ring::test_file
      Src: /src/spdm-rs/external/ring/tests/quic_tests.rs:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 17
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: quic_aes_256
    functionSourceFile: /src/spdm-rs/external/ring/tests/quic_tests.rs
    functionUses: 0
    functionsReached:
    - test_quic
    - ring::test_file
    linkageType: ''
    returnType: void
    signature: fn quic_aes_256()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_quic
      Src: /src/spdm-rs/external/ring/tests/quic_tests.rs:33,1
    - Dst: ring::test_file
      Src: /src/spdm-rs/external/ring/tests/quic_tests.rs:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 17
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: quic_chacha20
    functionSourceFile: /src/spdm-rs/external/ring/tests/quic_tests.rs
    functionUses: 0
    functionsReached:
    - test_quic
    - ring::test_file
    linkageType: ''
    returnType: void
    signature: fn quic_chacha20()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_key_len
      Src: /src/spdm-rs/external/ring/tests/quic_tests.rs:37,1
    - Dst: test_sample_len
      Src: /src/spdm-rs/external/ring/tests/quic_tests.rs:38,1
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/tests/quic_tests.rs:40,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/quic_tests.rs:42,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/quic_tests.rs:43,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/quic_tests.rs:44,1
    - Dst: quic::HeaderProtectionKey::new
      Src: /src/spdm-rs/external/ring/tests/quic_tests.rs:46,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/tests/quic_tests.rs:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - alg
    - test_file
    argTypes:
    - '&''static quic::Algorithm'
    - test::File
    constantsTouched: []
    func_position:
      end: 52
      start: 36
    functionDepth: 16
    functionLinenumber: 36
    functionLinenumberEnd: 52
    functionName: test_quic
    functionSourceFile: /src/spdm-rs/external/ring/tests/quic_tests.rs
    functionUses: 3
    functionsReached:
    - test_key_len
    - test_sample_len
    - quic::HeaderProtectionKey::new
    - Option::consume_bytes
    - test::run
    - Ok
    linkageType: ''
    returnType: void
    signature: 'fn test_quic(alg: &''static quic::Algorithm, test_file: test::File)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::key_len
      Src: /src/spdm-rs/external/ring/tests/quic_tests.rs:67,1
    - Dst: quic::HeaderProtectionKey::new
      Src: /src/spdm-rs/external/ring/tests/quic_tests.rs:70,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/tests/quic_tests.rs:70,1
    - Dst: Option::sample_len
      Src: /src/spdm-rs/external/ring/tests/quic_tests.rs:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - alg
    argTypes:
    - '&''static quic::Algorithm'
    constantsTouched: []
    func_position:
      end: 87
      start: 66
    functionDepth: 15
    functionLinenumber: 66
    functionLinenumberEnd: 87
    functionName: test_sample_len
    functionSourceFile: /src/spdm-rs/external/ring/tests/quic_tests.rs
    functionUses: 1
    functionsReached:
    - Result::unwrap
    - quic::HeaderProtectionKey::new
    - Option::sample_len
    - Option::key_len
    linkageType: ''
    returnType: void
    signature: 'fn test_sample_len(alg: &''static quic::Algorithm)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::as_str
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:25,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:26,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:27,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:28,1
    - Dst: into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - value
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 30
      start: 24
    functionDepth: 13
    functionLinenumber: 24
    functionLinenumberEnd: 30
    functionName: SskdfVariant::try_from
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs
    functionUses: 0
    functionsReached:
    - u8::as_str
    - into
    - Err
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn try_from(value: String) -> Result<Self, Self::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::as_str
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:45,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:46,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:47,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:48,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:49,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:50,1
    - Dst: into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - value
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 13
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: Hash::try_from
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs
    functionUses: 0
    functionsReached:
    - u8::as_str
    - into
    - Err
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn try_from(value: String) -> Result<Self, Self::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc_rs::kdf::get_sskdf_hmac_algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:57,1
    - Dst: Option::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - Hash
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: '&''static SskdfHmacAlgorithm::from'
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs
    functionUses: 0
    functionsReached:
    - aws_lc_rs::kdf::get_sskdf_hmac_algorithm
    - Option::expect
    linkageType: ''
    returnType: Self
    signature: 'fn from(value: Hash) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc_rs::kdf::get_sskdf_digest_algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:69,1
    - Dst: Option::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - Hash
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: '&''static SskdfDigestAlgorithm::from'
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs
    functionUses: 0
    functionsReached:
    - aws_lc_rs::kdf::get_sskdf_digest_algorithm
    - Option::expect
    linkageType: ''
    returnType: Self
    signature: 'fn from(value: Hash) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_kbkdf_ctr_hmac_algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:81,1
    - Dst: Option::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - Hash
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: '&''static KbkdfCtrHmacAlgorithm::from'
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs
    functionUses: 0
    functionsReached:
    - get_kbkdf_ctr_hmac_algorithm
    - Option::expect
    linkageType: ''
    returnType: Self
    signature: 'fn from(value: Hash) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:93,1
    - Dst: aws_lc_rs::test_file
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:93,1
    - Dst: DateTime::consume_string
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:96,1
    - Dst: String::try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:96,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:96,1
    - Dst: DateTime::consume_string
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:97,1
    - Dst: String::try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:97,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:97,1
    - Dst: DateTime::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:99,1
    - Dst: DateTime::consume_optional_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:100,1
    - Dst: DateTime::consume_optional_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:101,1
    - Dst: DateTime::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:102,1
    - Dst: SimpleLogger::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:105,1
    - Dst: SimpleLogger::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:111,1
    - Dst: assert_sskdf_digest
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:118,1
    - Dst: into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:118,1
    - Dst: assert_sskdf_hmac
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:120,1
    - Dst: into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:120,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 92
    functionDepth: 8
    functionLinenumber: 92
    functionLinenumberEnd: 125
    functionName: sskdf
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs
    functionUses: 0
    functionsReached:
    - assert_sskdf_digest
    - DateTime::consume_bytes
    - into
    - String::try_into
    - DateTime::consume_optional_bytes
    - Result::unwrap
    - assert_sskdf_hmac
    - aws_lc_rs::test_file
    - DateTime::consume_string
    - SimpleLogger::as_slice
    - test::run
    - Ok
    linkageType: ''
    returnType: void
    signature: fn sskdf()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc_rs::kdf::sskdf_digest
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:134,1
    - Dst: as_mut_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:134,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - algorithm
    - secret
    - info
    - expect
    argTypes:
    - '&''static SskdfDigestAlgorithm'
    - '&[u8]'
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 5
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: assert_sskdf_digest
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs
    functionUses: 1
    functionsReached:
    - Result::unwrap
    - as_mut_slice
    - aws_lc_rs::kdf::sskdf_digest
    linkageType: ''
    returnType: void
    signature: 'fn assert_sskdf_digest(algorithm: &''static SskdfDigestAlgorithm,secret:
      &[u8],info: &[u8],expect: &[u8],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc_rs::kdf::sskdf_hmac
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:146,1
    - Dst: as_mut_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:146,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - algorithm
    - secret
    - info
    - salt
    - expect
    argTypes:
    - '&''static SskdfHmacAlgorithm'
    - '&[u8]'
    - '&[u8]'
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 148
      start: 138
    functionDepth: 5
    functionLinenumber: 138
    functionLinenumberEnd: 148
    functionName: assert_sskdf_hmac
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs
    functionUses: 1
    functionsReached:
    - aws_lc_rs::kdf::sskdf_hmac
    - as_mut_slice
    - Result::unwrap
    linkageType: ''
    returnType: void
    signature: 'fn assert_sskdf_hmac(algorithm: &''static SskdfHmacAlgorithm,secret:
      &[u8],info: &[u8],salt: &[u8],expect: &[u8],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:152,1
    - Dst: aws_lc_rs::test_file
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:152,1
    - Dst: DateTime::consume_string
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:153,1
    - Dst: String::try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:153,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:153,1
    - Dst: DateTime::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:154,1
    - Dst: DateTime::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:155,1
    - Dst: DateTime::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:156,1
    - Dst: kbkdf_ctr_hmac
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:159,1
    - Dst: into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:159,1
    - Dst: as_mut_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:159,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:159,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 151
    functionDepth: 8
    functionLinenumber: 151
    functionLinenumberEnd: 164
    functionName: hkdf_ctr_hmac
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs
    functionUses: 0
    functionsReached:
    - kbkdf_ctr_hmac
    - into
    - DateTime::consume_bytes
    - String::try_into
    - Result::unwrap
    - as_mut_slice
    - aws_lc_rs::test_file
    - DateTime::consume_string
    - test::run
    - Ok
    linkageType: ''
    returnType: void
    signature: fn hkdf_ctr_hmac()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::compile_time_assert_send::<RsaKeyPair>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:24,1
    - Dst: test::compile_time_assert_sync::<RsaKeyPair>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:25,1
    - Dst: test::compile_time_assert_send::<RsaSubjectPublicKey>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:26,1
    - Dst: test::compile_time_assert_sync::<RsaSubjectPublicKey>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:27,1
    - Dst: test::compile_time_assert_send::<RsaPublicKeyComponents<&[u8]>>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:28,1
    - Dst: test::compile_time_assert_sync::<RsaPublicKeyComponents<&[u8]>>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:29,1
    - Dst: test::compile_time_assert_send::<RsaPublicKeyComponents<Vec<u8>>>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:30,1
    - Dst: test::compile_time_assert_sync::<RsaPublicKeyComponents<Vec<u8>>>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:31,1
    - Dst: test::compile_time_assert_send::<PrivateDecryptingKey>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:34,1
    - Dst: test::compile_time_assert_sync::<PrivateDecryptingKey>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:35,1
    - Dst: test::compile_time_assert_send::<PublicEncryptingKey>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:36,1
    - Dst: test::compile_time_assert_sync::<PublicEncryptingKey>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:37,1
    - Dst: test::compile_time_assert_send::<OaepPrivateDecryptingKey>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:38,1
    - Dst: test::compile_time_assert_sync::<OaepPrivateDecryptingKey>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:39,1
    - Dst: test::compile_time_assert_send::<OaepPublicEncryptingKey>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:40,1
    - Dst: test::compile_time_assert_sync::<OaepPublicEncryptingKey>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:41,1
    - Dst: test::compile_time_assert_send::<Pkcs1PrivateDecryptingKey>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:42,1
    - Dst: test::compile_time_assert_sync::<Pkcs1PrivateDecryptingKey>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:43,1
    - Dst: test::compile_time_assert_send::<Pkcs1PublicEncryptingKey>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:44,1
    - Dst: test::compile_time_assert_sync::<Pkcs1PublicEncryptingKey>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 46
    functionName: rsa_traits
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs
    functionUses: 0
    functionsReached:
    - test::compile_time_assert_sync::<Pkcs1PublicEncryptingKey>
    - test::compile_time_assert_send::<RsaPublicKeyComponents<Vec<u8>>>
    - test::compile_time_assert_send::<OaepPublicEncryptingKey>
    - test::compile_time_assert_sync::<RsaPublicKeyComponents<Vec<u8>>>
    - test::compile_time_assert_send::<RsaKeyPair>
    - test::compile_time_assert_sync::<OaepPrivateDecryptingKey>
    - test::compile_time_assert_sync::<PrivateDecryptingKey>
    - test::compile_time_assert_sync::<PublicEncryptingKey>
    - test::compile_time_assert_send::<Pkcs1PrivateDecryptingKey>
    - test::compile_time_assert_send::<OaepPrivateDecryptingKey>
    - test::compile_time_assert_send::<Pkcs1PublicEncryptingKey>
    - test::compile_time_assert_send::<PublicEncryptingKey>
    - test::compile_time_assert_send::<RsaSubjectPublicKey>
    - test::compile_time_assert_sync::<OaepPublicEncryptingKey>
    - test::compile_time_assert_sync::<RsaSubjectPublicKey>
    - test::compile_time_assert_send::<RsaPublicKeyComponents<&[u8]>>
    - test::compile_time_assert_send::<PrivateDecryptingKey>
    - test::compile_time_assert_sync::<RsaPublicKeyComponents<&[u8]>>
    - test::compile_time_assert_sync::<RsaKeyPair>
    - test::compile_time_assert_sync::<Pkcs1PrivateDecryptingKey>
    linkageType: ''
    returnType: void
    signature: fn rsa_traits()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:35,1
    - Dst: ring::test_file
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:36,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:40,1
    - Dst: Option::consume_optional_string
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:41,1
    - Dst: rsa::KeyPair::from_pkcs8
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:43,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 34
    functionDepth: 14
    functionLinenumber: 34
    functionLinenumberEnd: 53
    functionName: rsa_from_pkcs8_test
    functionSourceFile: /src/spdm-rs/external/ring/tests/rsa_tests.rs
    functionUses: 0
    functionsReached:
    - rsa::KeyPair::from_pkcs8
    - ring::test_file
    - Option::consume_optional_string
    - Option::consume_bytes
    - test::run
    - Ok
    linkageType: ''
    returnType: void
    signature: fn rsa_from_pkcs8_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand::SystemRandom::new
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:58,1
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:59,1
    - Dst: ring::test_file
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:60,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:64,1
    - Dst: String::as_ref
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:65,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:72,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:73,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:74,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:75,1
    - Dst: rsa::KeyPair::from_der
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:77,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:80,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:82,1
    - Dst: Option::sign
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:87,1
    - Dst: as_mut_slice
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:88,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:87,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 57
    functionDepth: 10
    functionLinenumber: 57
    functionLinenumberEnd: 94
    functionName: test_signature_rsa_pkcs1_sign
    functionSourceFile: /src/spdm-rs/external/ring/tests/rsa_tests.rs
    functionUses: 0
    functionsReached:
    - Option::consume_string
    - ring::test_file
    - Ok
    - rsa::KeyPair::from_der
    - Option::unwrap
    - as_mut_slice
    - Option::sign
    - Option::consume_bytes
    - test::run
    - rand::SystemRandom::new
    - String::as_ref
    linkageType: ''
    returnType: void
    signature: fn test_signature_rsa_pkcs1_sign()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:99,1
    - Dst: ring::test_file
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:100,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:104,1
    - Dst: String::as_ref
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:105,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:112,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:113,1
    - Dst: rsa::KeyPair::from_der
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:114,1
    - Dst: Option::is_err
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:115,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:116,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:118,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:119,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:120,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:121,1
    - Dst: Option::sign
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:127,1
    - Dst: as_mut_slice
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:127,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 98
    functionDepth: 10
    functionLinenumber: 98
    functionLinenumberEnd: 132
    functionName: test_signature_rsa_pss_sign
    functionSourceFile: /src/spdm-rs/external/ring/tests/rsa_tests.rs
    functionUses: 0
    functionsReached:
    - Option::consume_string
    - ring::test_file
    - rsa::KeyPair::from_der
    - Option::unwrap
    - Option::is_err
    - as_mut_slice
    - Option::sign
    - Option::consume_bytes
    - test::run
    - Ok
    - String::as_ref
    linkageType: ''
    returnType: void
    signature: fn test_signature_rsa_pss_sign()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:193,1
    - Dst: ring::test_file
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:194,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:198,1
    - Dst: String::as_ref
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:199,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:207,1
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:212,1
    - Dst: Self::read_all
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:212,1
    - Dst: der::nested
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:214,1
    - Dst: der::positive_integer
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:216,1
    - Dst: big_endian_without_leading_zero
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:216,1
    - Dst: der::positive_integer
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:217,1
    - Dst: usize::try_from
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:221,1
    - Dst: leading_zeros
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:221,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:221,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:223,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:223,1
    - Dst: expect
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:212,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:228,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:229,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:230,1
    - Dst: signature::UnparsedPublicKey::new
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:234,1
    - Dst: Self::verify
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:234,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:238,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 241
      start: 164
    functionDepth: 9
    functionLinenumber: 164
    functionLinenumberEnd: 241
    functionName: test_signature_rsa_pkcs1_verify
    functionSourceFile: /src/spdm-rs/external/ring/tests/rsa_tests.rs
    functionUses: 0
    functionsReached:
    - der::positive_integer
    - Option::consume_string
    - ring::test_file
    - signature::UnparsedPublicKey::new
    - usize::try_from
    - leading_zeros
    - Self::verify
    - der::nested
    - untrusted::Input::from
    - Result::unwrap
    - big_endian_without_leading_zero
    - len
    - expect
    - Self::read_all
    - Option::consume_bytes
    - test::run
    - Ok
    - String::as_ref
    linkageType: ''
    returnType: void
    signature: fn test_signature_rsa_pkcs1_verify()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:246,1
    - Dst: ring::test_file
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:247,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:251,1
    - Dst: String::as_ref
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:252,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:259,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:277,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:278,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:279,1
    - Dst: signature::UnparsedPublicKey::new
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:282,1
    - Dst: Self::verify
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:282,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 245
    functionDepth: 8
    functionLinenumber: 245
    functionLinenumberEnd: 288
    functionName: test_signature_rsa_pss_verify
    functionSourceFile: /src/spdm-rs/external/ring/tests/rsa_tests.rs
    functionUses: 0
    functionsReached:
    - signature::UnparsedPublicKey::new
    - Option::consume_string
    - ring::test_file
    - Self::verify
    - Option::consume_bytes
    - test::run
    - Ok
    - String::as_ref
    linkageType: ''
    returnType: void
    signature: fn test_signature_rsa_pss_verify()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:369,1
    - Dst: aws_lc_rs::test_file
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:370,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:373,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:374,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:375,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:376,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:377,1
    - Dst: as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:379,1
    - Dst: as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:380,1
    - Dst: Self::to_parsed_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:382,1
    - Dst: verify_sig
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:384,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 402
      start: 368
    functionDepth: 8
    functionLinenumber: 368
    functionLinenumberEnd: 402
    functionName: test_rsa_public_key_components_to_parsed_public_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs
    functionUses: 0
    functionsReached:
    - Self::to_parsed_public_key
    - verify_sig
    - Option::consume_string
    - aws_lc_rs::test_file
    - Option::consume_bytes
    - test::run
    - as_slice
    - Ok
    linkageType: ''
    returnType: void
    signature: fn test_rsa_public_key_components_to_parsed_public_key()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:412,1
    - Dst: as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:413,1
    - Dst: Self::to_parsed_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:415,1
    - Dst: expect_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 419
      start: 408
    functionDepth: 9
    functionLinenumber: 408
    functionLinenumberEnd: 419
    functionName: test_rsa_public_key_components_to_parsed_public_key_rejects_empty_modulus
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs
    functionUses: 0
    functionsReached:
    - Self::to_parsed_public_key
    - as_slice
    - expect_err
    linkageType: ''
    returnType: void
    signature: fn test_rsa_public_key_components_to_parsed_public_key_rejects_empty_modulus()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:427,1
    - Dst: as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:428,1
    - Dst: Self::as_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 432
      start: 423
    functionDepth: 11
    functionLinenumber: 423
    functionLinenumberEnd: 432
    functionName: test_rsa_public_key_components_as_der_rejects_empty_modulus
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs
    functionUses: 0
    functionsReached:
    - Self::as_der
    - as_slice
    linkageType: ''
    returnType: void
    signature: fn test_rsa_public_key_components_as_der_rejects_empty_modulus()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:453,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:453,1
    - Dst: as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:457,1
    - Dst: Self::to_parsed_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:460,1
    - Dst: expect_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:460,1
    - Dst: Self::as_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 470
      start: 441
    functionDepth: 7
    functionLinenumber: 441
    functionLinenumberEnd: 470
    functionName: test_rsa_public_key_components_rejects_invalid_exponent
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs
    functionUses: 0
    functionsReached:
    - Self::to_parsed_public_key
    - Self::as_der
    - Result::unwrap
    - aws_lc_rs::test::from_hex
    - as_slice
    - expect_err
    linkageType: ''
    returnType: void
    signature: fn test_rsa_public_key_components_rejects_invalid_exponent()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:486,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:486,1
    - Dst: as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:489,1
    - Dst: as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:490,1
    - Dst: Self::to_parsed_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:494,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 502
      start: 478
    functionDepth: 7
    functionLinenumber: 478
    functionLinenumberEnd: 502
    functionName: test_rsa_public_key_components_to_parsed_public_key_small_key_fails_at_verify
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs
    functionUses: 0
    functionsReached:
    - Self::to_parsed_public_key
    - Result::unwrap
    - aws_lc_rs::test::from_hex
    - as_slice
    - expect
    linkageType: ''
    returnType: void
    signature: fn test_rsa_public_key_components_to_parsed_public_key_small_key_fails_at_verify()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:522,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:522,1
    - Dst: as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:525,1
    - Dst: as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:526,1
    - Dst: Self::as_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:529,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:529,1
    - Dst: ParsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:531,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:531,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:531,1
    - Dst: Self::to_parsed_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:532,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:532,1
    - Dst: RsaKeyPair::from_pkcs8
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:540,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:540,1
    - Dst: rand::SystemRandom::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:543,1
    - Dst: Option::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:544,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:544,1
    - Dst: Result::verify_sig
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:547,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:547,1
    - Dst: Result::verify_sig
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:548,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 551
      start: 509
    functionDepth: 10
    functionLinenumber: 509
    functionLinenumberEnd: 551
    functionName: test_rsa_public_key_components_as_der_round_trip_no_ring_io
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs
    functionUses: 0
    functionsReached:
    - Self::to_parsed_public_key
    - RsaKeyPair::from_pkcs8
    - unwrap
    - Result::verify_sig
    - Self::as_der
    - Option::unwrap
    - Result::unwrap
    - ParsedPublicKey::new
    - Option::sign
    - aws_lc_rs::test::from_hex
    - as_ref
    - as_slice
    - rand::SystemRandom::new
    linkageType: ''
    returnType: void
    signature: fn test_rsa_public_key_components_as_der_round_trip_no_ring_io()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:567,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:567,1
    - Dst: as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:570,1
    - Dst: as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:571,1
    - Dst: Self::to_parsed_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:573,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:573,1
    - Dst: RsaKeyPair::from_pkcs8
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:587,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:587,1
    - Dst: rand::SystemRandom::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:590,1
    - Dst: Option::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:591,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:591,1
    - Dst: Result::verify_sig
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:594,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:594,1
    - Dst: Option::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:601,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 605
      start: 556
    functionDepth: 7
    functionLinenumber: 556
    functionLinenumberEnd: 605
    functionName: test_rsa_public_key_components_to_parsed_public_key_pss
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs
    functionUses: 0
    functionsReached:
    - Self::to_parsed_public_key
    - RsaKeyPair::from_pkcs8
    - unwrap
    - Result::verify_sig
    - Option::unwrap
    - Result::unwrap
    - Option::sign
    - aws_lc_rs::test::from_hex
    - as_slice
    - rand::SystemRandom::new
    linkageType: ''
    returnType: void
    signature: fn test_rsa_public_key_components_to_parsed_public_key_pss()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RsaKeyPair::from_pkcs8
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:618,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:618,1
    - Dst: Option::public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:619,1
    - Dst: Option::into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:620,1
    - Dst: Self::as_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:621,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:621,1
    - Dst: ParsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:623,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:623,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:623,1
    - Dst: Self::to_parsed_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:624,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:624,1
    - Dst: rand::SystemRandom::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:630,1
    - Dst: Option::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:631,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:631,1
    - Dst: Result::verify_sig
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:634,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:634,1
    - Dst: Result::verify_sig
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:635,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 638
      start: 616
    functionDepth: 10
    functionLinenumber: 616
    functionLinenumberEnd: 638
    functionName: test_rsa_public_key_components_as_der_round_trip
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs
    functionUses: 0
    functionsReached:
    - RsaKeyPair::from_pkcs8
    - Self::to_parsed_public_key
    - unwrap
    - Result::verify_sig
    - Self::as_der
    - Option::into
    - Option::unwrap
    - Result::unwrap
    - ParsedPublicKey::new
    - Option::public_key
    - Option::sign
    - as_ref
    - rand::SystemRandom::new
    linkageType: ''
    returnType: void
    signature: fn test_rsa_public_key_components_as_der_round_trip()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RsaKeyPair::from_pkcs8
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:646,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:646,1
    - Dst: Option::public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:648,1
    - Dst: Option::clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 671
      start: 641
    functionDepth: 10
    functionLinenumber: 641
    functionLinenumberEnd: 671
    functionName: rsa_test_public_key_coverage
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs
    functionUses: 0
    functionsReached:
    - RsaKeyPair::from_pkcs8
    - unwrap
    - Option::public_key
    - Option::clone
    linkageType: ''
    returnType: void
    signature: fn rsa_test_public_key_coverage()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 679
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 679
    functionName: keysize_len
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn keysize_len()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RsaKeyPair::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:4,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:4,1
    - Dst: Option::as_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:6,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:6,1
    - Dst: RsaKeyPair::from_pkcs8
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:8,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:8,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:8,1
    - Dst: crate::signature::KeyPair::public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:10,1
    - Dst: '&[u8]::as_ref'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 696
      start: 681
    functionDepth: 17
    functionLinenumber: 681
    functionLinenumberEnd: 696
    functionName: generate_encode_decode
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs
    functionUses: 0
    functionsReached:
    - RsaKeyPair::from_pkcs8
    - crate::signature::KeyPair::public_key
    - '&[u8]::as_ref'
    - RsaKeyPair::generate
    - Option::as_der
    - Result::expect
    - expect
    - as_ref
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RsaKeyPair::generate_fips
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:5,1
    - Dst: Result::expect_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:5,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 734
      start: 709
    functionDepth: 18
    functionLinenumber: 709
    functionLinenumberEnd: 734
    functionName: generate_fips_encode_decode
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs
    functionUses: 0
    functionsReached:
    - RsaKeyPair::generate_fips
    - Result::expect_err
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PrivateDecryptingKey::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:4,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:4,1
    - Dst: Option::as_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:6,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:6,1
    - Dst: PrivateDecryptingKey::from_pkcs8
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:8,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:8,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:8,1
    - Dst: Option::public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:10,1
    - Dst: drop
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:12,1
    - Dst: '&[u8]::as_der'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:14,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:14,1
    - Dst: PublicEncryptingKey::from_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:17,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:17,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 767
      start: 747
    functionDepth: 11
    functionLinenumber: 747
    functionLinenumberEnd: 767
    functionName: encryption_generate_encode_decode
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs
    functionUses: 0
    functionsReached:
    - Result::as_ref
    - PublicEncryptingKey::from_der
    - PrivateDecryptingKey::from_pkcs8
    - Option::public_key
    - '&[u8]::as_der'
    - Option::as_der
    - Result::expect
    - PrivateDecryptingKey::generate
    - drop
    - as_ref
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PrivateDecryptingKey::generate_fips
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:6,1
    - Dst: Result::expect_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:6,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 811
      start: 780
    functionDepth: 18
    functionLinenumber: 780
    functionLinenumberEnd: 811
    functionName: encryption_generate_fips_encode_decode
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs
    functionUses: 0
    functionsReached:
    - Result::expect_err
    - PrivateDecryptingKey::generate_fips
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 843
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 843
    functionName: public_key_components_clone_debug
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn public_key_components_clone_debug()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 863
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 863
    functionName: encryption_algorithm_id
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn encryption_algorithm_id()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 868
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 868
    functionName: encryption_algorithm_debug
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn encryption_algorithm_debug()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PrivateDecryptingKey::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:6,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:6,1
    - Dst: Option::public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:7,1
    - Dst: OaepPublicEncryptingKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:22,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:22,1
    - Dst: OaepPrivateDecryptingKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:24,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:24,1
    - Dst: '&[u8]::encrypt'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:36,1
    - Dst: as_mut
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:37,1
    - Dst: SpdmResult::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:36,1
    - Dst: Option::decrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:42,1
    - Dst: SpdmResult::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:42,1
    - Dst: '&[u8]::encrypt'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:53,1
    - Dst: as_mut
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:54,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:54,1
    - Dst: SpdmResult::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:53,1
    - Dst: Option::decrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:59,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:60,1
    - Dst: SpdmResult::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:59,1
    - Dst: '&[u8]::encrypt'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:72,1
    - Dst: as_mut
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:73,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:73,1
    - Dst: SpdmResult::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:72,1
    - Dst: Option::decrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:78,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:79,1
    - Dst: SpdmResult::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:78,1
    - Dst: '&[u8]::encrypt'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:90,1
    - Dst: as_mut
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:91,1
    - Dst: SpdmResult::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:90,1
    - Dst: Option::decrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:96,1
    - Dst: SpdmResult::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:96,1
    - Dst: '&[u8]::encrypt'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:108,1
    - Dst: as_mut
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:109,1
    - Dst: SpdmResult::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:108,1
    - Dst: Option::decrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:114,1
    - Dst: SpdmResult::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:114,1
    - Dst: '&[u8]::encrypt'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:126,1
    - Dst: as_mut
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:127,1
    - Dst: SpdmResult::expect_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 110
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 870
    functionDepth: 4
    functionLinenumber: 870
    functionLinenumberEnd: 1002
    functionName: round_trip_oaep_algorithm
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs
    functionUses: 0
    functionsReached:
    - Option::decrypt
    - as_mut
    - SpdmResult::expect
    - OaepPrivateDecryptingKey::new
    - Option::public_key
    - '&[u8]::encrypt'
    - SpdmResult::expect_err
    - Result::expect
    - PrivateDecryptingKey::generate
    - OaepPublicEncryptingKey::new
    - Some
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PrivateDecryptingKey::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1114,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1114,1
    - Dst: Option::public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1118,1
    - Dst: OaepPrivateDecryptingKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1123,1
    - Dst: Option::clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1123,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1123,1
    - Dst: OaepPublicEncryptingKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1131,1
    - Dst: '&[u8]::clone'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1131,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1131,1
    - Dst: Pkcs1PrivateDecryptingKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1139,1
    - Dst: Option::clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1139,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1139,1
    - Dst: Pkcs1PublicEncryptingKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1147,1
    - Dst: '&[u8]::clone'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1147,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1113
    functionDepth: 4
    functionLinenumber: 1113
    functionLinenumberEnd: 1153
    functionName: encrypting_keypair_debug
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs
    functionUses: 0
    functionsReached:
    - Pkcs1PrivateDecryptingKey::new
    - '&[u8]::clone'
    - OaepPrivateDecryptingKey::new
    - Option::public_key
    - Pkcs1PublicEncryptingKey::new
    - OaepPublicEncryptingKey::new
    - Result::expect
    - PrivateDecryptingKey::generate
    - Option::clone
    linkageType: ''
    returnType: void
    signature: fn encrypting_keypair_debug()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PrivateDecryptingKey::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1159,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1159,1
    - Dst: Option::public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1160,1
    - Dst: OaepPrivateDecryptingKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1163,1
    - Dst: Option::clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1163,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1163,1
    - Dst: OaepPublicEncryptingKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1164,1
    - Dst: '&[u8]::clone'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1164,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1164,1
    - Dst: drop
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1166,1
    - Dst: drop
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1167,1
    - Dst: encrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1171,1
    - Dst: as_mut
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1172,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1171,1
    - Dst: decrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1177,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1156
    functionDepth: 7
    functionLinenumber: 1156
    functionLinenumberEnd: 1182
    functionName: clone_then_drop
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::clone'
    - as_mut
    - OaepPrivateDecryptingKey::new
    - drop
    - Option::public_key
    - expect
    - decrypt
    - OaepPublicEncryptingKey::new
    - encrypt
    - Result::expect
    - PrivateDecryptingKey::generate
    - Option::clone
    linkageType: ''
    returnType: void
    signature: fn clone_then_drop()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PrivateDecryptingKey::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1186,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1186,1
    - Dst: Option::public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1187,1
    - Dst: OaepPrivateDecryptingKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1192,1
    - Dst: Option::clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1192,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1192,1
    - Dst: OaepPublicEncryptingKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1193,1
    - Dst: '&[u8]::clone'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1193,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1185
    functionDepth: 4
    functionLinenumber: 1185
    functionLinenumberEnd: 1202
    functionName: encrypt_decrypt_key_size
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::clone'
    - OaepPrivateDecryptingKey::new
    - Option::public_key
    - OaepPublicEncryptingKey::new
    - Result::expect
    - PrivateDecryptingKey::generate
    - Option::clone
    linkageType: ''
    returnType: void
    signature: fn encrypt_decrypt_key_size()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PrivateDecryptingKey::from_pkcs8
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1209,1
    - Dst: Result::expect_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1209,1
    - Dst: PublicEncryptingKey::from_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1210,1
    - Dst: Result::expect_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1214
      start: 1205
    functionDepth: 12
    functionLinenumber: 1205
    functionLinenumberEnd: 1214
    functionName: too_small_encrypt_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs
    functionUses: 0
    functionsReached:
    - PrivateDecryptingKey::from_pkcs8
    - PublicEncryptingKey::from_der
    - Result::expect_err
    linkageType: ''
    returnType: void
    signature: fn too_small_encrypt_key()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RsaKeyPair::from_pkcs8
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1220,1
    - Dst: expect_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1217
    functionDepth: 10
    functionLinenumber: 1217
    functionLinenumberEnd: 1223
    functionName: too_small_signing_key_reports_too_small
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs
    functionUses: 0
    functionsReached:
    - RsaKeyPair::from_pkcs8
    - expect_err
    linkageType: ''
    returnType: void
    signature: fn too_small_signing_key_reports_too_small()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PrivateDecryptingKey::from_pkcs8
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1230,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1230,1
    - Dst: RsaKeyPair::from_pkcs8
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1231,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1231,1
    - Dst: PublicEncryptingKey::from_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1232,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1232,1
    - Dst: RsaSubjectPublicKey::from_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1234,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1234,1
    - Dst: public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1236,1
    - Dst: public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1237,1
    - Dst: AsDer::<Pkcs8V1Der>::as_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1240,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1240,1
    - Dst: AsDer::<Pkcs8V1Der>::as_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1242,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1242,1
    - Dst: AsDer::<PublicKeyX509Der>::as_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1244,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1244,1
    - Dst: AsDer::<PublicKeyX509Der>::as_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1246,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1246,1
    - Dst: AsDer::<PublicKeyX509Der>::as_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1248,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1248,1
    - Dst: AsDer::<PublicKeyX509Der>::as_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1250,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1250,1
    - Dst: OaepPrivateDecryptingKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1260,1
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1260,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1260,1
    - Dst: OaepPublicEncryptingKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1262,1
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1262,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1262,1
    - Dst: encrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1267,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1267,1
    - Dst: decrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1272,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1272,1
    - Dst: Pkcs1PrivateDecryptingKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1279,1
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1279,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1279,1
    - Dst: Pkcs1PublicEncryptingKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1281,1
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1281,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1281,1
    - Dst: encrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1286,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1286,1
    - Dst: decrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1291,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 91
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1226
    functionDepth: 10
    functionLinenumber: 1226
    functionLinenumberEnd: 1296
    functionName: min_encrypt_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs
    functionUses: 0
    functionsReached:
    - RsaKeyPair::from_pkcs8
    - Pkcs1PrivateDecryptingKey::new
    - clone
    - PublicEncryptingKey::from_der
    - AsDer::<Pkcs8V1Der>::as_der
    - AsDer::<PublicKeyX509Der>::as_der
    - OaepPrivateDecryptingKey::new
    - public_key
    - RsaSubjectPublicKey::from_der
    - decrypt
    - Pkcs1PublicEncryptingKey::new
    - OaepPublicEncryptingKey::new
    - encrypt
    - PrivateDecryptingKey::from_pkcs8
    - Result::expect
    - expect
    linkageType: ''
    returnType: void
    signature: fn min_encrypt_key()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PrivateDecryptingKey::from_pkcs8
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1303,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1303,1
    - Dst: PublicEncryptingKey::from_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1304,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1304,1
    - Dst: public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1306,1
    - Dst: AsDer::<Pkcs8V1Der>::as_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1309,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1309,1
    - Dst: AsDer::<PublicKeyX509Der>::as_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1310,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1310,1
    - Dst: OaepPrivateDecryptingKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1316,1
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1316,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1316,1
    - Dst: OaepPublicEncryptingKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1318,1
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1318,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1318,1
    - Dst: encrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1323,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1323,1
    - Dst: decrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1328,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1328,1
    - Dst: Pkcs1PrivateDecryptingKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1335,1
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1335,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1335,1
    - Dst: Pkcs1PublicEncryptingKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1337,1
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1337,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1337,1
    - Dst: encrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1342,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1342,1
    - Dst: decrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1347,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1352
      start: 1299
    functionDepth: 12
    functionLinenumber: 1299
    functionLinenumberEnd: 1352
    functionName: max_encrypt_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs
    functionUses: 0
    functionsReached:
    - Pkcs1PrivateDecryptingKey::new
    - clone
    - PublicEncryptingKey::from_der
    - AsDer::<Pkcs8V1Der>::as_der
    - AsDer::<PublicKeyX509Der>::as_der
    - OaepPrivateDecryptingKey::new
    - public_key
    - expect
    - decrypt
    - Pkcs1PublicEncryptingKey::new
    - encrypt
    - PrivateDecryptingKey::from_pkcs8
    - Result::expect
    - OaepPublicEncryptingKey::new
    linkageType: ''
    returnType: void
    signature: fn max_encrypt_key()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PublicEncryptingKey::from_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1358,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1358,1
    - Dst: OaepPublicEncryptingKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1361,1
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1361,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1361,1
    - Dst: encrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1366,1
    - Dst: expect_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1366,1
    - Dst: Pkcs1PublicEncryptingKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1371,1
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1371,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1371,1
    - Dst: encrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1376,1
    - Dst: expect_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1355
    functionDepth: 12
    functionLinenumber: 1355
    functionLinenumberEnd: 1379
    functionName: errors_on_larger_than_max_plaintext
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs
    functionUses: 0
    functionsReached:
    - clone
    - PublicEncryptingKey::from_der
    - Pkcs1PublicEncryptingKey::new
    - encrypt
    - Result::expect
    - OaepPublicEncryptingKey::new
    - expect_err
    linkageType: ''
    returnType: void
    signature: fn errors_on_larger_than_max_plaintext()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PrivateDecryptingKey::from_pkcs8
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1384,1
    - Dst: Result::expect_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1387
      start: 1382
    functionDepth: 2
    functionLinenumber: 1382
    functionLinenumberEnd: 1387
    functionName: too_big_encrypt_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs
    functionUses: 0
    functionsReached:
    - PrivateDecryptingKey::from_pkcs8
    - Result::expect_err
    linkageType: ''
    returnType: void
    signature: fn too_big_encrypt_key()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RsaKeyPair::from_pkcs8
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1393,1
    - Dst: expect_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1390
    functionDepth: 10
    functionLinenumber: 1390
    functionLinenumberEnd: 1396
    functionName: too_large_signing_key_reports_too_large
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs
    functionUses: 0
    functionsReached:
    - RsaKeyPair::from_pkcs8
    - expect_err
    linkageType: ''
    returnType: void
    signature: fn too_large_signing_key_reports_too_large()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PrivateDecryptingKey::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:6,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:6,1
    - Dst: public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:7,1
    - Dst: Pkcs1PrivateDecryptingKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:10,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:10,1
    - Dst: Pkcs1PublicEncryptingKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:13,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:13,1
    - Dst: bool::encrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:30,1
    - Dst: SpdmResult::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:30,1
    - Dst: decrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:36,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1398
    functionDepth: 8
    functionLinenumber: 1398
    functionLinenumberEnd: 1441
    functionName: round_trip_pkcs1_encryption
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs
    functionUses: 0
    functionsReached:
    - Pkcs1PrivateDecryptingKey::new
    - bool::encrypt
    - SpdmResult::expect
    - public_key
    - decrypt
    - Pkcs1PublicEncryptingKey::new
    - Result::expect
    - PrivateDecryptingKey::generate
    - expect
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PrivateDecryptingKey::from_pkcs8
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1481,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1481,1
    - Dst: Pkcs1PrivateDecryptingKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1482,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1482,1
    - Dst: Option::decrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1486,1
    - Dst: SpdmResult::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs:1486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1456
    functionDepth: 2
    functionLinenumber: 1456
    functionLinenumberEnd: 1491
    functionName: rsa2048_pkcs1_openssl_kat
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs
    functionUses: 0
    functionsReached:
    - Pkcs1PrivateDecryptingKey::new
    - Option::decrypt
    - SpdmResult::expect
    - PrivateDecryptingKey::from_pkcs8
    - Result::expect
    linkageType: ''
    returnType: void
    signature: fn rsa2048_pkcs1_openssl_kat()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_openssh_test.rs:11,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_openssh_test.rs:11,1
    - Dst: Result::try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_openssh_test.rs:11,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_openssh_test.rs:11,1
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_openssh_test.rs:12,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_openssh_test.rs:12,1
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_openssh_test.rs:14,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_openssh_test.rs:14,1
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_openssh_test.rs:15,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_openssh_test.rs:15,1
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_openssh_test.rs:18,1
    - Dst: aead::chacha20_poly1305_openssh::SealingKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_openssh_test.rs:20,1
    - Dst: bool::seal_in_place
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_openssh_test.rs:21,1
    - Dst: aead::chacha20_poly1305_openssh::OpeningKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_openssh_test.rs:24,1
    - Dst: Self::open_in_place
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_openssh_test.rs:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 9
    functionDepth: 10
    functionLinenumber: 9
    functionLinenumberEnd: 32
    functionName: test_openssh
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_openssh_test.rs
    functionUses: 0
    functionsReached:
    - Self::open_in_place
    - clone
    - aead::chacha20_poly1305_openssh::SealingKey::new
    - Result::try_into
    - Result::unwrap
    - bool::seal_in_place
    - aws_lc_rs::test::from_hex
    - aead::chacha20_poly1305_openssh::OpeningKey::new
    linkageType: ''
    returnType: void
    signature: fn test_openssh()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NotANonce
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - Vec<u8>
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: NotANonce::from
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs
    functionUses: 1
    functionsReached:
    - NotANonce
    linkageType: ''
    returnType: Self
    signature: 'fn from(value: Vec<u8>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:26,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:27,1
    - Dst: Nonce::assume_unique_for_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: NotANonce::advance
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs
    functionUses: 0
    functionsReached:
    - Nonce::assume_unique_for_key
    - Ok
    - copy_from_slice
    linkageType: ''
    returnType: Result
    signature: fn advance(&mut self) -> Result<Nonce, Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:33,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:34,1
    - Dst: String::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:35,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - algorithm
    - key
    - nonce
    - aad
    - in_out
    argTypes:
    - AeadAlgorithm
    - '&[u8]'
    - '&[u8]'
    - '&str'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 38
      start: 24
    functionDepth: 2
    functionLinenumber: 24
    functionLinenumberEnd: 38
    functionName: AeadConfig::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs
    functionUses: 5
    functionsReached:
    - Vec::from
    - String::from
    linkageType: ''
    returnType: AeadConfig
    signature: 'pub fn new(algorithm: AeadAlgorithm,key: &[u8],nonce: &[u8],aad: &str,in_out:
      &[u8],) -> AeadConfig'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnboundKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:49,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 15
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: AeadConfig::key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - UnboundKey::new
    linkageType: ''
    returnType: UnboundKey
    signature: fn key(&self) -> UnboundKey
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Aad::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:52,1
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: AeadConfig::aad
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs
    functionUses: 0
    functionsReached:
    - Aad::from
    - clone
    linkageType: ''
    returnType: Aad
    signature: fn aad(&self) -> Aad<String>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NotANonce::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:55,1
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: AeadConfig::nonce
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs
    functionUses: 0
    functionsReached:
    - clone
    - NotANonce::from
    linkageType: ''
    returnType: impl NonceSequence
    signature: fn nonce(&self) -> impl NonceSequence
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:127,1
    - Dst: aws_lc_rs::test_file
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:128,1
    - Dst: AeadConfig::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:130,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:132,1
    - Dst: Vec::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:132,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:133,1
    - Dst: Vec::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:133,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:134,1
    - Dst: String::as_str
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:134,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:135,1
    - Dst: Vec::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:135,1
    - Dst: test_aead_separate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:137,1
    - Dst: test_aead_append
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:138,1
    - Dst: test_aead_open
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:139,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 143
      start: 126
    functionDepth: 12
    functionLinenumber: 126
    functionLinenumberEnd: 143
    functionName: test_aes_128_gcm
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs
    functionUses: 0
    functionsReached:
    - test_aead_open
    - Option::consume_string
    - test_aead_separate
    - test_aead_append
    - String::as_str
    - aws_lc_rs::test_file
    - Vec::as_slice
    - Option::consume_bytes
    - AeadConfig::new
    - test::run
    - Ok
    linkageType: ''
    returnType: void
    signature: 'fn test_aes_128_gcm(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:146,1
    - Dst: aws_lc_rs::test_file
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:147,1
    - Dst: AeadConfig::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:149,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:151,1
    - Dst: Vec::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:151,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:152,1
    - Dst: Vec::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:152,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:153,1
    - Dst: String::as_str
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:153,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:154,1
    - Dst: Vec::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:154,1
    - Dst: test_aead_separate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:156,1
    - Dst: test_aead_append
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:157,1
    - Dst: test_aead_open
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:158,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 162
      start: 145
    functionDepth: 12
    functionLinenumber: 145
    functionLinenumberEnd: 162
    functionName: test_aes_256_gcm
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs
    functionUses: 0
    functionsReached:
    - test_aead_open
    - Option::consume_string
    - test_aead_separate
    - test_aead_append
    - String::as_str
    - aws_lc_rs::test_file
    - Vec::as_slice
    - Option::consume_bytes
    - AeadConfig::new
    - test::run
    - Ok
    linkageType: ''
    returnType: void
    signature: 'fn test_aes_256_gcm(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AeadConfig::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:88,1
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:90,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:90,1
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:91,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:91,1
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:94,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:94,1
    - Dst: test_aead_separate_in_place
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:96,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:96,1
    - Dst: test_aead_append_within
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:97,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 87
    functionDepth: 14
    functionLinenumber: 87
    functionLinenumberEnd: 98
    functionName: test_aes_256_gcm_siv
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs
    functionUses: 0
    functionsReached:
    - test_aead_append_within
    - test_aead_separate_in_place
    - Result::unwrap
    - aws_lc_rs::test::from_hex
    - AeadConfig::new
    linkageType: ''
    returnType: void
    signature: fn test_aes_256_gcm_siv()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AeadConfig::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:102,1
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:104,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:104,1
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:105,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:105,1
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:108,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:108,1
    - Dst: test_aead_separate_in_place
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:110,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:110,1
    - Dst: test_aead_append_within
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:111,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 101
    functionDepth: 14
    functionLinenumber: 101
    functionLinenumberEnd: 112
    functionName: test_aes_128_gcm_siv
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs
    functionUses: 0
    functionsReached:
    - test_aead_append_within
    - test_aead_separate_in_place
    - Result::unwrap
    - aws_lc_rs::test::from_hex
    - AeadConfig::new
    linkageType: ''
    returnType: void
    signature: fn test_aes_128_gcm_siv()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AeadConfig::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:116,1
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:118,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:118,1
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:119,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:119,1
    - Dst: aws_lc_rs::test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:122,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:122,1
    - Dst: test_aead_append_within
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:123,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:123,1
    - Dst: BytesMutStrubbed::clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:127,1
    - Dst: test_aead_separate_in_place
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:128,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 115
    functionDepth: 14
    functionLinenumber: 115
    functionLinenumberEnd: 130
    functionName: test_chacha20_poly1305
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs
    functionUses: 0
    functionsReached:
    - test_aead_append_within
    - test_aead_separate_in_place
    - Result::unwrap
    - BytesMutStrubbed::clone
    - aws_lc_rs::test::from_hex
    - AeadConfig::new
    linkageType: ''
    returnType: void
    signature: fn test_chacha20_poly1305()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SealingKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:136,1
    - Dst: (SpdmConfigInfo, SpdmProvisionInfo)::key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:136,1
    - Dst: (SpdmConfigInfo, SpdmProvisionInfo)::nonce
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:136,1
    - Dst: OpeningKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:137,1
    - Dst: (SpdmConfigInfo, SpdmProvisionInfo)::key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:137,1
    - Dst: (SpdmConfigInfo, SpdmProvisionInfo)::nonce
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:137,1
    - Dst: '&mut Vec<u8>::clone'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:142,1
    - Dst: Self::seal_in_place_separate_tag
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:144,1
    - Dst: (SpdmConfigInfo, SpdmProvisionInfo)::aad
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:145,1
    - Dst: '&mut Vec<u8>::as_mut_slice'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:145,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:144,1
    - Dst: Result::to_string
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:146,1
    - Dst: '&mut Vec<u8>::clone'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:148,1
    - Dst: is_empty
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:150,1
    - Dst: '&mut Vec<u8>::extend'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:155,1
    - Dst: Tag::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:155,1
    - Dst: Self::open_in_place
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:156,1
    - Dst: (SpdmConfigInfo, SpdmProvisionInfo)::aad
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:157,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:156,1
    - Dst: Result::to_string
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:158,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:164,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 56
    argCount: 2
    argNames:
    - config
    - in_out
    argTypes:
    - '&AeadConfig'
    - '&mut Vec<u8>'
    constantsTouched: []
    func_position:
      end: 165
      start: 132
    functionDepth: 13
    functionLinenumber: 132
    functionLinenumberEnd: 165
    functionName: test_aead_separate_in_place
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs
    functionUses: 3
    functionsReached:
    - SealingKey::new
    - Self::open_in_place
    - is_empty
    - Tag::as_ref
    - Ok
    - '&mut Vec<u8>::extend'
    - (SpdmConfigInfo, SpdmProvisionInfo)::key
    - OpeningKey::new
    - Result::to_string
    - '&mut Vec<u8>::clone'
    - (SpdmConfigInfo, SpdmProvisionInfo)::nonce
    - Result::map_err
    - Vec::from
    - (SpdmConfigInfo, SpdmProvisionInfo)::aad
    - Self::seal_in_place_separate_tag
    - '&mut Vec<u8>::as_mut_slice'
    linkageType: ''
    returnType: Result
    signature: 'fn test_aead_separate_in_place(config: &AeadConfig,in_out: &mut Vec<u8>,)
      -> Result<Vec<u8>, String>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SealingKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:168,1
    - Dst: (SpdmConfigInfo, SpdmProvisionInfo)::key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:168,1
    - Dst: (SpdmConfigInfo, SpdmProvisionInfo)::nonce
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:168,1
    - Dst: OpeningKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:169,1
    - Dst: (SpdmConfigInfo, SpdmProvisionInfo)::key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:169,1
    - Dst: (SpdmConfigInfo, SpdmProvisionInfo)::nonce
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:169,1
    - Dst: '&[u8]::to_owned'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:174,1
    - Dst: '&[u8]::to_vec'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:176,1
    - Dst: Self::seal_in_place
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:178,1
    - Dst: (SpdmConfigInfo, SpdmProvisionInfo)::aad
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:179,1
    - Dst: map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:178,1
    - Dst: Result::to_string
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:180,1
    - Dst: VecDeque::split_at_mut
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:182,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:182,1
    - Dst: is_empty
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:184,1
    - Dst: Self::open_within
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:190,1
    - Dst: (SpdmConfigInfo, SpdmProvisionInfo)::aad
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:191,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:190,1
    - Dst: Result::to_string
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:192,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:198,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs:198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 57
    argCount: 2
    argNames:
    - config
    - in_out
    argTypes:
    - '&AeadConfig'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 199
      start: 167
    functionDepth: 13
    functionLinenumber: 167
    functionLinenumberEnd: 199
    functionName: test_aead_append_within
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs
    functionUses: 3
    functionsReached:
    - '&[u8]::to_vec'
    - SealingKey::new
    - '&[u8]::to_owned'
    - Self::open_within
    - is_empty
    - map_err
    - (SpdmConfigInfo, SpdmProvisionInfo)::key
    - OpeningKey::new
    - Result::to_string
    - Result::map_err
    - (SpdmConfigInfo, SpdmProvisionInfo)::nonce
    - len
    - VecDeque::split_at_mut
    - Vec::from
    - (SpdmConfigInfo, SpdmProvisionInfo)::aad
    - Self::seal_in_place
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn test_aead_append_within(config: &AeadConfig, in_out: &[u8]) ->
      Result<Vec<u8>, String>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::compile_time_assert_send::<UnparsedPublicKey<&[u8]>>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:13,1
    - Dst: test::compile_time_assert_sync::<UnparsedPublicKey<&[u8]>>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:14,1
    - Dst: test::compile_time_assert_send::<UnparsedPublicKey<Vec<u8>>>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:15,1
    - Dst: test::compile_time_assert_sync::<UnparsedPublicKey<Vec<u8>>>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:16,1
    - Dst: test::compile_time_assert_clone::<UnparsedPublicKey<&[u8]>>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:17,1
    - Dst: test::compile_time_assert_clone::<UnparsedPublicKey<Vec<u8>>>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:18,1
    - Dst: test::compile_time_assert_send::<ParsedPublicKey>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:19,1
    - Dst: test::compile_time_assert_sync::<ParsedPublicKey>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:20,1
    - Dst: test::compile_time_assert_clone::<ParsedPublicKey>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 22
    functionName: test_types
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs
    functionUses: 0
    functionsReached:
    - test::compile_time_assert_send::<UnparsedPublicKey<Vec<u8>>>
    - test::compile_time_assert_sync::<UnparsedPublicKey<Vec<u8>>>
    - test::compile_time_assert_clone::<UnparsedPublicKey<&[u8]>>
    - test::compile_time_assert_sync::<UnparsedPublicKey<&[u8]>>
    - test::compile_time_assert_clone::<ParsedPublicKey>
    - test::compile_time_assert_clone::<UnparsedPublicKey<Vec<u8>>>
    - test::compile_time_assert_sync::<ParsedPublicKey>
    - test::compile_time_assert_send::<UnparsedPublicKey<&[u8]>>
    - test::compile_time_assert_send::<ParsedPublicKey>
    linkageType: ''
    returnType: void
    signature: fn test_types()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: indicator::get_status
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/fips.rs:8,1
    - Dst: FipsServiceStatus::Approved
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/fips.rs:10,1
    - Dst: FipsServiceStatus::NonApproved
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/fips.rs:12,1
    - Dst: FipsServiceStatus::Unset
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/fips.rs:15,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17
      start: 7
    functionDepth: 9
    functionLinenumber: 7
    functionLinenumberEnd: 17
    functionName: get_fips_service_status
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/fips.rs
    functionUses: 1
    functionsReached:
    - FipsServiceStatus::Approved
    - FipsServiceStatus::Unset
    - indicator::get_status
    - FipsServiceStatus::NonApproved
    linkageType: ''
    returnType: FipsServiceStatus
    signature: pub(crate) fn get_fips_service_status() -> FipsServiceStatus<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: indicator::set_unapproved
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/fips.rs:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 5
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: set_fips_service_status_unapproved
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/fips.rs
    functionUses: 2
    functionsReached:
    - indicator::set_unapproved
    linkageType: ''
    returnType: void
    signature: pub(crate) fn set_fips_service_status_unapproved()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: indicator::clear
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/fips.rs:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 5
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: clear_fips_service_status
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/fips.rs
    functionUses: 1
    functionsReached:
    - indicator::clear
    linkageType: ''
    returnType: void
    signature: pub(crate) fn clear_fips_service_status()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: with
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/fips.rs:43,1
    - Dst: Cell::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/fips.rs:44,1
    - Dst: SimpleLogger::swap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/fips.rs:45,1
    - Dst: Self::take
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/fips.rs:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 8
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: indicator::get_status
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/fips.rs
    functionUses: 1
    functionsReached:
    - with
    - Self::take
    - SimpleLogger::swap
    - Cell::new
    linkageType: ''
    returnType: Option
    signature: pub fn get_status() -> Option<bool>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: with
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/fips.rs:51,1
    - Dst: SimpleLogger::set
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/fips.rs:51,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/fips.rs:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 4
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: indicator::set_approved
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/fips.rs
    functionUses: 1
    functionsReached:
    - with
    - SimpleLogger::set
    - Some
    linkageType: ''
    returnType: void
    signature: pub fn set_approved()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: with
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/fips.rs:55,1
    - Dst: SimpleLogger::set
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/fips.rs:55,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/fips.rs:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 4
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: indicator::set_unapproved
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/fips.rs
    functionUses: 2
    functionsReached:
    - with
    - SimpleLogger::set
    - Some
    linkageType: ''
    returnType: void
    signature: pub fn set_unapproved()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: with
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/fips.rs:59,1
    - Dst: SimpleLogger::set
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/fips.rs:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 4
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: indicator::clear
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/fips.rs
    functionUses: 1
    functionsReached:
    - with
    - SimpleLogger::set
    linkageType: ''
    returnType: void
    signature: pub fn clear()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc::FIPS_service_indicator_before_call
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/fips.rs:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: service_indicator_before_call
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/fips.rs
    functionUses: 2
    functionsReached:
    - aws_lc::FIPS_service_indicator_before_call
    linkageType: ''
    returnType: u64
    signature: pub(crate) fn service_indicator_before_call() -> u64
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc::FIPS_service_indicator_after_call
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/fips.rs:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: service_indicator_after_call
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/fips.rs
    functionUses: 2
    functionsReached:
    - aws_lc::FIPS_service_indicator_after_call
    linkageType: ''
    returnType: u64
    signature: pub(crate) fn service_indicator_after_call() -> u64
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FipsServiceStatus::Approved
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/fips.rs:103,1
    - Dst: op
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/fips.rs:103,1
    - Dst: FipsServiceStatus::NonApproved
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/fips.rs:104,1
    - Dst: op
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/fips.rs:104,1
    - Dst: FipsServiceStatus::Unset
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/fips.rs:105,1
    - Dst: op
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/fips.rs:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - op
    argTypes:
    - F
    constantsTouched: []
    func_position:
      end: 107
      start: 98
    functionDepth: 7
    functionLinenumber: 98
    functionLinenumberEnd: 107
    functionName: FipsServiceStatus::map
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/fips.rs
    functionUses: 1
    functionsReached:
    - FipsServiceStatus::Approved
    - op
    - FipsServiceStatus::Unset
    - FipsServiceStatus::NonApproved
    linkageType: ''
    returnType: FipsServiceStatus
    signature: 'pub fn map<S, F>(self, op: F) -> FipsServiceStatus<S>whereF: FnOnce(R)
      -> S,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: service_indicator_before_call
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/fips.rs:5,1
    - Dst: service_indicator_after_call
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/fips.rs:7,1
    - Dst: crate::fips::indicator::set_unapproved
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/fips.rs:9,1
    - Dst: crate::fips::indicator::set_approved
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/fips.rs:12,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 131
    functionName: indicator_check
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/fips.rs
    functionUses: 36
    functionsReached:
    - service_indicator_after_call
    - crate::fips::indicator::set_unapproved
    - service_indicator_before_call
    - crate::fips::indicator::set_approved
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear_fips_service_status
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/fips.rs:4,1
    - Dst: get_fips_service_status
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/fips.rs:8,1
    - Dst: FipsServiceStatus::map
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/fips.rs:8,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 137
    functionDepth: 10
    functionLinenumber: 137
    functionLinenumberEnd: 147
    functionName: check_fips_service_status
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/fips.rs
    functionUses: 0
    functionsReached:
    - FipsServiceStatus::map
    - get_fips_service_status
    - clear_fips_service_status
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 165
    functionName: assert_fips_status_indicator
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/fips.rs
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 191
    functionName: tests::test_service_status
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/fips.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_service_status()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::core::fmt::Debug::fmt
      Src: /src/spdm-rs/external/ring/src/debug.rs:4,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 25
    functionName: derive_debug_via_id
    functionSourceFile: /src/spdm-rs/external/ring/src/debug.rs
    functionUses: 0
    functionsReached:
    - ::core::fmt::Debug::fmt
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::debug_struct
      Src: /src/spdm-rs/external/ring/src/debug.rs:4,1
    - Dst: field
      Src: /src/spdm-rs/external/ring/src/debug.rs:4,1
    - Dst: finish
      Src: /src/spdm-rs/external/ring/src/debug.rs:4,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 27
    functionDepth: 11
    functionLinenumber: 27
    functionLinenumberEnd: 41
    functionName: derive_debug_via_field
    functionSourceFile: /src/spdm-rs/external/ring/src/debug.rs
    functionUses: 0
    functionsReached:
    - SpdmCertChainBuffer::debug_struct
    - finish
    - field
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crate::debug::write_hex_tuple
      Src: /src/spdm-rs/external/ring/src/debug.rs:4,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: derive_debug_self_as_ref_hex_bytes
    functionSourceFile: /src/spdm-rs/external/ring/src/debug.rs
    functionUses: 0
    functionsReached:
    - crate::debug::write_hex_tuple
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/debug.rs:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - fmt
    - bytes
    argTypes:
    - '&mut core::fmt::Formatter'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: write_hex_bytes
    functionSourceFile: /src/spdm-rs/external/ring/src/debug.rs
    functionUses: 2
    functionsReached:
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn write_hex_bytes(fmt: &mut core::fmt::Formatter,bytes:
      &[u8],) -> Result<(), ::core::fmt::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::key'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:49,1
    - Dst: bool::verify
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - public_key
    - msg
    - signature
    argTypes:
    - '&ParsedPublicKey'
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 11
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: EdDSAParameters::parsed_verify_sig
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::key'
    - bool::verify
    linkageType: ''
    returnType: Result
    signature: 'fn parsed_verify_sig(&self,public_key: &ParsedPublicKey,msg: &[u8],signature:
      &[u8],) -> Result<(), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - _public_key
    - _digest
    - _signature
    argTypes:
    - '&ParsedPublicKey'
    - '&Digest'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: EdDSAParameters::parsed_verify_digest_sig
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs
    functionUses: 0
    functionsReached:
    - Err
    linkageType: ''
    returnType: Result
    signature: 'fn parsed_verify_digest_sig(&self,_public_key: &ParsedPublicKey,_digest:
      &Digest,_signature: &[u8],) -> Result<(), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/verification.rs:43,1
    - Dst: '&[u8]::as_slice_less_safe'
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/verification.rs:45,1
    - Dst: try_into
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/verification.rs:45,1
    - Dst: Result::read_all
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/verification.rs:46,1
    - Dst: read_bytes
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/verification.rs:47,1
    - Dst: as_slice_less_safe
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/verification.rs:47,1
    - Dst: try_into
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/verification.rs:47,1
    - Dst: read_bytes
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/verification.rs:51,1
    - Dst: as_slice_less_safe
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/verification.rs:51,1
    - Dst: try_into
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/verification.rs:51,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/verification.rs:55,1
    - Dst: Scalar::from_bytes_checked
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/verification.rs:58,1
    - Dst: ExtPoint::from_encoded_point_vartime
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/verification.rs:60,1
    - Dst: Vec::invert_vartime
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/verification.rs:61,1
    - Dst: super::eddsa_digest
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/verification.rs:63,1
    - Dst: SpdmResult::as_slice_less_safe
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/verification.rs:63,1
    - Dst: Scalar::from_sha512_digest_reduced
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/verification.rs:64,1
    - Dst: Point::new_at_infinity
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/verification.rs:66,1
    - Dst: x25519_ge_double_scalarmult_vartime
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/verification.rs:67,1
    - Dst: into_encoded_point
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/verification.rs:68,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/verification.rs:70,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/verification.rs:72,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 58
    argCount: 3
    argNames:
    - public_key
    - msg
    - signature
    argTypes:
    - untrusted::Input
    - untrusted::Input
    - untrusted::Input
    constantsTouched: []
    func_position:
      end: 73
      start: 37
    functionDepth: 14
    functionLinenumber: 37
    functionLinenumberEnd: 73
    functionName: EdDSAParameters::verify
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/verification.rs
    functionUses: 0
    functionsReached:
    - Scalar::from_bytes_checked
    - Ok
    - x25519_ge_double_scalarmult_vartime
    - Scalar::from_sha512_digest_reduced
    - read_bytes
    - Result::read_all
    - SpdmResult::as_slice_less_safe
    - cpu::features
    - Err
    - ExtPoint::from_encoded_point_vartime
    - as_slice_less_safe
    - Vec::invert_vartime
    - Point::new_at_infinity
    - into_encoded_point
    - try_into
    - super::eddsa_digest
    - '&[u8]::as_slice_less_safe'
    linkageType: ''
    returnType: Result
    signature: 'fn verify(&self,public_key: untrusted::Input,msg: untrusted::Input,signature:
      untrusted::Input,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_ed25519_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:90,1
    - Dst: Result::verify
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - public_key
    - msg
    - signature
    argTypes:
    - '&[u8]'
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 6
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: EdDSAParameters::verify_sig
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs
    functionUses: 0
    functionsReached:
    - parse_ed25519_public_key
    - Result::verify
    linkageType: ''
    returnType: Result
    signature: 'fn verify_sig(&self,public_key: &[u8],msg: &[u8],signature: &[u8],)
      -> Result<(), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - _public_key
    - _digest
    - _signature
    argTypes:
    - '&[u8]'
    - '&digest::Digest'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 105
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 105
    functionName: EdDSAParameters::verify_digest_sig
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs
    functionUses: 0
    functionsReached:
    - Err
    linkageType: ''
    returnType: Result
    signature: 'fn verify_digest_sig(&self,_public_key: &[u8],_digest: &digest::Digest,_signature:
      &[u8],) -> Result<(), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:110,1
    - Dst: LcPtr::<EVP_PKEY>::parse_raw_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:111,1
    - Dst: LcPtr::<EVP_PKEY>::parse_rfc5280_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - key_bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 116
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 116
    functionName: parse_ed25519_public_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs
    functionUses: 1
    functionsReached:
    - LcPtr::<EVP_PKEY>::parse_rfc5280_public_key
    - LcPtr::<EVP_PKEY>::parse_raw_public_key
    - Option::len
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn parse_ed25519_public_key(key_bytes: &[u8]) -> Result<LcPtr<EVP_PKEY>,
      KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::write_str
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: Ed25519KeyPair::fmt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs
    functionUses: 0
    functionsReached:
    - SpdmCertChainBuffer::write_str
    linkageType: ''
    returnType: Result
    signature: 'fn fmt(&self, f: &mut Formatter<''_>) -> Result<(), fmt::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:150,1
    - Dst: Curve25519SeedBin::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:150,1
    - Dst: to_vec
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 4
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: Seed::as_be_bytes
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs
    functionUses: 0
    functionsReached:
    - Curve25519SeedBin::new
    - to_vec
    - Ok
    linkageType: ''
    returnType: Result
    signature: fn as_be_bytes(&self) -> Result<Curve25519SeedBin<'static>, Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::write_str
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 157
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 157
    functionName: Seed::fmt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs
    functionUses: 0
    functionsReached:
    - SpdmCertChainBuffer::write_str
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut Formatter<''_>) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: PublicKey::as_ref
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/public_key.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: fn as_ref(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::debug_struct
      Src: /src/spdm-rs/external/ring/src/agreement.rs:190,1
    - Dst: field
      Src: /src/spdm-rs/external/ring/src/agreement.rs:190,1
    - Dst: field
      Src: /src/spdm-rs/external/ring/src/agreement.rs:190,1
    - Dst: debug::HexStr
      Src: /src/spdm-rs/external/ring/src/agreement.rs:192,1
    - Dst: PublicKey::as_ref
      Src: /src/spdm-rs/external/ring/src/agreement.rs:192,1
    - Dst: finish
      Src: /src/spdm-rs/external/ring/src/agreement.rs:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 194
      start: 189
    functionDepth: 11
    functionLinenumber: 189
    functionLinenumberEnd: 194
    functionName: PublicKey::fmt
    functionSourceFile: /src/spdm-rs/external/ring/src/agreement.rs
    functionUses: 0
    functionsReached:
    - finish
    - PublicKey::as_ref
    - SpdmCertChainBuffer::debug_struct
    - field
    - debug::HexStr
    linkageType: ''
    returnType: Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter) -> Result<(), core::fmt::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rfc8017::decode_public_key_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:388,1
    - Dst: PublicKey::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:388,1
    - Dst: rfc5280::encode_public_key_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 390
      start: 386
    functionDepth: 10
    functionLinenumber: 386
    functionLinenumberEnd: 390
    functionName: PublicKey::as_der
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs
    functionUses: 0
    functionsReached:
    - rfc5280::encode_public_key_der
    - rfc8017::decode_public_key_der
    - PublicKey::as_ref
    linkageType: ''
    returnType: Result
    signature: fn as_der(&self) -> Result<PublicKeyX509Der<'static>, Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 235
    functionName: Ed25519KeyPair::public_key
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&Self::PublicKey'
    signature: fn public_key(&self) -> &Self::PublicKey
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::bench_function
      Src: /src/spdm-rs/external/ring/bench/agreement.rs:30,1
    - Dst: bench_name
      Src: /src/spdm-rs/external/ring/bench/agreement.rs:30,1
    - Dst: rand::SystemRandom::new
      Src: /src/spdm-rs/external/ring/bench/agreement.rs:31,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/ring/bench/agreement.rs:32,1
    - Dst: EphemeralPrivateKey::generate
      Src: /src/spdm-rs/external/ring/bench/agreement.rs:33,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/bench/agreement.rs:33,1
    - Dst: criterion::black_box
      Src: /src/spdm-rs/external/ring/bench/agreement.rs:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 15
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: generate_key
    functionSourceFile: /src/spdm-rs/external/ring/bench/agreement.rs
    functionUses: 2
    functionsReached:
    - bench_name
    - EphemeralPrivateKey::generate
    - SpdmResult::iter
    - Result::unwrap
    - criterion::black_box
    - bool::bench_function
    - rand::SystemRandom::new
    linkageType: ''
    returnType: void
    signature: 'fn generate_key(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:224,1
    - Dst: Result::as_const
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:227,1
    - Dst: ConstPointer::marshal_raw_public_to_buffer
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:227,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:232,1
    - Dst: Result::clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 239
      start: 223
    functionDepth: 16
    functionLinenumber: 223
    functionLinenumberEnd: 239
    functionName: Ed25519KeyPair::generate
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs
    functionUses: 7
    functionsReached:
    - ConstPointer::marshal_raw_public_to_buffer
    - generate_key
    - Result::as_const
    - Result::clone
    - Ok
    linkageType: ''
    returnType: Result
    signature: pub fn generate() -> Result<Self, Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:52,1
    - Dst: rand::generate
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:53,1
    - Dst: expose
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:53,1
    - Dst: Self::from_seed_
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:54,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:55,1
    - Dst: pkcs8::wrap_key
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:55,1
    - Dst: Option::public_key
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:58,1
    - Dst: '&[u8]::as_ref'
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - rng
    argTypes:
    - '&dyn rand::SecureRandom'
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 14
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: Ed25519KeyPair::generate_pkcs8
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs
    functionUses: 5
    functionsReached:
    - rand::generate
    - Self::from_seed_
    - pkcs8::wrap_key
    - expose
    - cpu::features
    - '&[u8]::as_ref'
    - Option::public_key
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn generate_pkcs8(rng: &dyn rand::SecureRandom,) -> Result<pkcs8::Document,
      error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:278,1
    - Dst: Document::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:278,1
    - Dst: as_const
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:279,1
    - Dst: marshal_rfc5208_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 283
      start: 277
    functionDepth: 6
    functionLinenumber: 277
    functionLinenumberEnd: 283
    functionName: Ed25519KeyPair::to_pkcs8
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs
    functionUses: 0
    functionsReached:
    - marshal_rfc5208_private_key
    - as_const
    - Ok
    - Document::new
    linkageType: ''
    returnType: Result
    signature: pub fn to_pkcs8(&self) -> Result<Document, Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:300,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:301,1
    - Dst: Document::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:301,1
    - Dst: Result::as_const
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:302,1
    - Dst: ConstPointer::marshal_rfc5208_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - _rng
    argTypes:
    - '&dyn SecureRandom'
    constantsTouched: []
    func_position:
      end: 306
      start: 299
    functionDepth: 16
    functionLinenumber: 299
    functionLinenumberEnd: 306
    functionName: Ed25519KeyPair::generate_pkcs8v1
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs
    functionUses: 2
    functionsReached:
    - generate_key
    - Result::as_const
    - ConstPointer::marshal_rfc5208_private_key
    - Ok
    - Document::new
    linkageType: ''
    returnType: Result
    signature: 'pub fn generate_pkcs8v1(_rng: &dyn SecureRandom) -> Result<Document,
      Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:314,1
    - Dst: Document::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:314,1
    - Dst: as_const
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:315,1
    - Dst: marshal_rfc5208_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 319
      start: 313
    functionDepth: 6
    functionLinenumber: 313
    functionLinenumberEnd: 319
    functionName: Ed25519KeyPair::to_pkcs8v1
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs
    functionUses: 0
    functionsReached:
    - marshal_rfc5208_private_key
    - as_const
    - Ok
    - Document::new
    linkageType: ''
    returnType: Result
    signature: pub fn to_pkcs8v1(&self) -> Result<Document, Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::from_seed_unchecked
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:140,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:145,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:146,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:146,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:146,1
    - Dst: error::KeyRejected::invalid_encoding
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:147,1
    - Dst: error::KeyRejected::inconsistent_components
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:149,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:151,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - seed
    - public_key
    argTypes:
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 155
      start: 136
    functionDepth: 15
    functionLinenumber: 136
    functionLinenumberEnd: 155
    functionName: Ed25519KeyPair::from_seed_and_public_key
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs
    functionUses: 2
    functionsReached:
    - '&[u8]::len'
    - Err
    - Self::from_seed_unchecked
    - error::KeyRejected::invalid_encoding
    - len
    - error::KeyRejected::inconsistent_components
    - as_ref
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_seed_and_public_key(seed: &[u8],public_key: &[u8],) ->
      Result<Self, error::KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_into
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:167,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:167,1
    - Dst: error::KeyRejected::invalid_encoding
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:169,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:170,1
    - Dst: Self::from_seed_
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:170,1
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - seed
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 14
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: Ed25519KeyPair::from_seed_unchecked
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs
    functionUses: 1
    functionsReached:
    - Self::from_seed_
    - Result::map_err
    - cpu::features
    - error::KeyRejected::invalid_encoding
    - try_into
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_seed_unchecked(seed: &[u8]) -> Result<Self, error::KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs8::Version::V2Only
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:82,1
    - Dst: unwrap_pkcs8
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:85,1
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:85,1
    - Dst: Self::from_seed_and_public_key
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:86,1
    - Dst: as_slice_less_safe
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:87,1
    - Dst: '&[u8]::unwrap'
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:88,1
    - Dst: Result::as_slice_less_safe
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - pkcs8
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 17
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: Ed25519KeyPair::from_pkcs8
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs
    functionUses: 8
    functionsReached:
    - pkcs8::Version::V2Only
    - '&[u8]::unwrap'
    - untrusted::Input::from
    - as_slice_less_safe
    - Result::as_slice_less_safe
    - Self::from_seed_and_public_key
    - unwrap_pkcs8
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_pkcs8(pkcs8: &[u8]) -> Result<Self, error::KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs8::Version::V1OrV2
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:112,1
    - Dst: unwrap_pkcs8
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:115,1
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:115,1
    - Dst: Self::from_seed_and_public_key
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:117,1
    - Dst: as_slice_less_safe
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:118,1
    - Dst: '&[u8]::as_slice_less_safe'
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:119,1
    - Dst: Self::from_seed_unchecked
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:122,1
    - Dst: as_slice_less_safe
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - pkcs8
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 124
      start: 111
    functionDepth: 17
    functionLinenumber: 111
    functionLinenumberEnd: 124
    functionName: Ed25519KeyPair::from_pkcs8_maybe_unchecked
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs
    functionUses: 1
    functionsReached:
    - pkcs8::Version::V1OrV2
    - Self::from_seed_unchecked
    - untrusted::Input::from
    - as_slice_less_safe
    - Self::from_seed_and_public_key
    - '&[u8]::as_slice_less_safe'
    - unwrap_pkcs8
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_pkcs8_maybe_unchecked(pkcs8: &[u8]) -> Result<Self, error::KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LcPtr::<EVP_PKEY>::parse_rfc5208_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:415,1
    - Dst: Result::as_const
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:417,1
    - Dst: ConstPointer::validate_as_ed25519
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:417,1
    - Dst: Result::as_const
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:420,1
    - Dst: ConstPointer::marshal_raw_public_to_buffer
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:420,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:425,1
    - Dst: Result::clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:428,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - pkcs8
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 432
      start: 414
    functionDepth: 5
    functionLinenumber: 414
    functionLinenumberEnd: 432
    functionName: Ed25519KeyPair::parse_pkcs8
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs
    functionUses: 0
    functionsReached:
    - ConstPointer::marshal_raw_public_to_buffer
    - LcPtr::<EVP_PKEY>::parse_rfc5208_private_key
    - Result::as_const
    - Result::clone
    - ConstPointer::validate_as_ed25519
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn parse_pkcs8(pkcs8: &[u8]) -> Result<Self, KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:191,1
    - Dst: signature::Signature::new
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:192,1
    - Dst: prefixed_extern
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:193,1
    - Dst: '&[u8]::split_at_mut'
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:202,1
    - Dst: '&[u8]::split_at_mut'
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:203,1
    - Dst: digest::Context::new
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:205,1
    - Dst: update
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:206,1
    - Dst: update
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:207,1
    - Dst: finish
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:208,1
    - Dst: Scalar::from_sha512_digest_reduced
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:210,1
    - Dst: ExtPoint::from_scalarmult_base
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:212,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:213,1
    - Dst: into_encoded_point
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:213,1
    - Dst: super::eddsa_digest
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:214,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:214,1
    - Dst: Scalar::from_sha512_digest_reduced
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:215,1
    - Dst: x25519_sc_muladd
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:217,1
    - Dst: try_into
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:218,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 45
    argCount: 1
    argNames:
    - msg
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 227
      start: 190
    functionDepth: 14
    functionLinenumber: 190
    functionLinenumberEnd: 227
    functionName: Ed25519KeyPair::sign
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs
    functionUses: 0
    functionsReached:
    - prefixed_extern
    - finish
    - try_into
    - x25519_sc_muladd
    - '&[u8]::split_at_mut'
    - unwrap
    - Scalar::from_sha512_digest_reduced
    - ExtPoint::from_scalarmult_base
    - cpu::features
    - update
    - digest::Context::new
    - copy_from_slice
    - signature::Signature::new
    - into_encoded_point
    - as_ref
    - super::eddsa_digest
    linkageType: ''
    returnType: signature::Signature
    signature: 'pub fn sign(&self, msg: &[u8]) -> signature::Signature'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:456,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:458,1
    - Dst: Signature::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:458,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - msg
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 462
      start: 455
    functionDepth: 16
    functionLinenumber: 455
    functionLinenumberEnd: 462
    functionName: Ed25519KeyPair::try_sign
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs
    functionUses: 0
    functionsReached:
    - copy_from_slice
    - Signature::new
    - sign
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn try_sign(&self, msg: &[u8]) -> Result<Signature, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:471,1
    - Dst: as_const
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:472,1
    - Dst: marshal_raw_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:472,1
    - Dst: into_boxed_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:472,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 479
      start: 470
    functionDepth: 5
    functionLinenumber: 470
    functionLinenumberEnd: 479
    functionName: Ed25519KeyPair::seed
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs
    functionUses: 0
    functionsReached:
    - into_boxed_slice
    - marshal_raw_private_key
    - as_const
    - Ok
    linkageType: ''
    returnType: Result
    signature: pub fn seed(&self) -> Result<Seed<'static>, Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:502,1
    - Dst: Pkcs8V2Der::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:502,1
    - Dst: as_const
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:503,1
    - Dst: marshal_rfc5208_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 507
      start: 501
    functionDepth: 6
    functionLinenumber: 501
    functionLinenumberEnd: 507
    functionName: Ed25519KeyPair::as_der
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs
    functionUses: 0
    functionsReached:
    - marshal_rfc5208_private_key
    - Pkcs8V2Der::new
    - as_const
    - Ok
    linkageType: ''
    returnType: Result
    signature: fn as_der(&self) -> Result<Pkcs8V2Der<'static>, crate::error::Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ed25519KeyPair::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:521,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:521,1
    - Dst: Option::public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:522,1
    - Dst: Option::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:523,1
    - Dst: UnparsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:524,1
    - Dst: '&[u8]::as_ref'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:524,1
    - Dst: verify
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:525,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:526,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 528
      start: 519
    functionDepth: 17
    functionLinenumber: 519
    functionLinenumberEnd: 528
    functionName: tests::test_generate
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs
    functionUses: 0
    functionsReached:
    - UnparsedPublicKey::new
    - Result::as_ref
    - Ed25519KeyPair::generate
    - unwrap
    - '&[u8]::as_ref'
    - Result::unwrap
    - verify
    - Option::public_key
    - Option::sign
    linkageType: ''
    returnType: void
    signature: fn test_generate()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SystemRandom::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:532,1
    - Dst: Ed25519KeyPair::generate_pkcs8
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:533,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:533,1
    - Dst: Ed25519KeyPair::from_pkcs8
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:534,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:534,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:534,1
    - Dst: Ed25519KeyPair::from_pkcs8_maybe_unchecked
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:540,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:540,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:540,1
    - Dst: Ed25519KeyPair::generate_pkcs8v1
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:547,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:547,1
    - Dst: Ed25519KeyPair::from_pkcs8
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:548,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:548,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:548,1
    - Dst: Ed25519KeyPair::from_pkcs8_maybe_unchecked
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:554,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:554,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:554,1
    - Dst: Result::seed
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:560,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 562
      start: 531
    functionDepth: 15
    functionLinenumber: 531
    functionLinenumberEnd: 562
    functionName: tests::test_generate_pkcs8
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs
    functionUses: 0
    functionsReached:
    - Ed25519KeyPair::generate_pkcs8v1
    - Result::as_ref
    - SystemRandom::new
    - Ed25519KeyPair::generate_pkcs8
    - unwrap
    - Ed25519KeyPair::from_pkcs8_maybe_unchecked
    - Result::unwrap
    - Result::seed
    - Ed25519KeyPair::from_pkcs8
    linkageType: ''
    returnType: void
    signature: fn test_generate_pkcs8()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:170,1
    - Dst: EcdsaKeyPair::from_pkcs8
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:177,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:179,1
    - Dst: Option::public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:186,1
    - Dst: bool::as_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:187,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 169
    functionDepth: 15
    functionLinenumber: 169
    functionLinenumberEnd: 198
    functionName: tests::test_from_pkcs8
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - bool::as_der
    - Result::unwrap
    - Option::public_key
    - from_dirty_hex
    - EcdsaKeyPair::from_pkcs8
    linkageType: ''
    returnType: void
    signature: fn test_from_pkcs8()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ed25519KeyPair::from_pkcs8
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:610,1
    - Dst: hex::decode
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:610,1
    - Dst: der::Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:610,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:610,1
    - Dst: Option::public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:611,1
    - Dst: AsDer::<PublicKeyX509Der>::as_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:612,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs:612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 622
      start: 609
    functionDepth: 18
    functionLinenumber: 609
    functionLinenumberEnd: 622
    functionName: tests::test_public_key_as_der_x509
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs
    functionUses: 0
    functionsReached:
    - hex::decode
    - AsDer::<PublicKeyX509Der>::as_der
    - Result::unwrap
    - Option::public_key
    - der::Result::unwrap
    - Ed25519KeyPair::from_pkcs8
    linkageType: ''
    returnType: void
    signature: fn test_public_key_as_der_x509()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_aes_128_cbc
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:353,1
    - Dst: aws_lc::EVP_aes_128_ctr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:354,1
    - Dst: aws_lc::EVP_aes_128_cfb128
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:355,1
    - Dst: aws_lc::EVP_aes_128_ecb
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:356,1
    - Dst: aws_lc::EVP_aes_192_cbc
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:357,1
    - Dst: aws_lc::EVP_aes_192_ctr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:358,1
    - Dst: EVP_aes_192_cfb128
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:359,1
    - Dst: aws_lc::EVP_aes_192_ecb
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:360,1
    - Dst: aws_lc::EVP_aes_256_cbc
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:361,1
    - Dst: EVP_aes_256_ctr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:362,1
    - Dst: aws_lc::EVP_aes_256_cfb128
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:363,1
    - Dst: aws_lc::EVP_aes_256_ecb
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:364,1
    - Dst: EVP_des_cbc
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:367,1
    - Dst: aws_lc::EVP_des_ecb
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:370,1
    - Dst: aws_lc::EVP_des_ede_cbc
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:374,1
    - Dst: aws_lc::EVP_des_ede
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:378,1
    - Dst: aws_lc::EVP_des_ede3_cbc
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:382,1
    - Dst: aws_lc::EVP_des_ede3_ecb
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:387,1
    - Dst: ConstPointer::new_static
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:402,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:402,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 25
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - '&Algorithm'
    constantsTouched: []
    func_position:
      end: 403
      start: 351
    functionDepth: 5
    functionLinenumber: 351
    functionLinenumberEnd: 403
    functionName: OperatingMode::evp_cipher
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 0
    functionsReached:
    - aws_lc::EVP_aes_192_ecb
    - EVP_aes_256_ctr
    - ConstPointer::new_static
    - aws_lc::EVP_des_ede
    - EVP_des_cbc
    - aws_lc::EVP_aes_128_ecb
    - aws_lc::EVP_aes_256_cfb128
    - aws_lc::EVP_des_ede3_ecb
    - aws_lc::EVP_aes_192_cbc
    - aws_lc::EVP_aes_128_cfb128
    - EVP_aes_128_cbc
    - aws_lc::EVP_aes_256_ecb
    - aws_lc::EVP_des_ede3_cbc
    - aws_lc::EVP_aes_192_ctr
    - aws_lc::EVP_aes_256_cbc
    - Result::unwrap
    - aws_lc::EVP_des_ede_cbc
    - EVP_aes_192_cfb128
    - aws_lc::EVP_des_ecb
    - aws_lc::EVP_aes_128_ctr
    linkageType: ''
    returnType: ConstPointer
    signature: 'fn evp_cipher(&self, algorithm: &Algorithm) -> ConstPointer<''_, EVP_CIPHER>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Iv128
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:6,1
    - Dst: Iv64
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:15,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:26,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:26,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:28,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:28,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:29,1
    - Dst: $name::Iv128
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:48,1
    - Dst: $name::Iv64
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 462
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 462
    functionName: define_cipher_context
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 0
    functionsReached:
    - Iv64
    - Result::as_ref
    - Err
    - Iv128
    - $name::Iv64
    - Ok
    - $name::Iv128
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: Algorithm::id
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Id
    signature: pub fn id(&self) -> Id
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/spdm-rs/external/ring/src/digest.rs:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 512
      start: 510
    functionDepth: 4
    functionLinenumber: 510
    functionLinenumberEnd: 512
    functionName: Algorithm::block_len
    functionSourceFile: /src/spdm-rs/external/ring/src/digest.rs
    functionUses: 6
    functionsReached:
    - into
    linkageType: ''
    returnType: usize
    signature: pub fn block_len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:672,1
    - Dst: EncryptionContext::Iv128
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:672,1
    - Dst: FixedLength::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:672,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:674,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:681,1
    - Dst: EncryptionContext::Iv64
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:681,1
    - Dst: FixedLength::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:681,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:682,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:683,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - mode
    argTypes:
    - OperatingMode
    constantsTouched: []
    func_position:
      end: 686
      start: 664
    functionDepth: 3
    functionLinenumber: 664
    functionLinenumberEnd: 686
    functionName: Algorithm::new_encryption_context
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 0
    functionsReached:
    - FixedLength::new
    - EncryptionContext::Iv128
    - Err
    - EncryptionContext::Iv64
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn new_encryption_context(&self,mode: OperatingMode,) -> Result<EncryptionContext,
      Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - mode
    - input
    argTypes:
    - OperatingMode
    - '&EncryptionContext'
    constantsTouched: []
    func_position:
      end: 709
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 709
    functionName: Algorithm::is_valid_encryption_context
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'fn is_valid_encryption_context(&self, mode: OperatingMode, input:
      &EncryptionContext) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - mode
    - input
    argTypes:
    - OperatingMode
    - '&DecryptionContext'
    constantsTouched: []
    func_position:
      end: 732
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 732
    functionName: Algorithm::is_valid_decryption_context
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'fn is_valid_decryption_context(&self, mode: OperatingMode, input:
      &DecryptionContext) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - mode
    argTypes:
    - OperatingMode
    constantsTouched: []
    func_position:
      end: 756
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 756
    functionName: Algorithm::supports_mode
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'fn supports_mode(&self, mode: OperatingMode) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::debug_struct
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:762,1
    - Dst: field
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:762,1
    - Dst: finish
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 765
      start: 761
    functionDepth: 11
    functionLinenumber: 761
    functionLinenumberEnd: 765
    functionName: UnboundCipherKey::fmt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 0
    functionsReached:
    - SpdmCertChainBuffer::debug_struct
    - finish
    - field
    linkageType: ''
    returnType: Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter) -> Result<(), core::fmt::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:771,1
    - Dst: Option::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:772,1
    - Dst: Option::fill
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:773,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:773,1
    - Dst: Self::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:774,1
    - Dst: Self::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - okm
    argTypes:
    - hkdf::Okm<&'static Algorithm>
    constantsTouched: []
    func_position:
      end: 775
      start: 769
    functionDepth: 5
    functionLinenumber: 769
    functionLinenumberEnd: 775
    functionName: UnboundCipherKey::from
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 1
    functionsReached:
    - Self::unwrap
    - Option::fill
    - unwrap
    - Option::len
    - Self::new
    linkageType: ''
    returnType: Self
    signature: 'fn from(okm: hkdf::Okm<&''static Algorithm>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&''static Algorithm::key_len'
      Src: /src/spdm-rs/external/ring/src/aead/algorithm.rs:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: '&''static Algorithm::len'
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/algorithm.rs
    functionUses: 0
    functionsReached:
    - '&''static Algorithm::key_len'
    linkageType: ''
    returnType: usize
    signature: fn len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:797,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:798,1
    - Dst: Buffer::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:800,1
    - Dst: Option::to_vec
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:800,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:801,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - algorithm
    - key_bytes
    argTypes:
    - '&''static Algorithm'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 805
      start: 796
    functionDepth: 4
    functionLinenumber: 796
    functionLinenumberEnd: 805
    functionName: UnboundCipherKey::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 32
    functionsReached:
    - Err
    - Option::to_vec
    - Option::len
    - Buffer::new
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn new(algorithm: &''static Algorithm, key_bytes: &[u8]) -> Result<Self,
      Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 812
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 812
    functionName: UnboundCipherKey::algorithm
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''static Algorithm'
    signature: pub fn algorithm(&self) -> &'static Algorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: id
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:831,1
    - Dst: SymmetricCipherKey::prepare_des
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:833,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:833,1
    - Dst: SymmetricCipherKey::prepare_des_ede
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:836,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:836,1
    - Dst: SymmetricCipherKey::prepare_des_ede3
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:839,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:839,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:843,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 844
      start: 828
    functionDepth: 5
    functionLinenumber: 828
    functionLinenumberEnd: 844
    functionName: UnboundCipherKey::validate_key_material
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 0
    functionsReached:
    - SymmetricCipherKey::prepare_des_ede
    - id
    - SymmetricCipherKey::prepare_des_ede3
    - as_ref
    - Ok
    - SymmetricCipherKey::prepare_des
    linkageType: ''
    returnType: Result
    signature: fn validate_key_material(&self) -> Result<(), KeyRejected>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: id
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:851,1
    - Dst: SymmetricCipherKey::aes128
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:852,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:852,1
    - Dst: SymmetricCipherKey::aes192
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:853,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:853,1
    - Dst: SymmetricCipherKey::aes256
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:854,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:854,1
    - Dst: SymmetricCipherKey::des
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:857,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:857,1
    - Dst: SymmetricCipherKey::des_ede
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:861,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:861,1
    - Dst: SymmetricCipherKey::des_ede3
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:866,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:866,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 869
      start: 850
    functionDepth: 6
    functionLinenumber: 850
    functionLinenumberEnd: 869
    functionName: UnboundCipherKey::try_into
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 0
    functionsReached:
    - SymmetricCipherKey::aes192
    - id
    - SymmetricCipherKey::des
    - SymmetricCipherKey::aes256
    - SymmetricCipherKey::des_ede
    - SymmetricCipherKey::aes128
    - as_ref
    - SymmetricCipherKey::des_ede3
    linkageType: ''
    returnType: Result
    signature: fn try_into(self) -> Result<SymmetricCipherKey, Self::Error>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key
    argTypes:
    - UnboundCipherKey
    constantsTouched: []
    func_position:
      end: 894
      start: 892
    functionDepth: 1
    functionLinenumber: 892
    functionLinenumberEnd: 894
    functionName: EncryptingKey::ctr
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 5
    functionsReached:
    - Self::new
    linkageType: ''
    returnType: Result
    signature: 'pub fn ctr(key: UnboundCipherKey) -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:909,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key
    argTypes:
    - UnboundCipherKey
    constantsTouched: []
    func_position:
      end: 910
      start: 908
    functionDepth: 1
    functionLinenumber: 908
    functionLinenumberEnd: 910
    functionName: EncryptingKey::cfb128
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 3
    functionsReached:
    - Self::new
    linkageType: ''
    returnType: Result
    signature: 'pub fn cfb128(key: UnboundCipherKey) -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:935,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key
    argTypes:
    - UnboundCipherKey
    constantsTouched: []
    func_position:
      end: 936
      start: 934
    functionDepth: 1
    functionLinenumber: 934
    functionLinenumberEnd: 936
    functionName: EncryptingKey::cbc
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 3
    functionsReached:
    - Self::new
    linkageType: ''
    returnType: Result
    signature: 'pub fn cbc(key: UnboundCipherKey) -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:961,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key
    argTypes:
    - UnboundCipherKey
    constantsTouched: []
    func_position:
      end: 962
      start: 960
    functionDepth: 1
    functionLinenumber: 960
    functionLinenumberEnd: 962
    functionName: EncryptingKey::ecb
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 3
    functionsReached:
    - Self::new
    linkageType: ''
    returnType: Result
    signature: 'pub fn ecb(key: UnboundCipherKey) -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:966,1
    - Dst: supports_mode
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:967,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:968,1
    - Dst: bool::try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:970,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:971,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - key
    - mode
    argTypes:
    - UnboundCipherKey
    - OperatingMode
    constantsTouched: []
    func_position:
      end: 976
      start: 965
    functionDepth: 8
    functionLinenumber: 965
    functionLinenumberEnd: 976
    functionName: EncryptingKey::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 14
    functionsReached:
    - supports_mode
    - bool::try_into
    - Err
    - bool::algorithm
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn new(key: UnboundCipherKey, mode: OperatingMode) -> Result<Self,
      Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 982
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 982
    functionName: EncryptingKey::algorithm
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: '&Algorithm'
    signature: pub fn algorithm(&self) -> &Algorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 988
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 988
    functionName: EncryptingKey::mode
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: OperatingMode
    signature: pub fn mode(&self) -> OperatingMode
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_encryption_context
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1001,1
    - Dst: EncryptingKey::less_safe_encrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1002,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - in_out
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 1003
      start: 1000
    functionDepth: 9
    functionLinenumber: 1000
    functionLinenumberEnd: 1003
    functionName: EncryptingKey::encrypt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 0
    functionsReached:
    - new_encryption_context
    - EncryptingKey::less_safe_encrypt
    linkageType: ''
    returnType: Result
    signature: 'pub fn encrypt(&self, in_out: &mut [u8]) -> Result<DecryptionContext,
      Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EncryptingKey::algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1021,1
    - Dst: '&Algorithm::is_valid_encryption_context'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1021,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1025,1
    - Dst: encrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1027,1
    - Dst: EncryptingKey::algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1027,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - in_out
    - context
    argTypes:
    - '&mut [u8]'
    - EncryptionContext
    constantsTouched: []
    func_position:
      end: 1028
      start: 1016
    functionDepth: 8
    functionLinenumber: 1016
    functionLinenumberEnd: 1028
    functionName: EncryptingKey::less_safe_encrypt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 2
    functionsReached:
    - '&Algorithm::is_valid_encryption_context'
    - EncryptingKey::algorithm
    - Err
    - encrypt
    linkageType: ''
    returnType: Result
    signature: 'pub fn less_safe_encrypt(&self,in_out: &mut [u8],context: EncryptionContext,)
      -> Result<DecryptionContext, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::debug_struct
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1033,1
    - Dst: field
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1033,1
    - Dst: field
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1033,1
    - Dst: finish_non_exhaustive
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1033,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 1037
      start: 1032
    functionDepth: 5
    functionLinenumber: 1032
    functionLinenumberEnd: 1037
    functionName: EncryptingKey::fmt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 0
    functionsReached:
    - finish_non_exhaustive
    - SpdmCertChainBuffer::debug_struct
    - field
    linkageType: ''
    returnType: core::fmt::Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter<''_>) -> core::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key
    argTypes:
    - UnboundCipherKey
    constantsTouched: []
    func_position:
      end: 1062
      start: 1060
    functionDepth: 1
    functionLinenumber: 1060
    functionLinenumberEnd: 1062
    functionName: DecryptingKey::ctr
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 5
    functionsReached:
    - Self::new
    linkageType: ''
    returnType: Result
    signature: 'pub fn ctr(key: UnboundCipherKey) -> Result<DecryptingKey, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key
    argTypes:
    - UnboundCipherKey
    constantsTouched: []
    func_position:
      end: 1078
      start: 1076
    functionDepth: 1
    functionLinenumber: 1076
    functionLinenumberEnd: 1078
    functionName: DecryptingKey::cfb128
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 3
    functionsReached:
    - Self::new
    linkageType: ''
    returnType: Result
    signature: 'pub fn cfb128(key: UnboundCipherKey) -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key
    argTypes:
    - UnboundCipherKey
    constantsTouched: []
    func_position:
      end: 1104
      start: 1102
    functionDepth: 1
    functionLinenumber: 1102
    functionLinenumberEnd: 1104
    functionName: DecryptingKey::cbc
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 0
    functionsReached:
    - Self::new
    linkageType: ''
    returnType: Result
    signature: 'pub fn cbc(key: UnboundCipherKey) -> Result<DecryptingKey, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key
    argTypes:
    - UnboundCipherKey
    constantsTouched: []
    func_position:
      end: 1130
      start: 1128
    functionDepth: 1
    functionLinenumber: 1128
    functionLinenumberEnd: 1130
    functionName: DecryptingKey::ecb
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 1
    functionsReached:
    - Self::new
    linkageType: ''
    returnType: Result
    signature: 'pub fn ecb(key: UnboundCipherKey) -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1134,1
    - Dst: supports_mode
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1135,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1136,1
    - Dst: bool::try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1138,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - key
    - mode
    argTypes:
    - UnboundCipherKey
    - OperatingMode
    constantsTouched: []
    func_position:
      end: 1144
      start: 1133
    functionDepth: 8
    functionLinenumber: 1133
    functionLinenumberEnd: 1144
    functionName: DecryptingKey::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 11
    functionsReached:
    - supports_mode
    - bool::try_into
    - Err
    - bool::algorithm
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn new(key: UnboundCipherKey, mode: OperatingMode) -> Result<Self,
      Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1148
    functionDepth: 0
    functionLinenumber: 1148
    functionLinenumberEnd: 1150
    functionName: DecryptingKey::algorithm
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: '&Algorithm'
    signature: pub fn algorithm(&self) -> &Algorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1156
    functionName: DecryptingKey::mode
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: OperatingMode
    signature: pub fn mode(&self) -> OperatingMode
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - in_out
    - context
    argTypes:
    - '&''in_out mut [u8]'
    - DecryptionContext
    constantsTouched: []
    func_position:
      end: 1173
      start: 1167
    functionDepth: 8
    functionLinenumber: 1167
    functionLinenumberEnd: 1173
    functionName: DecryptingKey::decrypt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 0
    functionsReached:
    - decrypt
    linkageType: ''
    returnType: Result
    signature: 'pub fn decrypt<''in_out>(&self,in_out: &''in_out mut [u8],context:
      DecryptionContext,) -> Result<&''in_out mut [u8], Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::debug_struct
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1178,1
    - Dst: field
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1178,1
    - Dst: field
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1178,1
    - Dst: finish_non_exhaustive
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 1182
      start: 1177
    functionDepth: 5
    functionLinenumber: 1177
    functionLinenumberEnd: 1182
    functionName: DecryptingKey::fmt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 0
    functionsReached:
    - finish_non_exhaustive
    - SpdmCertChainBuffer::debug_struct
    - field
    linkageType: ''
    returnType: core::fmt::Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter<''_>) -> core::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PqdsaKeyPair::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:538,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:538,1
    - Dst: Result::public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 549
      start: 536
    functionDepth: 7
    functionLinenumber: 536
    functionLinenumberEnd: 549
    functionName: tests::test_debug
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - Result::public_key
    - PqdsaKeyPair::generate
    linkageType: ''
    returnType: void
    signature: fn test_debug()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::with_capacity
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1376,1
    - Dst: Vec::try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1378,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1378,1
    - Dst: push
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1379,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1382,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1382,1
    - Dst: EncryptingKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1383,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1383,1
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1385,1
    - Dst: Result::encrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1386,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1386,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1393,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1393,1
    - Dst: DecryptingKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1394,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1394,1
    - Dst: Result::decrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1396,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1396,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 40
    argCount: 4
    argNames:
    - key
    - alg
    - mode
    - n
    argTypes:
    - '&[u8]'
    - '&''static Algorithm'
    - OperatingMode
    - usize
    constantsTouched: []
    func_position:
      end: 1398
      start: 1370
    functionDepth: 6
    functionLinenumber: 1370
    functionLinenumberEnd: 1398
    functionName: tests::helper_test_cipher_n_bytes
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 0
    functionsReached:
    - SpdmResult::unwrap
    - clone
    - Vec::with_capacity
    - Vec::try_into
    - DecryptingKey::new
    - EncryptingKey::new
    - Result::unwrap
    - Result::encrypt
    - Result::decrypt
    - push
    - UnboundCipherKey::new
    linkageType: ''
    returnType: void
    signature: 'fn helper_test_cipher_n_bytes(key: &[u8],alg: &''static Algorithm,mode:
      OperatingMode,n: usize,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1402,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1402,1
    - Dst: helper_test_cipher_n_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1404,1
    - Dst: bool::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1401
    functionDepth: 7
    functionLinenumber: 1401
    functionLinenumberEnd: 1406
    functionName: tests::test_aes_128_ctr
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - bool::as_slice
    - helper_test_cipher_n_bytes
    - from_hex
    linkageType: ''
    returnType: void
    signature: fn test_aes_128_ctr()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1410,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1410,1
    - Dst: helper_test_cipher_n_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1412,1
    - Dst: bool::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1414
      start: 1409
    functionDepth: 7
    functionLinenumber: 1409
    functionLinenumberEnd: 1414
    functionName: tests::test_aes_128_cfb128
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - bool::as_slice
    - helper_test_cipher_n_bytes
    - from_hex
    linkageType: ''
    returnType: void
    signature: fn test_aes_128_cfb128()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1419,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1419,1
    - Dst: helper_test_cipher_n_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1421,1
    - Dst: bool::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1417
    functionDepth: 7
    functionLinenumber: 1417
    functionLinenumberEnd: 1423
    functionName: tests::test_aes_256_cfb128
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - bool::as_slice
    - helper_test_cipher_n_bytes
    - from_hex
    linkageType: ''
    returnType: void
    signature: fn test_aes_256_cfb128()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1428,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1428,1
    - Dst: helper_test_cipher_n_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1430,1
    - Dst: bool::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1432
      start: 1426
    functionDepth: 7
    functionLinenumber: 1426
    functionLinenumberEnd: 1432
    functionName: tests::test_aes_256_ctr
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - bool::as_slice
    - helper_test_cipher_n_bytes
    - from_hex
    linkageType: ''
    returnType: void
    signature: fn test_aes_256_ctr()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:408,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:408,1
    - Dst: helper_test_padded_cipher_n_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:410,1
    - Dst: bool::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 418
      start: 407
    functionDepth: 7
    functionLinenumber: 407
    functionLinenumberEnd: 418
    functionName: tests::test_aes_128_cbc
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - bool::as_slice
    - from_hex
    - helper_test_padded_cipher_n_bytes
    linkageType: ''
    returnType: void
    signature: fn test_aes_128_cbc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:423,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:423,1
    - Dst: helper_test_padded_cipher_n_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:425,1
    - Dst: bool::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 433
      start: 421
    functionDepth: 7
    functionLinenumber: 421
    functionLinenumberEnd: 433
    functionName: tests::test_aes_256_cbc
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - bool::as_slice
    - from_hex
    - helper_test_padded_cipher_n_bytes
    linkageType: ''
    returnType: void
    signature: fn test_aes_256_cbc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1457,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1459
      start: 1456
    functionDepth: 5
    functionLinenumber: 1456
    functionLinenumberEnd: 1459
    functionName: tests::test_aes_128_ecb
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - from_hex
    linkageType: ''
    returnType: void
    signature: fn test_aes_128_ecb()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1659,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1667
      start: 1651
    functionDepth: 5
    functionLinenumber: 1651
    functionLinenumberEnd: 1667
    functionName: tests::test_des_rejects_weak_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - from_hex
    linkageType: ''
    returnType: void
    signature: fn test_des_rejects_weak_key()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1688,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1688,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1696
      start: 1672
    functionDepth: 5
    functionLinenumber: 1672
    functionLinenumberEnd: 1696
    functionName: tests::test_des_rejects_semi_weak_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - from_hex
    linkageType: ''
    returnType: void
    signature: fn test_des_rejects_semi_weak_key()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1704,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1704,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1705,1
    - Dst: Result::and_then
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1705,1
    - Dst: from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1710,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1710,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1711,1
    - Dst: Result::and_then
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1711,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1714
      start: 1701
    functionDepth: 5
    functionLinenumber: 1701
    functionLinenumberEnd: 1714
    functionName: tests::test_des_ede_rejects_k1_equal_k2
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 0
    functionsReached:
    - Result::and_then
    - Result::unwrap
    - from_hex
    - UnboundCipherKey::new
    - expect
    linkageType: ''
    returnType: void
    signature: fn test_des_ede_rejects_k1_equal_k2()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1733,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1733,1
    - Dst: from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1741,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1741,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1749
      start: 1719
    functionDepth: 5
    functionLinenumber: 1719
    functionLinenumberEnd: 1749
    functionName: tests::test_des_ede_rejects_weak_subkey
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - from_hex
    linkageType: ''
    returnType: void
    signature: fn test_des_ede_rejects_weak_subkey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1759,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1759,1
    - Dst: from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1767,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1767,1
    - Dst: from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1775,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1775,1
    - Dst: from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1784,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1784,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1785,1
    - Dst: Result::and_then
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1785,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1788
      start: 1754
    functionDepth: 5
    functionLinenumber: 1754
    functionLinenumberEnd: 1788
    functionName: tests::test_des_ede3_rejects_degenerate_keys
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 0
    functionsReached:
    - Result::and_then
    - Result::unwrap
    - from_hex
    - UnboundCipherKey::new
    - expect
    linkageType: ''
    returnType: void
    signature: fn test_des_ede3_rejects_degenerate_keys()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1816,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1816,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1825
      start: 1793
    functionDepth: 5
    functionLinenumber: 1793
    functionLinenumberEnd: 1825
    functionName: tests::test_des_ede3_rejects_weak_subkey
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - from_hex
    linkageType: ''
    returnType: void
    signature: fn test_des_ede3_rejects_weak_subkey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1857,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1857,1
    - Dst: from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1864,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1864,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1872
      start: 1830
    functionDepth: 5
    functionLinenumber: 1830
    functionLinenumberEnd: 1872
    functionName: tests::test_des_ede_rejects_semi_weak_subkey
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - from_hex
    linkageType: ''
    returnType: void
    signature: fn test_des_ede_rejects_semi_weak_subkey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1902,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1902,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1911
      start: 1877
    functionDepth: 5
    functionLinenumber: 1877
    functionLinenumberEnd: 1911
    functionName: tests::test_des_ede3_rejects_semi_weak_subkey
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - from_hex
    linkageType: ''
    returnType: void
    signature: fn test_des_ede3_rejects_semi_weak_subkey()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1919,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1919,1
    - Dst: from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1945,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1945,1
    - Dst: from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1971,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:1971,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2072
      start: 1916
    functionDepth: 5
    functionLinenumber: 1916
    functionLinenumberEnd: 2072
    functionName: tests::test_des_rejects_unsupported_modes
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - from_hex
    linkageType: ''
    returnType: void
    signature: fn test_des_rejects_unsupported_modes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:2078,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:2078,1
    - Dst: helper_test_cipher_n_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:2081,1
    - Dst: bool::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:2082,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2088
      start: 2077
    functionDepth: 7
    functionLinenumber: 2077
    functionLinenumberEnd: 2088
    functionName: tests::test_des_cbc
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - bool::as_slice
    - helper_test_cipher_n_bytes
    - from_hex
    linkageType: ''
    returnType: void
    signature: fn test_des_cbc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:2094,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:2094,1
    - Dst: helper_test_cipher_n_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:2097,1
    - Dst: bool::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:2098,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2104
      start: 2093
    functionDepth: 7
    functionLinenumber: 2093
    functionLinenumberEnd: 2104
    functionName: tests::test_des_ecb
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - bool::as_slice
    - helper_test_cipher_n_bytes
    - from_hex
    linkageType: ''
    returnType: void
    signature: fn test_des_ecb()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:2110,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:2110,1
    - Dst: helper_test_cipher_n_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:2113,1
    - Dst: bool::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:2114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2120
      start: 2109
    functionDepth: 7
    functionLinenumber: 2109
    functionLinenumberEnd: 2120
    functionName: tests::test_des_ede_cbc
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - bool::as_slice
    - helper_test_cipher_n_bytes
    - from_hex
    linkageType: ''
    returnType: void
    signature: fn test_des_ede_cbc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:2126,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:2126,1
    - Dst: helper_test_cipher_n_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:2129,1
    - Dst: bool::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:2130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2136
      start: 2125
    functionDepth: 7
    functionLinenumber: 2125
    functionLinenumberEnd: 2136
    functionName: tests::test_des_ede_ecb
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - bool::as_slice
    - helper_test_cipher_n_bytes
    - from_hex
    linkageType: ''
    returnType: void
    signature: fn test_des_ede_ecb()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:2142,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:2142,1
    - Dst: helper_test_cipher_n_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:2145,1
    - Dst: bool::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:2146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2152
      start: 2141
    functionDepth: 7
    functionLinenumber: 2141
    functionLinenumberEnd: 2152
    functionName: tests::test_des_ede3_cbc
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - bool::as_slice
    - helper_test_cipher_n_bytes
    - from_hex
    linkageType: ''
    returnType: void
    signature: fn test_des_ede3_cbc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:2158,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:2158,1
    - Dst: helper_test_cipher_n_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:2161,1
    - Dst: bool::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs:2162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2168
      start: 2157
    functionDepth: 7
    functionLinenumber: 2157
    functionLinenumberEnd: 2168
    functionName: tests::test_des_ede3_ecb
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - bool::as_slice
    - helper_test_cipher_n_bytes
    - from_hex
    linkageType: ''
    returnType: void
    signature: fn test_des_ede3_ecb()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/encoding.rs:30,1
    - Dst: Buffer::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/encoding.rs:30,1
    - Dst: Self
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/encoding.rs:34,1
    - Dst: Buffer::take_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/encoding.rs:34,1
    - Dst: SpdmCertChainBuffer::debug_struct
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/encoding.rs:41,1
    - Dst: finish
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/encoding.rs:41,1
    - Dst: Self
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/encoding.rs:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 9
    functionDepth: 13
    functionLinenumber: 9
    functionLinenumberEnd: 62
    functionName: generated_encodings
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/encoding.rs
    functionUses: 0
    functionsReached:
    - finish
    - Self
    - Buffer::take_from_slice
    - SpdmCertChainBuffer::debug_struct
    - Buffer::new
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs:24,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs:25,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs:26,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - nid
    argTypes:
    - c_int
    constantsTouched: []
    func_position:
      end: 29
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 29
    functionName: AlgorithmID::from_nid
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs
    functionUses: 1
    functionsReached:
    - Err
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) const fn from_nid(nid: c_int) -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: AlgorithmID::nid
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: i32
    signature: pub(crate) fn nid(&'static self) -> i32
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: AlgorithmID::priv_key_size_bytes
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub(crate) const fn priv_key_size_bytes(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: AlgorithmID::pub_key_size_bytes
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub(crate) const fn pub_key_size_bytes(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: AlgorithmID::seed_size_bytes
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub(crate) const fn seed_size_bytes(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: AlgorithmID::signature_size_bytes
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub(crate) const fn signature_size_bytes(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::as_const
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs:76,1
    - Dst: ConstPointer::key_size_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs:76,1
    - Dst: pub_key_size_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs:76,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs:77,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs:79,1
    - Dst: KeyRejected::unspecified
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - evp_pkey
    - id
    argTypes:
    - '&LcPtr<EVP_PKEY>'
    - '&''static AlgorithmID'
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 5
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: validate_pqdsa_evp_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs
    functionUses: 4
    functionsReached:
    - Ok
    - Err
    - pub_key_size_bytes
    - Result::as_const
    - KeyRejected::unspecified
    - ConstPointer::key_size_bytes
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn validate_pqdsa_evp_key(evp_pkey: &LcPtr<EVP_PKEY>,id:
      &''static AlgorithmID,) -> Result<(), KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LcPtr::<EVP_PKEY>::parse_rfc5280_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs:87,1
    - Dst: Result::or
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs:87,1
    - Dst: LcPtr::<EVP_PKEY>::parse_raw_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs:88,1
    - Dst: SpdmResult::and_then
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs:87,1
    - Dst: validate_pqdsa_evp_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs:92,1
    - Dst: Result::map
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - key_bytes
    - id
    argTypes:
    - '&[u8]'
    - '&''static AlgorithmID'
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 10
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: parse_pqdsa_public_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs
    functionUses: 1
    functionsReached:
    - LcPtr::<EVP_PKEY>::parse_rfc5280_public_key
    - Result::or
    - validate_pqdsa_evp_key
    - LcPtr::<EVP_PKEY>::parse_raw_public_key
    - SpdmResult::and_then
    - Result::map
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn parse_pqdsa_public_key(key_bytes: &[u8],id: &''static
      AlgorithmID,) -> Result<LcPtr<EVP_PKEY>, KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: evp_key_pqdsa_generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs:111,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs:111,1
    - Dst: test_serialization_for
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs:113,1
    - Dst: AlgorithmID::from_nid
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs:113,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs:113,1
    - Dst: test_signing_for
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs:114,1
    - Dst: AlgorithmID::from_nid
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs:114,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 7
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: tests::test_keygen
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs
    functionUses: 0
    functionsReached:
    - test_signing_for
    - AlgorithmID::from_nid
    - Result::unwrap
    - evp_key_pqdsa_generate
    - test_serialization_for
    linkageType: ''
    returnType: void
    signature: fn test_keygen()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::as_const
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs:119,1
    - Dst: ConstPointer::marshal_rfc5280_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs:119,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs:119,1
    - Dst: LcPtr::<EVP_PKEY>::parse_rfc5280_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs:122,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs:122,1
    - Dst: Result::as_const
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs:124,1
    - Dst: ConstPointer::marshal_rfc5208_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs:124,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs:124,1
    - Dst: LcPtr::<EVP_PKEY>::parse_rfc5208_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs:130,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs:130,1
    - Dst: Result::as_const
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs:132,1
    - Dst: ConstPointer::marshal_raw_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs:132,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs:132,1
    - Dst: LcPtr::<EVP_PKEY>::parse_raw_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs:136,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs:136,1
    - Dst: Result::as_const
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs:142,1
    - Dst: ConstPointer::marshal_raw_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs:142,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs:142,1
    - Dst: LcPtr::<EVP_PKEY>::parse_raw_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs:146,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 48
    argCount: 2
    argNames:
    - evp_pkey
    - id
    argTypes:
    - '&LcPtr<EVP_PKEY>'
    - '&AlgorithmID'
    constantsTouched: []
    func_position:
      end: 150
      start: 118
    functionDepth: 6
    functionLinenumber: 118
    functionLinenumberEnd: 150
    functionName: tests::test_serialization_for
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs
    functionUses: 0
    functionsReached:
    - LcPtr::<EVP_PKEY>::parse_rfc5280_public_key
    - ConstPointer::marshal_raw_private_key
    - LcPtr::<EVP_PKEY>::parse_rfc5208_private_key
    - Result::as_const
    - Result::unwrap
    - LcPtr::<EVP_PKEY>::parse_raw_public_key
    - LcPtr::<EVP_PKEY>::parse_raw_private_key
    - ConstPointer::marshal_rfc5208_private_key
    - ConstPointer::marshal_raw_public_key
    - ConstPointer::marshal_rfc5280_public_key
    linkageType: ''
    returnType: void
    signature: 'fn test_serialization_for(evp_pkey: &LcPtr<EVP_PKEY>, id: &AlgorithmID)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs:154,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs:154,1
    - Dst: Result::verify
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs:160,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - evp_pkey
    - id
    argTypes:
    - '&LcPtr<EVP_PKEY>'
    - '&AlgorithmID'
    constantsTouched: []
    func_position:
      end: 164
      start: 152
    functionDepth: 7
    functionLinenumber: 152
    functionLinenumberEnd: 164
    functionName: tests::test_signing_for
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - Result::sign
    - Option::unwrap
    - Result::verify
    linkageType: ''
    returnType: void
    signature: 'fn test_signing_for(evp_pkey: &LcPtr<EVP_PKEY>, id: &AlgorithmID)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::write_str
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: Algorithm::fmt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs
    functionUses: 0
    functionsReached:
    - SpdmCertChainBuffer::write_str
    linkageType: ''
    returnType: Result
    signature: 'fn fmt(&self, f: &mut Formatter<''_>) -> Result<(), fmt::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::is_empty
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:68,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:69,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:72,1
    - Dst: Self::into_boxed_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:72,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - algorithm
    - secret
    argTypes:
    - '&''static Algorithm'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: Secret::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs
    functionUses: 8
    functionsReached:
    - Self::into_boxed_slice
    - Option::is_empty
    - Err
    - Vec::from
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn new(algorithm: &''static Algorithm, secret: &[u8]) -> Result<Self,
      Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prf
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - label
    - seed
    - output
    argTypes:
    - '&[u8]'
    - '&[u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 3
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: Secret::derive
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs
    functionUses: 0
    functionsReached:
    - prf
    linkageType: ''
    returnType: Result
    signature: 'pub fn derive(self, label: &[u8], seed: &[u8], output: usize) -> Result<Secret,
      Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prf
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:101,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - label
    - seed1
    - seed2
    - len
    argTypes:
    - '&[u8]'
    - '&[u8]'
    - '&[u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: Secret::derive_with_seed_concatination
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs
    functionUses: 0
    functionsReached:
    - prf
    - Some
    linkageType: ''
    returnType: Result
    signature: 'pub fn derive_with_seed_concatination(self,label: &[u8],seed1: &[u8],seed2:
      &[u8],len: usize,) -> Result<Secret, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zeroize
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 3
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: Secret::drop
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs
    functionUses: 0
    functionsReached:
    - zeroize
    linkageType: ''
    returnType: void
    signature: fn drop(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: Secret::as_ref
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: fn as_ref(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/iv.rs:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - FixedLength<L>
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: '[u8; L]::try_from'
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/iv.rs
    functionUses: 0
    functionsReached:
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn try_from(value: FixedLength<L>) -> Result<Self, Self::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::debug_struct
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:136,1
    - Dst: field
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:136,1
    - Dst: finish
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 11
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: Secret::fmt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs
    functionUses: 0
    functionsReached:
    - SpdmCertChainBuffer::debug_struct
    - finish
    - field
    linkageType: ''
    returnType: core::fmt::Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter<''_>) -> core::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:151,1
    - Dst: digest::match_digest_type
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:156,1
    - Dst: Option<&[u8]>::as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:159,1
    - Dst: Option<&[u8]>::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:159,1
    - Dst: core::ptr::null
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:161,1
    - Dst: fips::indicator_check
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:164,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:179,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:182,1
    - Dst: into_boxed_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 6
    argNames:
    - algorithm
    - secret
    - label
    - seed1
    - seed2
    - output
    argTypes:
    - '&''static Algorithm'
    - '&[u8]'
    - '&[u8]'
    - '&[u8]'
    - Option<&[u8]>
    - usize
    constantsTouched: []
    func_position:
      end: 186
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 186
    functionName: prf
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs
    functionUses: 2
    functionsReached:
    - Err
    - Option<&[u8]>::len
    - fips::indicator_check
    - digest::match_digest_type
    - Option<&[u8]>::as_ptr
    - core::ptr::null
    - into_boxed_slice
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn prf(algorithm: &''static Algorithm,secret: &[u8],label: &[u8],seed1:
      &[u8],seed2: Option<&[u8]>,output: usize,) -> Result<Secret, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Secret::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:224,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:224,1
    - Dst: CString::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:227,1
    - Dst: Self::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:227,1
    - Dst: Option::derive_with_seed_concatination
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:229,1
    - Dst: as_bytes_with_nul
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:231,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:234,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:229,1
    - Dst: Vec::<u8>::with_capacity
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:240,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:240,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:240,1
    - Dst: extend
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:241,1
    - Dst: extend
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:242,1
    - Dst: Secret::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:244,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:244,1
    - Dst: Option::derive
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:245,1
    - Dst: as_bytes_with_nul
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:246,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:246,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 250
      start: 198
    functionDepth: 5
    functionLinenumber: 198
    functionLinenumberEnd: 250
    functionName: tests::aws_lc_kat
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs
    functionUses: 0
    functionsReached:
    - CString::new
    - Vec::<u8>::with_capacity
    - Secret::new
    - Option::derive_with_seed_concatination
    - Result::unwrap
    - Option::derive
    - as_bytes_with_nul
    - Self::expect
    - len
    - extend
    - Result::expect
    linkageType: ''
    returnType: void
    signature: fn aws_lc_kat()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Secret::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:280,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:280,1
    - Dst: Option::derive_with_seed_concatination
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:282,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:283,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 287
      start: 253
    functionDepth: 4
    functionLinenumber: 253
    functionLinenumberEnd: 287
    functionName: tests::sha256
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs
    functionUses: 0
    functionsReached:
    - Result::expect
    - Option::derive_with_seed_concatination
    - Secret::new
    - len
    linkageType: ''
    returnType: void
    signature: fn sha256()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Secret::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:317,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:317,1
    - Dst: Option::derive_with_seed_concatination
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:319,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:320,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 324
      start: 290
    functionDepth: 4
    functionLinenumber: 290
    functionLinenumberEnd: 324
    functionName: tests::sha384
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs
    functionUses: 0
    functionsReached:
    - Result::expect
    - Option::derive_with_seed_concatination
    - Secret::new
    - len
    linkageType: ''
    returnType: void
    signature: fn sha384()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Secret::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:354,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:354,1
    - Dst: Option::derive_with_seed_concatination
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:356,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:357,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 361
      start: 327
    functionDepth: 4
    functionLinenumber: 327
    functionLinenumberEnd: 361
    functionName: tests::sha512
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs
    functionUses: 0
    functionsReached:
    - Result::expect
    - Option::derive_with_seed_concatination
    - Secret::new
    - len
    linkageType: ''
    returnType: void
    signature: fn sha512()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Secret::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:365,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:365,1
    - Dst: Option::derive
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:367,1
    - Dst: '&str::as_bytes'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:368,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:367,1
    - Dst: Option::try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:371,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 372
      start: 364
    functionDepth: 4
    functionLinenumber: 364
    functionLinenumberEnd: 372
    functionName: tests::try_into_array
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs
    functionUses: 0
    functionsReached:
    - Option::try_into
    - Secret::new
    - '&str::as_bytes'
    - Option::derive
    - Result::expect
    linkageType: ''
    returnType: void
    signature: fn try_into_array()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - Vec<u8>
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: Document::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pkcs8.rs
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub(crate) fn new(bytes: Vec<u8>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: Document::as_ref
    functionSourceFile: /src/spdm-rs/external/ring/src/pkcs8.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: fn as_ref(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zeroize
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pkcs8.rs:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 3
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: Document::drop
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pkcs8.rs
    functionUses: 0
    functionsReached:
    - zeroize
    linkageType: ''
    returnType: void
    signature: fn drop(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::encode
      Src: /src/spdm-rs/external/ring/src/rsa/padding.rs:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - encoding
    - m_hash
    - m_out
    - mod_bits
    - rng
    argTypes:
    - '&dyn RsaEncoding'
    - digest::Digest
    - '&mut [u8]'
    - bits::BitLength
    - '&dyn rand::SecureRandom'
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: encode
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/padding.rs
    functionUses: 371
    functionsReached:
    - Self::encode
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn encode(encoding: &dyn RsaEncoding,m_hash: digest::Digest,m_out:
      &mut [u8],mod_bits: bits::BitLength,rng: &dyn rand::SecureRandom,) -> Result<(),
      error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hex.rs:27,1
    - Dst: Result::to_ascii_uppercase
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hex.rs:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 3
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: encode_upper
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hex.rs
    functionUses: 0
    functionsReached:
    - Result::to_ascii_uppercase
    - encode
    linkageType: ''
    returnType: String
    signature: 'pub fn encode_upper<T: AsRef<[u8]>>(bytes: T) -> String'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::<u8>::with_capacity
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hex.rs:36,1
    - Dst: '&str::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hex.rs:36,1
    - Dst: '&str::chars'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hex.rs:39,1
    - Dst: W::is_ascii_hexdigit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hex.rs:40,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hex.rs:41,1
    - Dst: '&str::to_string'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hex.rs:41,1
    - Dst: W::to_digit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hex.rs:46,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hex.rs:46,1
    - Dst: Bytes::push
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hex.rs:51,1
    - Dst: '&Self::Output::checked_add'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hex.rs:54,1
    - Dst: Bytes::push
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hex.rs:61,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hex.rs:63,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 51
    argCount: 1
    argNames:
    - hex_str
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 64
      start: 35
    functionDepth: 5
    functionLinenumber: 35
    functionLinenumberEnd: 64
    functionName: decode
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hex.rs
    functionUses: 23
    functionsReached:
    - Vec::<u8>::with_capacity
    - '&str::len'
    - '&str::chars'
    - '&str::to_string'
    - unwrap
    - Err
    - W::is_ascii_hexdigit
    - W::to_digit
    - Bytes::push
    - Ok
    - '&Self::Output::checked_add'
    linkageType: ''
    returnType: Result
    signature: 'pub fn decode(hex_str: &str) -> Result<Vec<u8>, String>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&str::chars'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hex.rs:72,1
    - Dst: filter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hex.rs:72,1
    - Dst: collect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hex.rs:72,1
    - Dst: decode
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hex.rs:74,1
    - Dst: as_str
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hex.rs:74,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hex.rs:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - hex_str
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 13
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: decode_dirty
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hex.rs
    functionUses: 0
    functionsReached:
    - decode
    - filter
    - as_str
    - '&str::chars'
    - Result::unwrap
    - collect
    linkageType: ''
    returnType: Vec
    signature: 'pub fn decode_dirty(hex_str: &str) -> Vec<u8>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::into_pointer
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs:23,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs:24,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - value
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: ManagedPointer::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs
    functionUses: 0
    functionsReached:
    - Err
    - u8::into_pointer
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn new<T: IntoPointer<P>>(value: T) -> Result<Self, ()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::slice::from_raw_parts
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs:31,1
    - Dst: as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - len
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: ManagedPointer::as_slice
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs
    functionUses: 0
    functionsReached:
    - core::slice::from_raw_parts
    - as_const_ptr
    linkageType: ''
    returnType: '&[P::T]'
    signature: 'pub unsafe fn as_slice(&self, len: usize) -> &[P::T]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 9
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: ManagedPointer::drop
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: fn drop(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - '&''a ManagedPointer<P>'
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: ConstPointer::from
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs
    functionUses: 0
    functionsReached:
    - as_const_ptr
    linkageType: ''
    returnType: ConstPointer
    signature: 'fn from(ptr: &''a ManagedPointer<P>) -> ConstPointer<''a, P::T>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ManagedPointer::into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 4
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: ManagedPointer::as_const
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs
    functionUses: 0
    functionsReached:
    - ManagedPointer::into
    linkageType: ''
    returnType: ConstPointer
    signature: pub fn as_const(&self) -> ConstPointer<'_, P::T>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: ManagedPointer::as_const_ptr
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs
    functionUses: 0
    functionsReached:
    - as_const_ptr
    linkageType: ''
    returnType: '*const P::T'
    signature: pub fn as_const_ptr(&self) -> *const P::T
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '*mut c_void::is_null'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs:67,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs:68,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - f
    argTypes:
    - unsafe fn(&'a Self) -> *const C
    constantsTouched: []
    func_position:
      end: 74
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 74
    functionName: ManagedPointer::project_const_lifetime
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs
    functionUses: 0
    functionsReached:
    - Err
    - '*mut c_void::is_null'
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn project_const_lifetime<''a, C>(&''a self,f: unsafe fn(&''a
      Self) -> *const C,) -> Result<ConstPointer<''a, C>, ()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: ManagedPointer::as_mut_ptr
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs
    functionUses: 0
    functionsReached:
    - as_mut_ptr
    linkageType: ''
    returnType: '*mut P::T'
    signature: pub fn as_mut_ptr(&mut self) -> *mut P::T
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_mut
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs:85,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs:85,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 5
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: DetachablePointer::as_mut_ptr
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs
    functionUses: 0
    functionsReached:
    - as_mut
    - as_mut_ptr
    - unwrap
    linkageType: ''
    returnType: '*mut P::T'
    signature: pub fn as_mut_ptr(&mut self) -> *mut P::T
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::into_pointer
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs:98,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs:99,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs:100,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - value
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 105
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 105
    functionName: DetachablePointer::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs
    functionUses: 0
    functionsReached:
    - Err
    - u8::into_pointer
    - Ok
    - Some
    linkageType: ''
    returnType: Result
    signature: 'pub fn new<T: IntoPointer<P>>(value: T) -> Result<Self, ()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: take
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs:109,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 8
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: DetachablePointer::detach
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs
    functionUses: 0
    functionsReached:
    - take
    - unwrap
    linkageType: ''
    returnType: P
    signature: pub fn detach(mut self) -> P
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: take
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - dptr
    argTypes:
    - DetachablePointer<P>
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 8
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: ManagedPointer::from
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs
    functionUses: 0
    functionsReached:
    - take
    linkageType: ''
    returnType: Self
    signature: 'fn from(mut dptr: DetachablePointer<P>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: take
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs:129,1
    - Dst: Option::free
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 8
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: DetachablePointer::drop
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs
    functionUses: 0
    functionsReached:
    - take
    - Option::free
    linkageType: ''
    returnType: void
    signature: fn drop(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '*mut c_void::is_null'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs:143,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs:144,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - '*const T'
    constantsTouched: []
    func_position:
      end: 150
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 150
    functionName: ConstPointer::new_static
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs
    functionUses: 4
    functionsReached:
    - Err
    - '*mut c_void::is_null'
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub unsafe fn new_static(ptr: *const T) -> Result<Self, ()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '*mut c_void::is_null'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs:159,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs:160,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - f
    argTypes:
    - unsafe fn(&'a Self) -> *const C
    constantsTouched: []
    func_position:
      end: 166
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 166
    functionName: ConstPointer::project_const_lifetime
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs
    functionUses: 2
    functionsReached:
    - Err
    - '*mut c_void::is_null'
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn project_const_lifetime<''a, C>(&''a self,f: unsafe fn(&''a
      Self) -> *const C,) -> Result<ConstPointer<''a, C>, ()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: ConstPointer::as_const_ptr
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: '*const T'
    signature: pub fn as_const_ptr(&self) -> *const T
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '*mut T::is_null'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs:188,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 193
    functionName: '*mut T::into_pointer'
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs
    functionUses: 0
    functionsReached:
    - '*mut T::is_null'
    - Some
    linkageType: ''
    returnType: Option
    signature: fn into_pointer(self) -> Option<*mut T>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '*mut c_void::cast'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs:9,1
    - Dst: create_pointer::cast
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs:15,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 220
    functionName: create_pointer
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs
    functionUses: 0
    functionsReached:
    - '*mut c_void::cast'
    - create_pointer::cast
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MaybeUninit::<CBB>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbb.rs:16,1
    - Dst: aws_lc::CBB_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbb.rs:18,1
    - Dst: Result::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbb.rs:18,1
    - Dst: Result::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbb.rs:19,1
    - Dst: Self
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbb.rs:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - initial_capacity
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 22
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 22
    functionName: LcCBB::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbb.rs
    functionUses: 7
    functionsReached:
    - aws_lc::CBB_init
    - Self
    - Result::as_mut_ptr
    - Result::assume_init
    - MaybeUninit::<CBB>::uninit
    linkageType: ''
    returnType: LcCBB
    signature: 'pub(crate) fn new(initial_capacity: usize) -> LcCBB<''static>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: null_mut::<u8>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbb.rs:25,1
    - Dst: aws_lc::CBB_finish
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbb.rs:28,1
    - Dst: LcCBB::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbb.rs:28,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbb.rs:29,1
    - Dst: LcPtr::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbb.rs:32,1
    - Dst: core::slice::from_raw_parts
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbb.rs:33,1
    - Dst: as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbb.rs:33,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbb.rs:35,1
    - Dst: to_vec
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbb.rs:35,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 24
    functionDepth: 4
    functionLinenumber: 24
    functionLinenumberEnd: 36
    functionName: LcCBB::into_vec
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbb.rs
    functionUses: 0
    functionsReached:
    - LcPtr::new
    - aws_lc::CBB_finish
    - Err
    - to_vec
    - null_mut::<u8>
    - as_const_ptr
    - LcCBB::as_mut_ptr
    - core::slice::from_raw_parts
    - Ok
    linkageType: ''
    returnType: Result
    signature: pub(crate) fn into_vec(mut self) -> Result<Vec<u8>, Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MaybeUninit::<CBB>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbb.rs:41,1
    - Dst: aws_lc::CBB_init_fixed
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbb.rs:43,1
    - Dst: Result::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbb.rs:43,1
    - Dst: SpdmCertChainBuffer::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbb.rs:43,1
    - Dst: SpdmCertChainBuffer::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbb.rs:43,1
    - Dst: Result::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbb.rs:44,1
    - Dst: Self
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbb.rs:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - '&''a mut [u8]'
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: LcCBB::new_from_slice
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbb.rs
    functionUses: 3
    functionsReached:
    - Self
    - Result::as_mut_ptr
    - SpdmCertChainBuffer::as_mut_ptr
    - aws_lc::CBB_init_fixed
    - SpdmCertChainBuffer::len
    - Result::assume_init
    - MaybeUninit::<CBB>::uninit
    linkageType: ''
    returnType: LcCBB
    signature: 'pub(crate) fn new_from_slice(buffer: &''a mut [u8]) -> LcCBB<''a>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: null_mut::<u8>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbb.rs:50,1
    - Dst: aws_lc::CBB_finish
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbb.rs:52,1
    - Dst: LcCBB::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbb.rs:52,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbb.rs:53,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbb.rs:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: LcCBB::finish
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbb.rs
    functionUses: 0
    functionsReached:
    - aws_lc::CBB_finish
    - Err
    - null_mut::<u8>
    - LcCBB::as_mut_ptr
    - Ok
    linkageType: ''
    returnType: Result
    signature: pub(crate) fn finish(mut self) -> Result<usize, Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: LcCBB::as_mut_ptr
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbb.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: '*mut CBB'
    signature: pub(crate) fn as_mut_ptr(&mut self) -> *mut CBB
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc::CBB_cleanup
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbb.rs:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: LcCBB::drop
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbb.rs
    functionUses: 0
    functionsReached:
    - aws_lc::CBB_cleanup
    linkageType: ''
    returnType: void
    signature: fn drop(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LcCBB::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbb.rs:79,1
    - Dst: Result::into_vec
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbb.rs:81,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbb.rs:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 5
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: tests::dynamic_vec
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbb.rs
    functionUses: 0
    functionsReached:
    - Result::into_vec
    - Result::expect
    - LcCBB::new
    linkageType: ''
    returnType: void
    signature: fn dynamic_vec()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LcCBB::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbb.rs:87,1
    - Dst: Result::into_vec
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbb.rs:89,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbb.rs:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 5
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: tests::dynamic_buffer_grows
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbb.rs
    functionUses: 0
    functionsReached:
    - Result::into_vec
    - Result::expect
    - LcCBB::new
    linkageType: ''
    returnType: void
    signature: fn dynamic_buffer_grows()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LcCBB::new_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbb.rs:96,1
    - Dst: Result::finish
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbb.rs:98,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbb.rs:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 12
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: tests::fixed_buffer
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbb.rs
    functionUses: 0
    functionsReached:
    - LcCBB::new_from_slice
    - Result::finish
    - expect
    linkageType: ''
    returnType: void
    signature: fn fixed_buffer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LcCBB::new_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbb.rs:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 3
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: tests::fixed_buffer_no_growth
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbb.rs
    functionUses: 0
    functionsReached:
    - LcCBB::new_from_slice
    linkageType: ''
    returnType: void
    signature: fn fixed_buffer_no_growth()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: Algorithm::digest_algorithm
    functionSourceFile: /src/spdm-rs/external/ring/src/hmac.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: '&''static digest::Algorithm'
    signature: pub fn digest_algorithm(&self) -> &'static digest::Algorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: Algorithm::tag_len
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/algorithm.rs
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub fn tag_len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/src/aead.rs:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: Tag::as_ref
    functionSourceFile: /src/spdm-rs/external/ring/src/aead.rs
    functionUses: 11
    functionsReached:
    - as_ref
    linkageType: ''
    returnType: '&[u8]'
    signature: fn as_ref(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 178
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 178
    functionName: LcHmacCtx::as_mut_ptr
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: '*mut HMAC_CTX'
    signature: fn as_mut_ptr(&mut self) -> *mut HMAC_CTX
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionName: LcHmacCtx::as_ptr
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: '*const HMAC_CTX'
    signature: fn as_ptr(&self) -> *const HMAC_CTX
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MaybeUninit::<HMAC_CTX>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac.rs:185,1
    - Dst: aws_lc::HMAC_CTX_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac.rs:186,1
    - Dst: DigestContext::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac.rs:186,1
    - Dst: DigestContext::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac.rs:187,1
    - Dst: aws_lc::HMAC_CTX_copy_ex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac.rs:188,1
    - Dst: LcHmacCtx::as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac.rs:188,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac.rs:189,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac.rs:191,1
    - Dst: LcHmacCtx
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac.rs:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 193
    functionName: LcHmacCtx::try_clone
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac.rs
    functionUses: 1
    functionsReached:
    - MaybeUninit::<HMAC_CTX>::uninit
    - aws_lc::HMAC_CTX_copy_ex
    - LcHmacCtx::as_ptr
    - Err
    - DigestContext::as_mut_ptr
    - LcHmacCtx
    - aws_lc::HMAC_CTX_init
    - DigestContext::assume_init
    - Ok
    linkageType: ''
    returnType: Result
    signature: fn try_clone(&self) -> Result<Self, Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_CTX_cleanup
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac.rs:199,1
    - Dst: LcHmacCtx::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac.rs:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: LcHmacCtx::drop
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac.rs
    functionUses: 0
    functionsReached:
    - LcHmacCtx::as_mut_ptr
    - HMAC_CTX_cleanup
    linkageType: ''
    returnType: void
    signature: fn drop(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LcHmacCtx::try_clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac.rs:205,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac.rs:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: LcHmacCtx::clone
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac.rs
    functionUses: 0
    functionsReached:
    - Result::expect
    - LcHmacCtx::try_clone
    linkageType: ''
    returnType: Self
    signature: fn clone(&self) -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::debug_struct
      Src: /src/spdm-rs/external/ring/src/hmac.rs:162,1
    - Dst: field
      Src: /src/spdm-rs/external/ring/src/hmac.rs:162,1
    - Dst: Key::algorithm
      Src: /src/spdm-rs/external/ring/src/hmac.rs:163,1
    - Dst: Algorithm::digest_algorithm
      Src: /src/spdm-rs/external/ring/src/hmac.rs:163,1
    - Dst: finish
      Src: /src/spdm-rs/external/ring/src/hmac.rs:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 11
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: Key::fmt
    functionSourceFile: /src/spdm-rs/external/ring/src/hmac.rs
    functionUses: 0
    functionsReached:
    - field
    - finish
    - Algorithm::digest_algorithm
    - SpdmCertChainBuffer::debug_struct
    - Key::algorithm
    linkageType: ''
    returnType: Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter) -> Result<(), core::fmt::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::construct
      Src: /src/spdm-rs/external/ring/src/hmac.rs:180,1
    - Dst: '&dyn rand::SecureRandom::fill'
      Src: /src/spdm-rs/external/ring/src/hmac.rs:180,1
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/hmac.rs:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - algorithm
    - rng
    argTypes:
    - Algorithm
    - '&dyn rand::SecureRandom'
    constantsTouched: []
    func_position:
      end: 181
      start: 176
    functionDepth: 14
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionName: Key::generate
    functionSourceFile: /src/spdm-rs/external/ring/src/hmac.rs
    functionUses: 61
    functionsReached:
    - '&dyn rand::SecureRandom::fill'
    - Self::construct
    - cpu::features
    linkageType: ''
    returnType: Result
    signature: 'pub fn generate(algorithm: Algorithm,rng: &dyn rand::SecureRandom,)
      -> Result<Self, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output_len
      Src: /src/spdm-rs/external/ring/src/hmac.rs:192,1
    - Dst: fill
      Src: /src/spdm-rs/external/ring/src/hmac.rs:193,1
    - Dst: Self::try_new
      Src: /src/spdm-rs/external/ring/src/hmac.rs:194,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/hmac.rs:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - algorithm
    - fill
    - cpu
    argTypes:
    - Algorithm
    - F
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 195
      start: 183
    functionDepth: 13
    functionLinenumber: 183
    functionLinenumberEnd: 195
    functionName: Key::construct
    functionSourceFile: /src/spdm-rs/external/ring/src/hmac.rs
    functionUses: 0
    functionsReached:
    - Self::try_new
    - output_len
    - fill
    - Result::map_err
    linkageType: ''
    returnType: Result
    signature: 'fn construct<F>(algorithm: Algorithm,fill: F,cpu: cpu::Features,)
      -> Result<Self, error::Unspecified>whereF: FnOnce(&mut [u8]) -> Result<(), error::Unspecified>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htable_new
      Src: /src/spdm-rs/external/ring/src/aead/gcm/neon.rs:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - value
    - _cpu
    argTypes:
    - KeyValue
    - RequiredCpuFeatures
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 4
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: Key::new
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/gcm/neon.rs
    functionUses: 192
    functionsReached:
    - htable_new
    linkageType: ''
    returnType: Self
    signature: 'pub(in super::super) fn new(value: KeyValue, _cpu: RequiredCpuFeatures)
      -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digest::BlockContext::new
      Src: /src/spdm-rs/external/ring/src/hmac.rs:229,1
    - Dst: digest::BlockContext::new
      Src: /src/spdm-rs/external/ring/src/hmac.rs:230,1
    - Dst: Option::block_len
      Src: /src/spdm-rs/external/ring/src/hmac.rs:233,1
    - Dst: gcm::KeyValue::len
      Src: /src/spdm-rs/external/ring/src/hmac.rs:236,1
    - Dst: Digest::compute_from
      Src: /src/spdm-rs/external/ring/src/hmac.rs:239,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/src/hmac.rs:240,1
    - Dst: bb::xor_assign_at_start
      Src: /src/spdm-rs/external/ring/src/hmac.rs:251,1
    - Dst: update
      Src: /src/spdm-rs/external/ring/src/hmac.rs:253,1
    - Dst: bb::xor_assign
      Src: /src/spdm-rs/external/ring/src/hmac.rs:260,1
    - Dst: update
      Src: /src/spdm-rs/external/ring/src/hmac.rs:261,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/hmac.rs:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 40
    argCount: 3
    argNames:
    - algorithm
    - key_value
    - cpu_features
    argTypes:
    - Algorithm
    - '&[u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 265
      start: 222
    functionDepth: 12
    functionLinenumber: 222
    functionLinenumberEnd: 265
    functionName: Key::try_new
    functionSourceFile: /src/spdm-rs/external/ring/src/hmac.rs
    functionUses: 2
    functionsReached:
    - digest::BlockContext::new
    - bb::xor_assign
    - Digest::compute_from
    - bb::xor_assign_at_start
    - gcm::KeyValue::len
    - update
    - Option::block_len
    - as_ref
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn try_new(algorithm: Algorithm,key_value: &[u8],cpu_features:
      cpu::Features,) -> Result<Self, InputTooLongError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac.rs:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 325
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 325
    functionName: Key::get_hmac_ctx_ptr
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac.rs
    functionUses: 0
    functionsReached:
    - as_mut_ptr
    linkageType: ''
    returnType: '*mut HMAC_CTX'
    signature: unsafe fn get_hmac_ctx_ptr(&mut self) -> *mut HMAC_CTX
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Algorithm
      Src: /src/spdm-rs/external/ring/src/hmac.rs:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 271
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 271
    functionName: Key::algorithm
    functionSourceFile: /src/spdm-rs/external/ring/src/hmac.rs
    functionUses: 24
    functionsReached:
    - Algorithm
    linkageType: ''
    returnType: Algorithm
    signature: pub fn algorithm(&self) -> Algorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digest_algorithm
      Src: /src/spdm-rs/external/ring/src/hkdf.rs:50,1
    - Dst: output_len
      Src: /src/spdm-rs/external/ring/src/hkdf.rs:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 5
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: Algorithm::len
    functionSourceFile: /src/spdm-rs/external/ring/src/hkdf.rs
    functionUses: 0
    functionsReached:
    - digest_algorithm
    - output_len
    linkageType: ''
    returnType: usize
    signature: fn len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::construct
      Src: /src/spdm-rs/external/ring/src/hmac.rs:296,1
    - Dst: Option::len
      Src: /src/spdm-rs/external/ring/src/hmac.rs:296,1
    - Dst: Option::fill
      Src: /src/spdm-rs/external/ring/src/hmac.rs:296,1
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/hmac.rs:296,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/src/hmac.rs:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - okm
    argTypes:
    - hkdf::Okm<Algorithm>
    constantsTouched: []
    func_position:
      end: 297
      start: 295
    functionDepth: 14
    functionLinenumber: 295
    functionLinenumberEnd: 297
    functionName: Key::from
    functionSourceFile: /src/spdm-rs/external/ring/src/hmac.rs
    functionUses: 8
    functionsReached:
    - cpu::features
    - Result::unwrap
    - Self::construct
    - Option::len
    - Option::fill
    linkageType: ''
    returnType: Self
    signature: 'fn from(okm: hkdf::Okm<Algorithm>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 313
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 313
    functionName: Context::clone
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs
    functionUses: 2
    functionsReached:
    - clone
    linkageType: ''
    returnType: Self
    signature: fn clone(&self) -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::debug_struct
      Src: /src/spdm-rs/external/ring/src/hmac.rs:311,1
    - Dst: field
      Src: /src/spdm-rs/external/ring/src/hmac.rs:311,1
    - Dst: algorithm
      Src: /src/spdm-rs/external/ring/src/hmac.rs:312,1
    - Dst: finish
      Src: /src/spdm-rs/external/ring/src/hmac.rs:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 314
      start: 310
    functionDepth: 11
    functionLinenumber: 310
    functionLinenumberEnd: 314
    functionName: Context::fmt
    functionSourceFile: /src/spdm-rs/external/ring/src/hmac.rs
    functionUses: 0
    functionsReached:
    - SpdmCertChainBuffer::debug_struct
    - finish
    - field
    - algorithm
    linkageType: ''
    returnType: Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter) -> Result<(), core::fmt::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digest::Context::clone_from
      Src: /src/spdm-rs/external/ring/src/hmac.rs:322,1
    - Dst: clone
      Src: /src/spdm-rs/external/ring/src/hmac.rs:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - signing_key
    argTypes:
    - '&Key'
    constantsTouched: []
    func_position:
      end: 325
      start: 320
    functionDepth: 3
    functionLinenumber: 320
    functionLinenumberEnd: 325
    functionName: Context::with_key
    functionSourceFile: /src/spdm-rs/external/ring/src/hmac.rs
    functionUses: 19
    functionsReached:
    - digest::Context::clone_from
    - clone
    linkageType: ''
    returnType: Self
    signature: 'pub fn with_key(signing_key: &Key) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Context::update_internal
      Src: /src/spdm-rs/external/ring/src/aead/poly1305.rs:62,1
    - Dst: as_flattened
      Src: /src/spdm-rs/external/ring/src/aead/poly1305.rs:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - input
    argTypes:
    - AsChunks<u8, BLOCK_LEN>
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 6
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: Context::update
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/poly1305.rs
    functionUses: 0
    functionsReached:
    - Context::update_internal
    - as_flattened
    linkageType: ''
    returnType: void
    signature: 'pub fn update(&mut self, input: AsChunks<u8, BLOCK_LEN>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: overflowing_add
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest.rs:107,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest.rs:107,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest.rs:109,1
    - Dst: aws_lc::EVP_DigestUpdate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest.rs:116,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest.rs:117,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest.rs:118,1
    - Dst: '*const HMAC_CTX::cast'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest.rs:118,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest.rs:119,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest.rs:121,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest.rs:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 44
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 125
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 125
    functionName: Context::try_update
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest.rs
    functionUses: 0
    functionsReached:
    - '*const HMAC_CTX::cast'
    - as_mut_ptr
    - Err
    - aws_lc::EVP_DigestUpdate
    - as_ptr
    - len
    - Ok
    - overflowing_add
    linkageType: ''
    returnType: Result
    signature: 'fn try_update(&mut self, data: &[u8]) -> Result<(), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Context::try_sign
      Src: /src/spdm-rs/external/ring/src/hmac.rs:341,1
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/hmac.rs:341,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/hmac.rs:341,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/ring/src/hmac.rs:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 14
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: Context::sign
    functionSourceFile: /src/spdm-rs/external/ring/src/hmac.rs
    functionUses: 0
    functionsReached:
    - Result::map_err
    - Context::try_sign
    - unwrap
    - cpu::features
    linkageType: ''
    returnType: Tag
    signature: pub fn sign(self) -> Tag
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_finish
      Src: /src/spdm-rs/external/ring/src/hmac.rs:351,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/src/hmac.rs:352,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/hmac.rs:353,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/ring/src/hmac.rs:357,1
    - Dst: try_finish
      Src: /src/spdm-rs/external/ring/src/hmac.rs:359,1
    - Dst: map
      Src: /src/spdm-rs/external/ring/src/hmac.rs:359,1
    - Dst: map_err
      Src: /src/spdm-rs/external/ring/src/hmac.rs:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 1
    argNames:
    - cpu_features
    argTypes:
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 376
      start: 346
    functionDepth: 8
    functionLinenumber: 346
    functionLinenumberEnd: 376
    functionName: Context::try_sign
    functionSourceFile: /src/spdm-rs/external/ring/src/hmac.rs
    functionUses: 1
    functionsReached:
    - try_finish
    - map_err
    - map
    - len
    - copy_from_slice
    - as_ref
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn try_sign(self, cpu_features: cpu::Features) -> Result<Tag,
      InputTooLongError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MaybeUninit::<usize>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:411,1
    - Dst: fips::indicator_check
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:413,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:420,1
    - Dst: DigestContext::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:422,1
    - Dst: tag_len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:429,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:430,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:433,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - ctx
    - output
    argTypes:
    - '&mut Context'
    - '&''in_out mut [u8]'
    constantsTouched: []
    func_position:
      end: 434
      start: 407
    functionDepth: 2
    functionLinenumber: 407
    functionLinenumberEnd: 434
    functionName: internal_sign
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs
    functionUses: 2
    functionsReached:
    - tag_len
    - Err
    - MaybeUninit::<usize>::uninit
    - fips::indicator_check
    - DigestContext::assume_init
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn internal_sign<''in_out>(ctx: &mut Context,output: &''in_out
      mut [u8],) -> Result<&''in_out mut [u8], Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::bench_function
      Src: /src/spdm-rs/external/ring/bench/ecdsa.rs:37,1
    - Dst: rand::SystemRandom::new
      Src: /src/spdm-rs/external/ring/bench/ecdsa.rs:38,1
    - Dst: EcdsaKeyPair::generate_pkcs8
      Src: /src/spdm-rs/external/ring/bench/ecdsa.rs:39,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/bench/ecdsa.rs:39,1
    - Dst: EcdsaKeyPair::from_pkcs8
      Src: /src/spdm-rs/external/ring/bench/ecdsa.rs:40,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/ring/bench/ecdsa.rs:40,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/bench/ecdsa.rs:40,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/ring/bench/ecdsa.rs:42,1
    - Dst: Option::sign
      Src: /src/spdm-rs/external/ring/bench/ecdsa.rs:43,1
    - Dst: criterion::black_box
      Src: /src/spdm-rs/external/ring/bench/ecdsa.rs:43,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/ring/bench/ecdsa.rs:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 47
      start: 35
    functionDepth: 15
    functionLinenumber: 35
    functionLinenumberEnd: 47
    functionName: sign
    functionSourceFile: /src/spdm-rs/external/ring/bench/ecdsa.rs
    functionUses: 109
    functionsReached:
    - Result::as_ref
    - Option::unwrap
    - Result::unwrap
    - SpdmResult::iter
    - criterion::black_box
    - Option::sign
    - bool::bench_function
    - rand::SystemRandom::new
    - EcdsaKeyPair::from_pkcs8
    - EcdsaKeyPair::generate_pkcs8
    linkageType: ''
    returnType: void
    signature: 'fn sign(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:482,1
    - Dst: bool::algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:482,1
    - Dst: tag_len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:482,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:483,1
    - Dst: Context::with_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:486,1
    - Dst: update
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:487,1
    - Dst: internal_sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:489,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - key
    - data
    - output
    argTypes:
    - '&Key'
    - '&[u8]'
    - '&''out mut [u8]'
    constantsTouched: []
    func_position:
      end: 490
      start: 477
    functionDepth: 11
    functionLinenumber: 477
    functionLinenumberEnd: 490
    functionName: sign_to_buffer
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs
    functionUses: 7
    functionsReached:
    - internal_sign
    - tag_len
    - Err
    - bool::algorithm
    - len
    - update
    - Context::with_key
    linkageType: ''
    returnType: Result
    signature: 'pub fn sign_to_buffer<''out>(key: &Key,data: &[u8],output: &''out
      mut [u8],) -> Result<&''out mut [u8], Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::bench_function
      Src: /src/spdm-rs/external/ring/bench/rsa.rs:64,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/ring/bench/rsa.rs:69,1
    - Dst: UnparsedPublicKey::new
      Src: /src/spdm-rs/external/ring/bench/rsa.rs:71,1
    - Dst: '&[u8]::verify'
      Src: /src/spdm-rs/external/ring/bench/rsa.rs:72,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/ring/bench/rsa.rs:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 77
      start: 42
    functionDepth: 6
    functionLinenumber: 42
    functionLinenumberEnd: 77
    functionName: verify
    functionSourceFile: /src/spdm-rs/external/ring/bench/rsa.rs
    functionUses: 62
    functionsReached:
    - UnparsedPublicKey::new
    - unwrap
    - SpdmResult::iter
    - '&[u8]::verify'
    - bool::bench_function
    linkageType: ''
    returnType: void
    signature: 'fn verify(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 563
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 563
    functionName: tests::hmac_algorithm_properties
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn hmac_algorithm_properties()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand::SystemRandom::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac.rs:569,1
    - Dst: hmac::Key::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac.rs:578,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac.rs:578,1
    - Dst: hmac::Context::with_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac.rs:583,1
    - Dst: update
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac.rs:584,1
    - Dst: hmac::Context::with_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac.rs:589,1
    - Dst: update
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac.rs:590,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 593
      start: 568
    functionDepth: 15
    functionLinenumber: 568
    functionLinenumberEnd: 593
    functionName: tests::hmac_internal_sign_too_small_buffer
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac.rs
    functionUses: 0
    functionsReached:
    - hmac::Key::generate
    - Result::unwrap
    - update
    - hmac::Context::with_key
    - rand::SystemRandom::new
    linkageType: ''
    returnType: void
    signature: fn hmac_internal_sign_too_small_buffer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand::SystemRandom::new
      Src: /src/spdm-rs/external/ring/src/hmac.rs:423,1
    - Dst: hmac::Key::generate
      Src: /src/spdm-rs/external/ring/src/hmac.rs:434,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/src/hmac.rs:434,1
    - Dst: hmac::sign
      Src: /src/spdm-rs/external/ring/src/hmac.rs:435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 439
      start: 422
    functionDepth: 15
    functionLinenumber: 422
    functionLinenumberEnd: 439
    functionName: tests::hmac_signing_key_coverage
    functionSourceFile: /src/spdm-rs/external/ring/src/hmac.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - hmac::Key::generate
    - hmac::sign
    - rand::SystemRandom::new
    linkageType: ''
    returnType: void
    signature: pub fn hmac_signing_key_coverage()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hmac::Key::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac.rs:633,1
    - Dst: hmac::Context::with_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac.rs:634,1
    - Dst: update
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac.rs:635,1
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac.rs:636,1
    - Dst: sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac.rs:638,1
    - Dst: BytesMutStrubbed::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac.rs:639,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 643
      start: 620
    functionDepth: 11
    functionLinenumber: 620
    functionLinenumberEnd: 643
    functionName: tests::hmac_coverage
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac.rs
    functionUses: 0
    functionsReached:
    - hmac::Key::new
    - clone
    - BytesMutStrubbed::sign
    - sign
    - update
    - hmac::Context::with_key
    linkageType: ''
    returnType: void
    signature: fn hmac_coverage()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand::SystemRandom::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac.rs:647,1
    - Dst: hmac::Key::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac.rs:656,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac.rs:656,1
    - Dst: tag_len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac.rs:658,1
    - Dst: hmac::sign_to_buffer
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac.rs:662,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac.rs:662,1
    - Dst: hmac::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac.rs:666,1
    - Dst: hmac::sign_to_buffer
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac.rs:676,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac.rs:676,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 682
      start: 646
    functionDepth: 15
    functionLinenumber: 646
    functionLinenumberEnd: 682
    functionName: tests::hmac_sign_to_buffer_test
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac.rs
    functionUses: 0
    functionsReached:
    - hmac::Key::generate
    - tag_len
    - Result::unwrap
    - hmac::sign_to_buffer
    - hmac::sign
    - rand::SystemRandom::new
    linkageType: ''
    returnType: void
    signature: fn hmac_sign_to_buffer_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hmac::Key::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac.rs:686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 696
      start: 685
    functionDepth: 5
    functionLinenumber: 685
    functionLinenumberEnd: 696
    functionName: tests::hmac_sign_to_buffer_too_small_test
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac.rs
    functionUses: 0
    functionsReached:
    - hmac::Key::new
    linkageType: ''
    returnType: void
    signature: fn hmac_sign_to_buffer_too_small_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: Algorithm::key_len
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/algorithm.rs
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub fn key_len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ConstPointer::new_static
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:140,1
    - Dst: aws_lc::EVP_aes_128_cbc
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:141,1
    - Dst: EVP_aes_192_cbc
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:142,1
    - Dst: aws_lc::EVP_aes_256_cbc
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:143,1
    - Dst: aws_lc::EVP_des_ede3_cbc
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:144,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 138
    functionDepth: 5
    functionLinenumber: 138
    functionLinenumberEnd: 148
    functionName: AlgorithmId::evp_cipher
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs
    functionUses: 0
    functionsReached:
    - aws_lc::EVP_des_ede3_cbc
    - EVP_aes_192_cbc
    - aws_lc::EVP_aes_128_cbc
    - ConstPointer::new_static
    - aws_lc::EVP_aes_256_cbc
    - Result::unwrap
    linkageType: ''
    returnType: ConstPointer
    signature: fn evp_cipher(&self) -> ConstPointer<'_, EVP_CIPHER>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:581,1
    - Dst: LcPtr::as_mut_unsafe_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:581,1
    - Dst: Self::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 582
      start: 569
    functionDepth: 3
    functionLinenumber: 569
    functionLinenumberEnd: 582
    functionName: LcPtr::clone
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs
    functionUses: 0
    functionsReached:
    - LcPtr::as_mut_unsafe_ptr
    - Self::expect
    - Self::new
    linkageType: ''
    returnType: Self
    signature: fn clone(&self) -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: internal_sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:399,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:400,1
    - Dst: constant_time::verify_slices_are_equal
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - tag
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 404
      start: 396
    functionDepth: 3
    functionLinenumber: 396
    functionLinenumberEnd: 404
    functionName: Context::verify
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs
    functionUses: 0
    functionsReached:
    - len
    - internal_sign
    - constant_time::verify_slices_are_equal
    linkageType: ''
    returnType: Result
    signature: 'pub fn verify(mut self, tag: &[u8]) -> Result<(), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:525,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:525,1
    - Dst: sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:528,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 532
      start: 523
    functionDepth: 15
    functionLinenumber: 523
    functionLinenumberEnd: 532
    functionName: tests::cmac_basic_test
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - unwrap
    - Key::generate
    - sign
    linkageType: ''
    returnType: void
    signature: fn cmac_basic_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:541,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:541,1
    - Dst: sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:542,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 547
      start: 536
    functionDepth: 15
    functionLinenumber: 536
    functionLinenumberEnd: 547
    functionName: tests::cmac_signing_key_coverage
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - unwrap
    - Key::generate
    - sign
    linkageType: ''
    returnType: void
    signature: pub fn cmac_signing_key_coverage()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:559,1
    - Dst: Self::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:559,1
    - Dst: Context::with_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:560,1
    - Dst: update
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:561,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:561,1
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:562,1
    - Dst: sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:564,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:564,1
    - Dst: BytesMutStrubbed::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:565,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:565,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 569
      start: 550
    functionDepth: 11
    functionLinenumber: 550
    functionLinenumberEnd: 569
    functionName: tests::cmac_coverage
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs
    functionUses: 0
    functionsReached:
    - clone
    - BytesMutStrubbed::sign
    - unwrap
    - Option::unwrap
    - sign
    - Key::new
    - update
    - Context::with_key
    - Self::unwrap
    linkageType: ''
    returnType: void
    signature: fn cmac_coverage()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:573,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:573,1
    - Dst: Context::with_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:575,1
    - Dst: update
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:576,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:576,1
    - Dst: update
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:577,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:577,1
    - Dst: update
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:578,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:578,1
    - Dst: sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:579,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:579,1
    - Dst: sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:581,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 583
      start: 572
    functionDepth: 15
    functionLinenumber: 572
    functionLinenumberEnd: 583
    functionName: tests::cmac_context_test
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - sign
    - Result::unwrap
    - update
    - Context::with_key
    - Key::generate
    linkageType: ''
    returnType: void
    signature: fn cmac_context_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:590,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:590,1
    - Dst: Context::with_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:593,1
    - Dst: update
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:595,1
    - Dst: as_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:595,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:595,1
    - Dst: sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:597,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:597,1
    - Dst: Vec::<u8>::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:600,1
    - Dst: SpdmResult::extend
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:602,1
    - Dst: as_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:602,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 606
      start: 586
    functionDepth: 15
    functionLinenumber: 586
    functionLinenumberEnd: 606
    functionName: tests::cmac_multi_part_test
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs
    functionUses: 0
    functionsReached:
    - Vec::<u8>::new
    - SpdmResult::extend
    - unwrap
    - sign
    - Result::unwrap
    - update
    - Context::with_key
    - as_bytes
    - Key::generate
    linkageType: ''
    returnType: void
    signature: fn cmac_multi_part_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:616,1
    - Dst: Self::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:616,1
    - Dst: Key::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:617,1
    - Dst: Self::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:617,1
    - Dst: Key::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:618,1
    - Dst: Self::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:618,1
    - Dst: Key::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:619,1
    - Dst: Self::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:619,1
    - Dst: sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:624,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:624,1
    - Dst: sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:625,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:625,1
    - Dst: sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:626,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:626,1
    - Dst: sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:627,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 628
      start: 609
    functionDepth: 16
    functionLinenumber: 609
    functionLinenumberEnd: 628
    functionName: tests::cmac_key_new_test
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs
    functionUses: 0
    functionsReached:
    - Key::new
    - sign
    - unwrap
    - Self::unwrap
    linkageType: ''
    returnType: void
    signature: fn cmac_key_new_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 635
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 635
    functionName: tests::cmac_key_new_wrong_length_test
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn cmac_key_new_wrong_length_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 650
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 650
    functionName: tests::cmac_algorithm_properties
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn cmac_algorithm_properties()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:654,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:654,1
    - Dst: sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:657,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:657,1
    - Dst: Context::with_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:661,1
    - Dst: sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:662,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 664
      start: 653
    functionDepth: 15
    functionLinenumber: 653
    functionLinenumberEnd: 664
    functionName: tests::cmac_empty_data
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - sign
    - Result::unwrap
    - Context::with_key
    - Key::generate
    linkageType: ''
    returnType: void
    signature: fn cmac_empty_data()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:668,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:668,1
    - Dst: sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:671,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 674
      start: 667
    functionDepth: 15
    functionLinenumber: 667
    functionLinenumberEnd: 674
    functionName: tests::des_ede3_cmac_test
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - unwrap
    - Key::generate
    - sign
    linkageType: ''
    returnType: void
    signature: fn des_ede3_cmac_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:679,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:679,1
    - Dst: sign_to_buffer
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:684,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:684,1
    - Dst: sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:688,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:688,1
    - Dst: sign_to_buffer
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:693,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:693,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 697
      start: 677
    functionDepth: 15
    functionLinenumber: 677
    functionLinenumberEnd: 697
    functionName: tests::cmac_sign_to_buffer_test
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs
    functionUses: 0
    functionsReached:
    - sign_to_buffer
    - unwrap
    - sign
    - Result::unwrap
    - Key::generate
    linkageType: ''
    returnType: void
    signature: fn cmac_sign_to_buffer_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:701,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 711
      start: 700
    functionDepth: 15
    functionLinenumber: 700
    functionLinenumberEnd: 711
    functionName: tests::cmac_sign_to_buffer_too_small_test
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - Key::generate
    linkageType: ''
    returnType: void
    signature: fn cmac_sign_to_buffer_too_small_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:716,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:716,1
    - Dst: sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:720,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:720,1
    - Dst: Context::with_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:723,1
    - Dst: update
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:724,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:724,1
    - Dst: Context::with_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:728,1
    - Dst: Self::update
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:729,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:729,1
    - Dst: Context::with_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:734,1
    - Dst: Self::update
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:735,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:735,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 738
      start: 714
    functionDepth: 15
    functionLinenumber: 714
    functionLinenumberEnd: 738
    functionName: tests::cmac_context_verify_test
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - sign
    - Result::unwrap
    - update
    - Context::with_key
    - Self::update
    - Key::generate
    linkageType: ''
    returnType: void
    signature: fn cmac_context_verify_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:742,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:742,1
    - Dst: Vec::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:746,1
    - Dst: Self::extend_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:748,1
    - Dst: as_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:748,1
    - Dst: sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:750,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:750,1
    - Dst: Context::with_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:753,1
    - Dst: update
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:755,1
    - Dst: as_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:755,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:755,1
    - Dst: Context::with_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:760,1
    - Dst: Self::update
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:761,1
    - Dst: as_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:761,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:761,1
    - Dst: Self::update
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:762,1
    - Dst: as_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:762,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs:762,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 765
      start: 741
    functionDepth: 15
    functionLinenumber: 741
    functionLinenumberEnd: 765
    functionName: tests::cmac_context_verify_multipart_test
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - sign
    - Result::unwrap
    - update
    - Self::extend_from_slice
    - Vec::new
    - as_bytes
    - Context::with_key
    - Key::generate
    - Self::update
    linkageType: ''
    returnType: void
    signature: fn cmac_context_verify_multipart_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::len
      Src: /src/spdm-rs/external/ring/src/bb/mod.rs:28,1
    - Dst: SpdmResult::len
      Src: /src/spdm-rs/external/ring/src/bb/mod.rs:29,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/bb/mod.rs:30,1
    - Dst: NonZeroUsize::new
      Src: /src/spdm-rs/external/ring/src/bb/mod.rs:32,1
    - Dst: Vec::as_ptr
      Src: /src/spdm-rs/external/ring/src/bb/mod.rs:34,1
    - Dst: SpdmResult::as_ptr
      Src: /src/spdm-rs/external/ring/src/bb/mod.rs:35,1
    - Dst: CRYPTO_memcmp
      Src: /src/spdm-rs/external/ring/src/bb/mod.rs:38,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/bb/mod.rs:40,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/bb/mod.rs:41,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/bb/mod.rs:44,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 46
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 46
    functionName: verify_slices_are_equal
    functionSourceFile: /src/spdm-rs/external/ring/src/bb/mod.rs
    functionUses: 7
    functionsReached:
    - SpdmResult::as_ptr
    - CRYPTO_memcmp
    - NonZeroUsize::new
    - Err
    - SpdmResult::len
    - Vec::len
    - Vec::as_ptr
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn verify_slices_are_equal(a: &[u8], b: &[u8]) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::write_str
      Src: /src/spdm-rs/external/ring/src/error/unspecified.rs:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: Unspecified::fmt
    functionSourceFile: /src/spdm-rs/external/ring/src/error/unspecified.rs
    functionUses: 0
    functionsReached:
    - SpdmCertChainBuffer::write_str
    linkageType: ''
    returnType: core::fmt::Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::erase
      Src: /src/spdm-rs/external/ring/src/error/into_unspecified.rs:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - source
    argTypes:
    - KeyRejected
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: Unspecified::from
    functionSourceFile: /src/spdm-rs/external/ring/src/error/into_unspecified.rs
    functionUses: 1
    functionsReached:
    - super::erase
    linkageType: ''
    returnType: Self
    signature: 'fn from(source: KeyRejected) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: KeyRejected::description_
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/error.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: '&''static str'
    signature: pub fn description_(&self) -> &'static str
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/ring/src/error/key_rejected.rs:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: KeyRejected::inconsistent_components
    functionSourceFile: /src/spdm-rs/external/ring/src/error/key_rejected.rs
    functionUses: 10
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: pub(crate) fn inconsistent_components() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/ring/src/error/key_rejected.rs:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: KeyRejected::invalid_encoding
    functionSourceFile: /src/spdm-rs/external/ring/src/error/key_rejected.rs
    functionUses: 21
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: pub(crate) fn invalid_encoding() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/ring/src/error/key_rejected.rs:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: KeyRejected::too_small
    functionSourceFile: /src/spdm-rs/external/ring/src/error/key_rejected.rs
    functionUses: 7
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: pub(crate) fn too_small() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/ring/src/error/key_rejected.rs:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: KeyRejected::too_large
    functionSourceFile: /src/spdm-rs/external/ring/src/error/key_rejected.rs
    functionUses: 8
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: pub(crate) fn too_large() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/ring/src/error/key_rejected.rs:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: KeyRejected::wrong_algorithm
    functionSourceFile: /src/spdm-rs/external/ring/src/error/key_rejected.rs
    functionUses: 10
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: pub(crate) fn wrong_algorithm() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/ring/src/error/key_rejected.rs:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: KeyRejected::unexpected_error
    functionSourceFile: /src/spdm-rs/external/ring/src/error/key_rejected.rs
    functionUses: 7
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: pub(crate) fn unexpected_error() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyRejected
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/error.rs:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 152
    functionName: KeyRejected::unspecified
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/error.rs
    functionUses: 16
    functionsReached:
    - KeyRejected
    linkageType: ''
    returnType: Self
    signature: pub(crate) fn unspecified() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyRejected::description_
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/error.rs:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionName: KeyRejected::description
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/error.rs
    functionUses: 0
    functionsReached:
    - KeyRejected::description_
    linkageType: ''
    returnType: '&str'
    signature: fn description(&self) -> &str
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: KeyRejected::cause
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/error.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Option
    signature: fn cause(&self) -> Option<&dyn Error>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 171
    functionName: Unspecified::description
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/error.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&str'
    signature: fn description(&self) -> &str
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: Unspecified::cause
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/error.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Option
    signature: fn cause(&self) -> Option<&dyn Error>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::write_str
      Src: /src/spdm-rs/external/ring/src/error/key_rejected.rs:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: KeyRejected::fmt
    functionSourceFile: /src/spdm-rs/external/ring/src/error/key_rejected.rs
    functionUses: 0
    functionsReached:
    - SpdmCertChainBuffer::write_str
    linkageType: ''
    returnType: core::fmt::Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames: []
    argTypes:
    - Unspecified
    constantsTouched: []
    func_position:
      end: 198
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 198
    functionName: ()::from
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/error.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'fn from(_: Unspecified) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::unspecified
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/error.rs:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames: []
    argTypes:
    - Unspecified
    constantsTouched: []
    func_position:
      end: 229
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 229
    functionName: KeyRejected::from
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/error.rs
    functionUses: 1
    functionsReached:
    - Self::unspecified
    linkageType: ''
    returnType: Self
    signature: 'fn from(_: Unspecified) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 243
    functionName: tests::display_unspecified
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/error.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn display_unspecified()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::KeyRejected::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/error.rs:247,1
    - Dst: super::Unspecified::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/error.rs:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 256
    functionName: tests::unexpected_error
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/error.rs
    functionUses: 0
    functionsReached:
    - super::KeyRejected::from
    - super::Unspecified::from
    linkageType: ''
    returnType: void
    signature: fn unexpected_error()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyRejected::wrong_algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/error.rs:260,1
    - Dst: test::compile_time_assert_std_error_error::<KeyRejected>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/error.rs:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 269
    functionName: tests::std_error
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/error.rs
    functionUses: 0
    functionsReached:
    - KeyRejected::wrong_algorithm
    - test::compile_time_assert_std_error_error::<KeyRejected>
    linkageType: ''
    returnType: void
    signature: fn std_error()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: FixedLength::size
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/iv.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub fn size(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand::fill
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/iv.rs:39,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/iv.rs:40,1
    - Dst: Self
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/iv.rs:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: FixedLength::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/iv.rs
    functionUses: 1
    functionsReached:
    - Self
    - rand::fill
    - Ok
    linkageType: ''
    returnType: Result
    signature: pub fn new() -> Result<Self, Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zeroize
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/iv.rs:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: FixedLength::drop
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/iv.rs
    functionUses: 0
    functionsReached:
    - zeroize
    linkageType: ''
    returnType: void
    signature: fn drop(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: FixedLength::as_ref
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/iv.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8; L]'
    signature: fn as_ref(&self) -> &[u8; L]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FixedLength
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/iv.rs:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '[u8; L]'
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: FixedLength::from
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/iv.rs
    functionUses: 7
    functionsReached:
    - FixedLength
    linkageType: ''
    returnType: Self
    signature: 'fn from(bytes: [u8; L]) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/iv.rs:75,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/iv.rs:76,1
    - Dst: Self::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/iv.rs:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 4
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: FixedLength::try_from
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/iv.rs
    functionUses: 2
    functionsReached:
    - u8::try_into
    - Self::from
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn try_from(value: &[u8]) -> Result<Self, Self::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FixedLength::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/iv.rs:94,1
    - Dst: FixedLength::<12>::try_from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/iv.rs:98,1
    - Dst: '[T; N]::as_slice'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/iv.rs:98,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/iv.rs:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 93
    functionDepth: 5
    functionLinenumber: 93
    functionLinenumberEnd: 104
    functionName: tests::test_size
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/iv.rs
    functionUses: 0
    functionsReached:
    - FixedLength::<12>::try_from
    - Result::unwrap
    - FixedLength::from
    - '[T; N]::as_slice'
    linkageType: ''
    returnType: void
    signature: fn test_size()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: compile_time_assert_clone
    functionSourceFile: /src/spdm-rs/external/ring/src/testutil.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub const fn compile_time_assert_clone<T: Clone>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: compile_time_assert_copy
    functionSourceFile: /src/spdm-rs/external/ring/src/testutil.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub const fn compile_time_assert_copy<T: Copy>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: compile_time_assert_eq
    functionSourceFile: /src/spdm-rs/external/ring/src/testutil.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub const fn compile_time_assert_eq<T: Eq>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: compile_time_assert_send
    functionSourceFile: /src/spdm-rs/external/ring/src/testutil.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub const fn compile_time_assert_send<T: Send>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: compile_time_assert_sync
    functionSourceFile: /src/spdm-rs/external/ring/src/testutil.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub const fn compile_time_assert_sync<T: Sync>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: compile_time_assert_std_error_error
    functionSourceFile: /src/spdm-rs/external/ring/src/testutil.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub const fn compile_time_assert_std_error_error<T: std::error::Error>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TestCase::consume_string
      Src: /src/spdm-rs/external/ring/src/testutil.rs:180,1
    - Dst: '&str::as_ref'
      Src: /src/spdm-rs/external/ring/src/testutil.rs:181,1
    - Dst: Some
      Src: /src/spdm-rs/external/ring/src/testutil.rs:182,1
    - Dst: Some
      Src: /src/spdm-rs/external/ring/src/testutil.rs:184,1
    - Dst: Some
      Src: /src/spdm-rs/external/ring/src/testutil.rs:185,1
    - Dst: Some
      Src: /src/spdm-rs/external/ring/src/testutil.rs:186,1
    - Dst: Some
      Src: /src/spdm-rs/external/ring/src/testutil.rs:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - key
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 190
      start: 179
    functionDepth: 4
    functionLinenumber: 179
    functionLinenumberEnd: 190
    functionName: TestCase::consume_digest_alg
    functionSourceFile: /src/spdm-rs/external/ring/src/testutil.rs
    functionUses: 0
    functionsReached:
    - TestCase::consume_string
    - '&str::as_ref'
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn consume_digest_alg(&mut self, key: &str) -> Option<&''static
      digest::Algorithm>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TestCase::consume_optional_bytes
      Src: /src/spdm-rs/external/ring/src/testutil.rs:196,1
    - Dst: Option::unwrap_or_else
      Src: /src/spdm-rs/external/ring/src/testutil.rs:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 6
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: TestCase::consume_bytes
    functionSourceFile: /src/spdm-rs/external/ring/src/testutil.rs
    functionUses: 0
    functionsReached:
    - Option::unwrap_or_else
    - TestCase::consume_optional_bytes
    linkageType: ''
    returnType: Vec
    signature: 'pub fn consume_bytes(&mut self, key: &str) -> Vec<u8>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TestCase::consume_optional_string
      Src: /src/spdm-rs/external/ring/src/testutil.rs:203,1
    - Dst: SpdmResult::as_bytes
      Src: /src/spdm-rs/external/ring/src/testutil.rs:204,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/ring/src/testutil.rs:206,1
    - Dst: Vec::with_capacity
      Src: /src/spdm-rs/external/ring/src/testutil.rs:207,1
    - Dst: SpdmResult::len
      Src: /src/spdm-rs/external/ring/src/testutil.rs:207,1
    - Dst: SpdmResult::next
      Src: /src/spdm-rs/external/ring/src/testutil.rs:209,1
    - Dst: SpdmResult::next
      Src: /src/spdm-rs/external/ring/src/testutil.rs:211,1
    - Dst: SpdmResult::next
      Src: /src/spdm-rs/external/ring/src/testutil.rs:218,1
    - Dst: Option::expect
      Src: /src/spdm-rs/external/ring/src/testutil.rs:218,1
    - Dst: SpdmResult::next
      Src: /src/spdm-rs/external/ring/src/testutil.rs:219,1
    - Dst: Option::expect
      Src: /src/spdm-rs/external/ring/src/testutil.rs:219,1
    - Dst: from_hex_digit
      Src: /src/spdm-rs/external/ring/src/testutil.rs:220,1
    - Dst: from_hex_digit
      Src: /src/spdm-rs/external/ring/src/testutil.rs:220,1
    - Dst: SpdmResult::next
      Src: /src/spdm-rs/external/ring/src/testutil.rs:233,1
    - Dst: Option::is_some
      Src: /src/spdm-rs/external/ring/src/testutil.rs:233,1
    - Dst: Bytes::push
      Src: /src/spdm-rs/external/ring/src/testutil.rs:241,1
    - Dst: from_hex
      Src: /src/spdm-rs/external/ring/src/testutil.rs:246,1
    - Dst: Some
      Src: /src/spdm-rs/external/ring/src/testutil.rs:253,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 60
    argCount: 1
    argNames:
    - key
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 254
      start: 202
    functionDepth: 5
    functionLinenumber: 202
    functionLinenumberEnd: 254
    functionName: TestCase::consume_optional_bytes
    functionSourceFile: /src/spdm-rs/external/ring/src/testutil.rs
    functionUses: 1
    functionsReached:
    - TestCase::consume_optional_string
    - SpdmResult::as_bytes
    - from_hex_digit
    - Vec::with_capacity
    - SpdmResult::len
    - SpdmResult::iter
    - Bytes::push
    - SpdmResult::next
    - from_hex
    - Option::is_some
    - Option::expect
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn consume_optional_bytes(&mut self, key: &str) -> Option<Vec<u8>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TestCase::consume_string
      Src: /src/spdm-rs/external/ring/src/testutil.rs:259,1
    - Dst: parse::<usize>
      Src: /src/spdm-rs/external/ring/src/testutil.rs:260,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/ring/src/testutil.rs:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 5
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: TestCase::consume_usize
    functionSourceFile: /src/spdm-rs/external/ring/src/testutil.rs
    functionUses: 0
    functionsReached:
    - TestCase::consume_string
    - parse::<usize>
    - unwrap
    linkageType: ''
    returnType: usize
    signature: 'pub fn consume_usize(&mut self, key: &str) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TestCase::consume_string
      Src: /src/spdm-rs/external/ring/src/testutil.rs:167,1
    - Dst: String::as_ref
      Src: /src/spdm-rs/external/ring/src/testutil.rs:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 4
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: TestCase::consume_bool
    functionSourceFile: /src/spdm-rs/external/ring/src/testutil.rs
    functionUses: 0
    functionsReached:
    - TestCase::consume_string
    - String::as_ref
    linkageType: ''
    returnType: bool
    signature: 'pub fn consume_bool(&mut self, key: &str) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TestCase::consume_optional_string
      Src: /src/spdm-rs/external/ring/src/testutil.rs:274,1
    - Dst: Option::unwrap_or_else
      Src: /src/spdm-rs/external/ring/src/testutil.rs:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 3
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: TestCase::consume_string
    functionSourceFile: /src/spdm-rs/external/ring/src/testutil.rs
    functionUses: 4
    functionsReached:
    - Option::unwrap_or_else
    - TestCase::consume_optional_string
    linkageType: ''
    returnType: String
    signature: 'pub fn consume_string(&mut self, key: &str) -> String'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/spdm-rs/external/ring/src/testutil.rs:287,1
    - Dst: u8::clone
      Src: /src/spdm-rs/external/ring/src/testutil.rs:287,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - key
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 291
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 291
    functionName: TestCase::consume_optional_string
    functionSourceFile: /src/spdm-rs/external/ring/src/testutil.rs
    functionUses: 2
    functionsReached:
    - u8::clone
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn consume_optional_string(&mut self, key: &str) -> Option<String>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 26
    functionName: test_file
    functionSourceFile: /src/spdm-rs/external/ring/src/deprecated_test.rs
    functionUses: 56
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/spdm-rs/external/ring/src/testutil.rs:398,1
    - Dst: '&mut dyn Iterator<Item = &str>::next'
      Src: /src/spdm-rs/external/ring/src/testutil.rs:402,1
    - Dst: Some
      Src: /src/spdm-rs/external/ring/src/testutil.rs:418,1
    - Dst: Some
      Src: /src/spdm-rs/external/ring/src/testutil.rs:424,1
    - Dst: String::starts_with
      Src: /src/spdm-rs/external/ring/src/testutil.rs:430,1
    - Dst: String::starts_with
      Src: /src/spdm-rs/external/ring/src/testutil.rs:432,1
    - Dst: '&mut String::truncate'
      Src: /src/spdm-rs/external/ring/src/testutil.rs:435,1
    - Dst: '&mut String::push_str'
      Src: /src/spdm-rs/external/ring/src/testutil.rs:436,1
    - Dst: '&mut String::pop'
      Src: /src/spdm-rs/external/ring/src/testutil.rs:437,1
    - Dst: '&mut String::remove'
      Src: /src/spdm-rs/external/ring/src/testutil.rs:438,1
    - Dst: String::splitn
      Src: /src/spdm-rs/external/ring/src/testutil.rs:444,1
    - Dst: collect
      Src: /src/spdm-rs/external/ring/src/testutil.rs:444,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/testutil.rs:445,1
    - Dst: trim
      Src: /src/spdm-rs/external/ring/src/testutil.rs:449,1
    - Dst: trim
      Src: /src/spdm-rs/external/ring/src/testutil.rs:450,1
    - Dst: Result::push
      Src: /src/spdm-rs/external/ring/src/testutil.rs:457,1
    - Dst: String::from
      Src: /src/spdm-rs/external/ring/src/testutil.rs:457,1
    - Dst: String::from
      Src: /src/spdm-rs/external/ring/src/testutil.rs:457,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 66
    argCount: 2
    argNames:
    - current_section
    - lines
    argTypes:
    - '&mut String'
    - '&mut dyn Iterator<Item = &str>'
    constantsTouched: []
    func_position:
      end: 461
      start: 394
    functionDepth: 2
    functionLinenumber: 394
    functionLinenumberEnd: 461
    functionName: parse_test_case
    functionSourceFile: /src/spdm-rs/external/ring/src/testutil.rs
    functionUses: 1
    functionsReached:
    - trim
    - '&mut dyn Iterator<Item = &str>::next'
    - '&mut String::push_str'
    - '&mut String::truncate'
    - '&mut String::pop'
    - String::splitn
    - String::starts_with
    - len
    - collect
    - Result::push
    - Vec::new
    - String::from
    - '&mut String::remove'
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn parse_test_case(current_section: &mut String,lines: &mut dyn Iterator<Item
      = &str>,) -> Option<TestCase>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fill_impl
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/test.rs:510,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/test.rs:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 512
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 512
    functionName: tests::fixed_byte_random
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/test.rs
    functionUses: 0
    functionsReached:
    - fill_impl
    - expect
    linkageType: ''
    returnType: void
    signature: fn fixed_byte_random()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fill_impl
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/test.rs:518,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/test.rs:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 519
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 519
    functionName: tests::fixed_slice_random
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/test.rs
    functionUses: 0
    functionsReached:
    - fill_impl
    - expect
    linkageType: ''
    returnType: void
    signature: fn fixed_slice_random()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fill_impl
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/test.rs:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 528
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 528
    functionName: tests::fixed_slice_random_length_mismatch
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/test.rs
    functionUses: 0
    functionsReached:
    - fill_impl
    linkageType: ''
    returnType: void
    signature: fn fixed_slice_random_length_mismatch()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnsafeCell::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/test.rs:534,1
    - Dst: fill_impl
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/test.rs:537,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/test.rs:537,1
    - Dst: fill_impl
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/test.rs:540,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/test.rs:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 542
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 542
    functionName: tests::fixed_slice_sequence_random
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/test.rs
    functionUses: 0
    functionsReached:
    - UnsafeCell::new
    - fill_impl
    - expect
    linkageType: ''
    returnType: void
    signature: fn fixed_slice_sequence_random()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnsafeCell::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/test.rs:549,1
    - Dst: fill_impl
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/test.rs:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 553
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 553
    functionName: tests::fixed_slice_sequence_random_no_remaining
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/test.rs
    functionUses: 0
    functionsReached:
    - UnsafeCell::new
    - fill_impl
    linkageType: ''
    returnType: void
    signature: fn fixed_slice_sequence_random_no_remaining()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/src/testutil.rs:546,1
    - Dst: test_vector_file
      Src: /src/spdm-rs/external/ring/src/testutil.rs:546,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/ring/src/testutil.rs:547,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/testutil.rs:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 550
      start: 545
    functionDepth: 8
    functionLinenumber: 545
    functionLinenumberEnd: 550
    functionName: tests::one_ok
    functionSourceFile: /src/spdm-rs/external/ring/src/testutil.rs
    functionUses: 0
    functionsReached:
    - Option::consume_string
    - test::run
    - Ok
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: fn one_ok()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/src/testutil.rs:555,1
    - Dst: test_vector_file
      Src: /src/spdm-rs/external/ring/src/testutil.rs:555,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/ring/src/testutil.rs:556,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/testutil.rs:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 559
      start: 554
    functionDepth: 8
    functionLinenumber: 554
    functionLinenumberEnd: 559
    functionName: tests::one_err
    functionSourceFile: /src/spdm-rs/external/ring/src/testutil.rs
    functionUses: 0
    functionsReached:
    - Err
    - Option::consume_string
    - test::run
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: fn one_err()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/src/testutil.rs:564,1
    - Dst: test_vector_file
      Src: /src/spdm-rs/external/ring/src/testutil.rs:564,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/ring/src/testutil.rs:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 568
      start: 563
    functionDepth: 8
    functionLinenumber: 563
    functionLinenumberEnd: 568
    functionName: tests::one_panics
    functionSourceFile: /src/spdm-rs/external/ring/src/testutil.rs
    functionUses: 0
    functionsReached:
    - Option::consume_string
    - test::run
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: fn one_panics()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: err_one
      Src: /src/spdm-rs/external/ring/src/testutil.rs:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 574
      start: 572
    functionDepth: 9
    functionLinenumber: 572
    functionLinenumberEnd: 574
    functionName: tests::first_err
    functionSourceFile: /src/spdm-rs/external/ring/src/testutil.rs
    functionUses: 0
    functionsReached:
    - err_one
    linkageType: ''
    returnType: void
    signature: fn first_err()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: err_one
      Src: /src/spdm-rs/external/ring/src/testutil.rs:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 580
      start: 578
    functionDepth: 9
    functionLinenumber: 578
    functionLinenumberEnd: 580
    functionName: tests::middle_err
    functionSourceFile: /src/spdm-rs/external/ring/src/testutil.rs
    functionUses: 0
    functionsReached:
    - err_one
    linkageType: ''
    returnType: void
    signature: fn middle_err()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: err_one
      Src: /src/spdm-rs/external/ring/src/testutil.rs:585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 586
      start: 584
    functionDepth: 9
    functionLinenumber: 584
    functionLinenumberEnd: 586
    functionName: tests::last_err
    functionSourceFile: /src/spdm-rs/external/ring/src/testutil.rs
    functionUses: 0
    functionsReached:
    - err_one
    linkageType: ''
    returnType: void
    signature: fn last_err()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/src/testutil.rs:590,1
    - Dst: test_vector_file
      Src: /src/spdm-rs/external/ring/src/testutil.rs:590,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/ring/src/testutil.rs:591,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/testutil.rs:593,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/testutil.rs:595,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - test_to_fail
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 600
      start: 588
    functionDepth: 8
    functionLinenumber: 588
    functionLinenumberEnd: 600
    functionName: tests::err_one
    functionSourceFile: /src/spdm-rs/external/ring/src/testutil.rs
    functionUses: 0
    functionsReached:
    - Option::consume_string
    - Err
    - test_vector_file
    - test::run
    - Ok
    linkageType: ''
    returnType: void
    signature: 'fn err_one(test_to_fail: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: panic_one
      Src: /src/spdm-rs/external/ring/src/testutil.rs:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 606
      start: 604
    functionDepth: 9
    functionLinenumber: 604
    functionLinenumberEnd: 606
    functionName: tests::first_panic
    functionSourceFile: /src/spdm-rs/external/ring/src/testutil.rs
    functionUses: 0
    functionsReached:
    - panic_one
    linkageType: ''
    returnType: void
    signature: fn first_panic()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: panic_one
      Src: /src/spdm-rs/external/ring/src/testutil.rs:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 612
      start: 610
    functionDepth: 9
    functionLinenumber: 610
    functionLinenumberEnd: 612
    functionName: tests::middle_panic
    functionSourceFile: /src/spdm-rs/external/ring/src/testutil.rs
    functionUses: 0
    functionsReached:
    - panic_one
    linkageType: ''
    returnType: void
    signature: fn middle_panic()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: panic_one
      Src: /src/spdm-rs/external/ring/src/testutil.rs:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 618
      start: 616
    functionDepth: 9
    functionLinenumber: 616
    functionLinenumberEnd: 618
    functionName: tests::last_panic
    functionSourceFile: /src/spdm-rs/external/ring/src/testutil.rs
    functionUses: 0
    functionsReached:
    - panic_one
    linkageType: ''
    returnType: void
    signature: fn last_panic()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/src/testutil.rs:622,1
    - Dst: test_vector_file
      Src: /src/spdm-rs/external/ring/src/testutil.rs:622,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/ring/src/testutil.rs:623,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/testutil.rs:628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - test_to_fail
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 630
      start: 620
    functionDepth: 8
    functionLinenumber: 620
    functionLinenumberEnd: 630
    functionName: tests::panic_one
    functionSourceFile: /src/spdm-rs/external/ring/src/testutil.rs
    functionUses: 0
    functionsReached:
    - Option::consume_string
    - test::run
    - Ok
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: 'fn panic_one(test_to_fail: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/src/testutil.rs:635,1
    - Dst: test_vector_file
      Src: /src/spdm-rs/external/ring/src/testutil.rs:636,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/testutil.rs:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 639
      start: 634
    functionDepth: 8
    functionLinenumber: 634
    functionLinenumberEnd: 639
    functionName: tests::syntax_error
    functionSourceFile: /src/spdm-rs/external/ring/src/testutil.rs
    functionUses: 0
    functionsReached:
    - test::run
    - Ok
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: fn syntax_error()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/test.rs:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 665
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 665
    functionName: tests::test_to_hex_upper
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/test.rs
    functionUses: 0
    functionsReached:
    - from_dirty_hex
    linkageType: ''
    returnType: void
    signature: fn test_to_hex_upper()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::slice::from_raw_parts
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/endian.rs:20,1
    - Dst: Result::as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/endian.rs:20,1
    - Dst: as_ptr().cast::<u8>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/endian.rs:20,1
    - Dst: core::mem::size_of_val
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/endian.rs:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - '&[E]'
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: as_byte_slice
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/endian.rs
    functionUses: 1
    functionsReached:
    - core::slice::from_raw_parts
    - as_ptr().cast::<u8>
    - core::mem::size_of_val
    - Result::as_ptr
    linkageType: ''
    returnType: '&[u8]'
    signature: 'pub fn as_byte_slice<E: Encoding<T>, T>(x: &[E]) -> &[u8]'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: define_endian
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/endian.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::mem::size_of::<$base>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/endian.rs:2,1
    - Dst: core::mem::size_of::<$base>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/endian.rs:5,1
    - Dst: as_byte_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/endian.rs:6,1
    - Dst: '&[u8]::try_into'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/endian.rs:6,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/endian.rs:6,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 46
    functionDepth: 4
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionName: impl_array_encoding
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/endian.rs
    functionUses: 1
    functionsReached:
    - Result::unwrap
    - '&[u8]::try_into'
    - core::mem::size_of::<$base>
    - as_byte_slice
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/endian.rs:3,1
    - Dst: Self
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/endian.rs:9,1
    - Dst: $endian::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/endian.rs:24,1
    - Dst: impl_array_encoding
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/endian.rs:30,1
    - Dst: impl_array_encoding
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/endian.rs:31,1
    - Dst: impl_array_encoding
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/endian.rs:32,1
    - Dst: impl_array_encoding
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/endian.rs:33,1
    - Dst: impl_array_encoding
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/endian.rs:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 60
    functionDepth: 5
    functionLinenumber: 60
    functionLinenumberEnd: 96
    functionName: impl_endian
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/endian.rs
    functionUses: 0
    functionsReached:
    - Self
    - $endian::from
    - impl_array_encoding
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BigEndian::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/endian.rs:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: tests::test_big_endian
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/endian.rs
    functionUses: 0
    functionsReached:
    - BigEndian::from
    linkageType: ''
    returnType: void
    signature: fn test_big_endian()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BigEndian::<u32>::from_array
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/endian.rs:120,1
    - Dst: LittleEndian::<u32>::from_array
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/endian.rs:122,1
    - Dst: BigEndian::<u64>::from_array
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/endian.rs:126,1
    - Dst: LittleEndian::<u64>::from_array
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/endian.rs:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 132
    functionName: tests::test_endian_from_array
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/endian.rs
    functionUses: 0
    functionsReached:
    - BigEndian::<u64>::from_array
    - BigEndian::<u32>::from_array
    - LittleEndian::<u32>::from_array
    - LittleEndian::<u64>::from_array
    linkageType: ''
    returnType: void
    signature: fn test_endian_from_array()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 261
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 261
    functionName: tests::zero_length_output
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn zero_length_output()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 290
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 290
    functionName: tests::zero_length_secret
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn zero_length_secret()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_sskdf_digest_algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf.rs:300,1
    - Dst: Option::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf.rs:300,1
    - Dst: sskdf::sskdf_digest
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf.rs:305,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf.rs:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 307
      start: 293
    functionDepth: 6
    functionLinenumber: 293
    functionLinenumberEnd: 307
    functionName: tests::sskdf_digest_test
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf.rs
    functionUses: 0
    functionsReached:
    - sskdf::sskdf_digest
    - Result::expect
    - get_sskdf_digest_algorithm
    - Option::expect
    linkageType: ''
    returnType: void
    signature: fn sskdf_digest_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sskdf::get_sskdf_hmac_algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf.rs:317,1
    - Dst: Option::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf.rs:317,1
    - Dst: sskdf::sskdf_hmac
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf.rs:322,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf.rs:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 324
      start: 310
    functionDepth: 6
    functionLinenumber: 310
    functionLinenumberEnd: 324
    functionName: tests::sskdf_hmac_test
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf.rs
    functionUses: 0
    functionsReached:
    - sskdf::sskdf_hmac
    - Result::expect
    - sskdf::get_sskdf_hmac_algorithm
    - Option::expect
    linkageType: ''
    returnType: void
    signature: fn sskdf_hmac_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_kbkdf_ctr_hmac_algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf.rs:334,1
    - Dst: Option::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf.rs:334,1
    - Dst: kbkdf::kbkdf_ctr_hmac
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf.rs:339,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf.rs:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 341
      start: 327
    functionDepth: 4
    functionLinenumber: 327
    functionLinenumberEnd: 341
    functionName: tests::kbkdf_ctr_hmac_test
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf.rs
    functionUses: 0
    functionsReached:
    - get_kbkdf_ctr_hmac_algorithm
    - Result::expect
    - Option::expect
    - kbkdf::kbkdf_ctr_hmac
    linkageType: ''
    returnType: void
    signature: fn kbkdf_ctr_hmac_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_kbkdf_ctr_hmac_algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf.rs:345,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf.rs:345,1
    - Dst: get_kbkdf_ctr_hmac_algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf.rs:346,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf.rs:346,1
    - Dst: get_kbkdf_ctr_hmac_algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf.rs:348,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf.rs:348,1
    - Dst: get_sskdf_digest_algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf.rs:351,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf.rs:351,1
    - Dst: get_sskdf_digest_algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf.rs:352,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf.rs:352,1
    - Dst: get_sskdf_digest_algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf.rs:354,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf.rs:354,1
    - Dst: sskdf::get_sskdf_hmac_algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf.rs:357,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf.rs:357,1
    - Dst: sskdf::get_sskdf_hmac_algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf.rs:358,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf.rs:358,1
    - Dst: sskdf::get_sskdf_hmac_algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf.rs:360,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf.rs:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 362
      start: 344
    functionDepth: 5
    functionLinenumber: 344
    functionLinenumberEnd: 362
    functionName: tests::algorithm_equality
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf.rs
    functionUses: 0
    functionsReached:
    - get_kbkdf_ctr_hmac_algorithm
    - sskdf::get_sskdf_hmac_algorithm
    - Option::unwrap
    - get_sskdf_digest_algorithm
    linkageType: ''
    returnType: void
    signature: fn algorithm_equality()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/pbkdf2.rs:173,1
    - Dst: try_derive
      Src: /src/spdm-rs/external/ring/src/pbkdf2.rs:174,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/pbkdf2.rs:174,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/ring/src/pbkdf2.rs:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - algorithm
    - iterations
    - salt
    - secret
    - out
    argTypes:
    - Algorithm
    - NonZeroU32
    - '&[u8]'
    - '&[u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 177
      start: 166
    functionDepth: 14
    functionLinenumber: 166
    functionLinenumberEnd: 177
    functionName: derive
    functionSourceFile: /src/spdm-rs/external/ring/src/pbkdf2.rs
    functionUses: 9
    functionsReached:
    - Result::map_err
    - try_derive
    - unwrap
    - cpu::features
    linkageType: ''
    returnType: void
    signature: 'pub fn derive(algorithm: Algorithm,iterations: NonZeroU32,salt: &[u8],secret:
      &[u8],out: &mut [u8],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digest_algorithm
      Src: /src/spdm-rs/external/ring/src/pbkdf2.rs:187,1
    - Dst: Option::output_len
      Src: /src/spdm-rs/external/ring/src/pbkdf2.rs:188,1
    - Dst: hmac::Key::try_new
      Src: /src/spdm-rs/external/ring/src/pbkdf2.rs:196,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/pbkdf2.rs:196,1
    - Dst: '&mut [u8]::fill'
      Src: /src/spdm-rs/external/ring/src/pbkdf2.rs:199,1
    - Dst: '&mut [u8]::len'
      Src: /src/spdm-rs/external/ring/src/pbkdf2.rs:203,1
    - Dst: '&mut [u8]::chunks_mut'
      Src: /src/spdm-rs/external/ring/src/pbkdf2.rs:204,1
    - Dst: checked_add
      Src: /src/spdm-rs/external/ring/src/pbkdf2.rs:205,1
    - Dst: ok_or_else
      Src: /src/spdm-rs/external/ring/src/pbkdf2.rs:205,1
    - Dst: DeriveError::too_much_output_requested
      Src: /src/spdm-rs/external/ring/src/pbkdf2.rs:206,1
    - Dst: TooMuchOutputRequestedError::new
      Src: /src/spdm-rs/external/ring/src/pbkdf2.rs:206,1
    - Dst: derive_block
      Src: /src/spdm-rs/external/ring/src/pbkdf2.rs:210,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/pbkdf2.rs:210,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/pbkdf2.rs:213,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 6
    argNames:
    - algorithm
    - iterations
    - salt
    - secret
    - out
    - cpu
    argTypes:
    - Algorithm
    - NonZeroU32
    - '&[u8]'
    - '&[u8]'
    - '&mut [u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 214
      start: 179
    functionDepth: 13
    functionLinenumber: 179
    functionLinenumberEnd: 214
    functionName: try_derive
    functionSourceFile: /src/spdm-rs/external/ring/src/pbkdf2.rs
    functionUses: 1
    functionsReached:
    - DeriveError::too_much_output_requested
    - Ok
    - digest_algorithm
    - '&mut [u8]::len'
    - Result::map_err
    - Option::output_len
    - '&mut [u8]::fill'
    - ok_or_else
    - TooMuchOutputRequestedError::new
    - hmac::Key::try_new
    - checked_add
    - '&mut [u8]::chunks_mut'
    - derive_block
    linkageType: ''
    returnType: Result
    signature: 'fn try_derive(algorithm: Algorithm,iterations: NonZeroU32,salt: &[u8],secret:
      &[u8],out: &mut [u8],cpu: cpu::Features,) -> Result<(), DeriveError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NonZeroU32::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pbkdf2.rs:295,1
    - Dst: Self::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pbkdf2.rs:295,1
    - Dst: pbkdf2::derive
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pbkdf2.rs:303,1
    - Dst: pbkdf2::derive
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pbkdf2.rs:307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 310
      start: 290
    functionDepth: 5
    functionLinenumber: 290
    functionLinenumberEnd: 310
    functionName: tests::pbkdf2_coverage
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pbkdf2.rs
    functionUses: 0
    functionsReached:
    - NonZeroU32::new
    - pbkdf2::derive
    - Self::unwrap
    linkageType: ''
    returnType: void
    signature: fn pbkdf2_coverage()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_fips_mode
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs:338,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 339
      start: 337
    functionDepth: 5
    functionLinenumber: 337
    functionLinenumberEnd: 339
    functionName: fips_mode
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs
    functionUses: 2
    functionsReached:
    - Result::unwrap
    - try_fips_mode
    linkageType: ''
    returnType: void
    signature: pub fn fips_mode()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs:346,1
    - Dst: aws_lc::FIPS_mode
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs:347,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs:348,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs:349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 351
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 351
    functionName: try_fips_mode
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs
    functionUses: 1
    functionsReached:
    - aws_lc::FIPS_mode
    - init
    - Err
    - Ok
    linkageType: ''
    returnType: Result
    signature: pub fn try_fips_mode() -> Result<(), &'static str>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs:363,1
    - Dst: CStr::from_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs:364,1
    - Dst: aws_lc::OpenSSL_version
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs:364,1
    - Dst: to_str
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs:364,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs:364,1
    - Dst: rsplit_once
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs:368,1
    - Dst: map_or
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 369
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 369
    functionName: awslc_version
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs
    functionUses: 1
    functionsReached:
    - init
    - to_str
    - rsplit_once
    - CStr::from_ptr
    - map_or
    - aws_lc::OpenSSL_version
    - expect
    linkageType: ''
    returnType: '&''static str'
    signature: pub fn awslc_version() -> &'static str
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_fips_cpu_jitter_entropy
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs:393,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 394
      start: 392
    functionDepth: 5
    functionLinenumber: 392
    functionLinenumberEnd: 394
    functionName: fips_cpu_jitter_entropy
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs
    functionUses: 2
    functionsReached:
    - Result::unwrap
    - try_fips_cpu_jitter_entropy
    linkageType: ''
    returnType: void
    signature: pub fn fips_cpu_jitter_entropy()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs:401,1
    - Dst: aws_lc::CFG_CPU_JITTER_ENTROPY
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs:405,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs:406,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs:408,1
    - Dst: aws_lc::FIPS_is_entropy_cpu_jitter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs:411,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs:412,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs:413,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 415
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 415
    functionName: try_fips_cpu_jitter_entropy
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs
    functionUses: 1
    functionsReached:
    - init
    - aws_lc::FIPS_is_entropy_cpu_jitter
    - Err
    - aws_lc::CFG_CPU_JITTER_ENTROPY
    - Ok
    linkageType: ''
    returnType: Result
    signature: pub fn try_fips_cpu_jitter_entropy() -> Result<(), &'static str>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc::ERR_get_error
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs:420,1
    - Dst: aws_lc::ERR_GET_LIB
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs:421,1
    - Dst: aws_lc::ERR_GET_REASON
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs:422,1
    - Dst: aws_lc::ERR_GET_FUNC
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs:423,1
    - Dst: aws_lc::ERR_error_string
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs:425,1
    - Dst: SpdmCertChainBuffer::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs:425,1
    - Dst: '*mut P::T::cast'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs:425,1
    - Dst: CStr::from_bytes_with_nul_unchecked
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 428
      start: 419
    functionDepth: 2
    functionLinenumber: 419
    functionLinenumberEnd: 428
    functionName: dump_error
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs
    functionUses: 1
    functionsReached:
    - aws_lc::ERR_GET_REASON
    - aws_lc::ERR_GET_LIB
    - CStr::from_bytes_with_nul_unchecked
    - SpdmCertChainBuffer::as_mut_ptr
    - aws_lc::ERR_get_error
    - aws_lc::ERR_GET_FUNC
    - '*mut P::T::cast'
    - aws_lc::ERR_error_string
    linkageType: ''
    returnType: void
    signature: unsafe fn dump_error()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 453
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 453
    functionName: tests::test_init
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs
    functionUses: 0
    functionsReached:
    - init
    linkageType: ''
    returnType: void
    signature: fn test_init()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dump_error
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 460
      start: 456
    functionDepth: 3
    functionLinenumber: 456
    functionLinenumberEnd: 460
    functionName: tests::test_dump
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs
    functionUses: 0
    functionsReached:
    - dump_error
    linkageType: ''
    returnType: void
    signature: fn test_dump()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crate::fips_mode
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs:475,1
    - Dst: aws_lc::CFG_CPU_JITTER_ENTROPY
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs:476,1
    - Dst: crate::fips_cpu_jitter_entropy
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs:477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 479
      start: 473
    functionDepth: 6
    functionLinenumber: 473
    functionLinenumberEnd: 479
    functionName: tests::test_fips
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs
    functionUses: 0
    functionsReached:
    - crate::fips_cpu_jitter_entropy
    - aws_lc::CFG_CPU_JITTER_ENTROPY
    - crate::fips_mode
    linkageType: ''
    returnType: void
    signature: fn test_fips()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crate::awslc_version
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs:483,1
    - Dst: SpdmResult::split
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs:484,1
    - Dst: (Seed, PublicKey)::next
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs:484,1
    - Dst: Option::and_then
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs:484,1
    - Dst: parse::<u32>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs:487,1
    - Dst: ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs:487,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 490
      start: 482
    functionDepth: 9
    functionLinenumber: 482
    functionLinenumberEnd: 490
    functionName: tests::test_awslc_version
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs
    functionUses: 0
    functionsReached:
    - parse::<u32>
    - ok
    - (Seed, PublicKey)::next
    - crate::awslc_version
    - SpdmResult::split
    - expect
    - Option::and_then
    linkageType: ''
    returnType: void
    signature: fn test_awslc_version()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 503
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 503
    functionName: tests::test_fips_version
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_fips_version()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::project_const_lifetime
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:40,1
    - Dst: EC_KEY_get0_group
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:41,1
    - Dst: Result::as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:41,1
    - Dst: aws_lc::EC_GROUP_get_curve_name
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:42,1
    - Dst: as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:42,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:45,1
    - Dst: KeyRejected::wrong_algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:45,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:47,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - ec_key
    - expected_curve_nid
    argTypes:
    - '&ConstPointer<EC_KEY>'
    - i32
    constantsTouched: []
    func_position:
      end: 48
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 48
    functionName: verify_ec_key_nid
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs
    functionUses: 2
    functionsReached:
    - EC_KEY_get0_group
    - aws_lc::EC_GROUP_get_curve_name
    - Ok
    - Err
    - as_const_ptr
    - KeyRejected::wrong_algorithm
    - Result::project_const_lifetime
    - Result::as_const_ptr
    linkageType: ''
    returnType: Result
    signature: 'fn verify_ec_key_nid(ec_key: &ConstPointer<EC_KEY>,expected_curve_nid:
      i32,) -> Result<(), KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::project_const_lifetime
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:56,1
    - Dst: aws_lc::EVP_PKEY_get0_EC_KEY
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:57,1
    - Dst: Result::as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:57,1
    - Dst: verify_ec_key_nid
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:59,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - evp_pkey
    - expected_curve_nid
    argTypes:
    - '&ConstPointer<EVP_PKEY>'
    - i32
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: verify_evp_key_nid
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs
    functionUses: 2
    functionsReached:
    - Result::as_const_ptr
    - verify_ec_key_nid
    - Result::project_const_lifetime
    - Ok
    - aws_lc::EVP_PKEY_get0_EC_KEY
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn verify_evp_key_nid(evp_pkey: &ConstPointer<EVP_PKEY>,expected_curve_nid:
      i32,) -> Result<(), KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::project_const_lifetime
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:69,1
    - Dst: aws_lc::EVP_PKEY_get0_EC_KEY
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:70,1
    - Dst: Result::as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:70,1
    - Dst: verify_ec_key_nid
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:72,1
    - Dst: aws_lc::EC_KEY_check_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:75,1
    - Dst: Result::as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:75,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:76,1
    - Dst: KeyRejected::inconsistent_components
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:76,1
    - Dst: fips::indicator_check
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:80,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:81,1
    - Dst: KeyRejected::inconsistent_components
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:81,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:84,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - evp_pkey
    - expected_curve_nid
    argTypes:
    - '&ConstPointer<EVP_PKEY>'
    - i32
    constantsTouched: []
    func_position:
      end: 85
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 85
    functionName: validate_ec_evp_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs
    functionUses: 6
    functionsReached:
    - Ok
    - Err
    - fips::indicator_check
    - aws_lc::EC_KEY_check_key
    - verify_ec_key_nid
    - Result::project_const_lifetime
    - Result::as_const_ptr
    - aws_lc::EVP_PKEY_get0_EC_KEY
    - KeyRejected::inconsistent_components
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn validate_ec_evp_key(evp_pkey: &ConstPointer<EVP_PKEY>,expected_curve_nid:
      i32,) -> Result<(), KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc::EVP_PKEY_CTX_set_ec_paramgen_curve_nid
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:90,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:91,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:93,1
    - Dst: LcPtr::<EVP_PKEY>::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:96,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - nid
    argTypes:
    - c_int
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: evp_key_generate
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs
    functionUses: 2
    functionsReached:
    - aws_lc::EVP_PKEY_CTX_set_ec_paramgen_curve_nid
    - Err
    - LcPtr::<EVP_PKEY>::generate
    - Ok
    - Some
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn evp_key_generate(nid: c_int) -> Result<LcPtr<EVP_PKEY>,
      Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:102,1
    - Dst: ConstPointer::new_static
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:103,1
    - Dst: aws_lc::EC_group_p224
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:104,1
    - Dst: aws_lc::EC_group_p256
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:105,1
    - Dst: aws_lc::EC_group_p384
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:106,1
    - Dst: aws_lc::EC_group_p521
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:107,1
    - Dst: EC_group_secp256k1
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:108,1
    - Dst: core::ptr::null
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - nid
    argTypes:
    - i32
    constantsTouched: []
    func_position:
      end: 115
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 115
    functionName: ec_group_from_nid
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs
    functionUses: 3
    functionsReached:
    - aws_lc::EC_group_p384
    - ConstPointer::new_static
    - EC_group_secp256k1
    - aws_lc::EC_group_p224
    - aws_lc::EC_group_p521
    - core::ptr::null
    - aws_lc::EC_group_p256
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn ec_group_from_nid(nid: i32) -> Result<ConstPointer<''static,
      EC_GROUP>, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&''static AlgorithmID::private_key_size'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:119,1
    - Dst: LcPtr::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:121,1
    - Dst: ECDSA_SIG_from_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:121,1
    - Dst: Result::as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:121,1
    - Dst: Result::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:121,1
    - Dst: project_const_lifetime
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:123,1
    - Dst: aws_lc::ECDSA_SIG_get0_r
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:124,1
    - Dst: as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:124,1
    - Dst: to_be_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:126,1
    - Dst: project_const_lifetime
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:128,1
    - Dst: aws_lc::ECDSA_SIG_get0_s
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:129,1
    - Dst: as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:129,1
    - Dst: to_be_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:131,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:133,1
    - Dst: Signature::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:133,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:134,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:136,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:140,1
    - Dst: as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:140,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:141,1
    - Dst: as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:141,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 55
    argCount: 2
    argNames:
    - alg_id
    - sig
    argTypes:
    - '&''static AlgorithmID'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 144
      start: 118
    functionDepth: 4
    functionLinenumber: 118
    functionLinenumberEnd: 144
    functionName: ecdsa_asn1_to_fixed
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs
    functionUses: 0
    functionsReached:
    - LcPtr::new
    - aws_lc::ECDSA_SIG_get0_r
    - as_slice
    - Result::len
    - aws_lc::ECDSA_SIG_get0_s
    - ECDSA_SIG_from_bytes
    - Result::as_ptr
    - to_be_bytes
    - copy_from_slice
    - len
    - project_const_lifetime
    - '&''static AlgorithmID::private_key_size'
    - as_const_ptr
    - Signature::new
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn ecdsa_asn1_to_fixed(alg_id: &''static AlgorithmID, sig: &[u8])
      -> Result<Signature, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - curve_field_bits
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: compressed_public_key_size_bytes
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: 'pub(crate) const fn compressed_public_key_size_bytes(curve_field_bits:
      usize) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - curve_field_bits
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: uncompressed_public_key_size_bytes
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: 'pub(crate) const fn uncompressed_public_key_size_bytes(curve_field_bits:
      usize) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:213,1
    - Dst: from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:217,1
    - Dst: signature::UnparsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:221,1
    - Dst: Self::verify
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:223,1
    - Dst: SpdmResult::as_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 201
    functionDepth: 6
    functionLinenumber: 201
    functionLinenumberEnd: 225
    functionName: tests::test_ecdsa_asn1_verify
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs
    functionUses: 0
    functionsReached:
    - from_dirty_hex
    - signature::UnparsedPublicKey::new
    - Self::verify
    - SpdmResult::as_bytes
    linkageType: ''
    returnType: void
    signature: fn test_ecdsa_asn1_verify()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EcdsaKeyPair::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:231,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:231,1
    - Dst: Option::public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:232,1
    - Dst: '&[u8]::as_ref'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:233,1
    - Dst: AsBigEndian::<EcPublicKeyCompressedBin>::as_be_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:234,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:234,1
    - Dst: AsBigEndian::<EcPublicKeyUncompressedBin>::as_be_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:236,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:236,1
    - Dst: AsDer::<PublicKeyX509Der>::as_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:237,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:237,1
    - Dst: crate::rand::SystemRandom::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:241,1
    - Dst: Option::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:243,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:243,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:247,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:248,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:249,1
    - Dst: UnparsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:251,1
    - Dst: Self::verify
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:251,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:252,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 228
    functionDepth: 5
    functionLinenumber: 228
    functionLinenumberEnd: 255
    functionName: tests::public_key_formats
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs
    functionUses: 0
    functionsReached:
    - UnparsedPublicKey::new
    - Self::verify
    - Result::as_ref
    - AsBigEndian::<EcPublicKeyUncompressedBin>::as_be_bytes
    - unwrap
    - Option::unwrap
    - AsDer::<PublicKeyX509Der>::as_der
    - '&[u8]::as_ref'
    - Result::unwrap
    - EcdsaKeyPair::generate
    - Option::public_key
    - Option::sign
    - as_ref
    - crate::rand::SystemRandom::new
    - AsBigEndian::<EcPublicKeyCompressedBin>::as_be_bytes
    linkageType: ''
    returnType: void
    signature: fn public_key_formats()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T::fill_impl
      Src: /src/spdm-rs/external/ring/src/rand.rs:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dest
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: T::fill
    functionSourceFile: /src/spdm-rs/external/ring/src/rand.rs
    functionUses: 0
    functionsReached:
    - T::fill_impl
    linkageType: ''
    returnType: Result
    signature: 'fn fill(&self, dest: &mut [u8]) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T::fill_impl
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rand.rs:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dest
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: T::mut_fill
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rand.rs
    functionUses: 0
    functionsReached:
    - T::fill_impl
    linkageType: ''
    returnType: Result
    signature: 'fn mut_fill(&mut self, dest: &mut [u8]) -> Result<(), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: Random::expose
    functionSourceFile: /src/spdm-rs/external/ring/src/rand.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: pub fn expose(self) -> T
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T::zero
      Src: /src/spdm-rs/external/ring/src/rand.rs:57,1
    - Dst: '&dyn SecureRandom::fill'
      Src: /src/spdm-rs/external/ring/src/rand.rs:58,1
    - Dst: as_mut_bytes
      Src: /src/spdm-rs/external/ring/src/rand.rs:58,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/rand.rs:59,1
    - Dst: Random
      Src: /src/spdm-rs/external/ring/src/rand.rs:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - rng
    argTypes:
    - '&dyn SecureRandom'
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: generate
    functionSourceFile: /src/spdm-rs/external/ring/src/rand.rs
    functionUses: 110
    functionsReached:
    - '&dyn SecureRandom::fill'
    - as_mut_bytes
    - Random
    - T::zero
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn generate<T: RandomlyConstructable>(rng: &dyn SecureRandom,)
      -> Result<Random<T>, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/ring/src/rand.rs:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: SystemRandom::new
    functionSourceFile: /src/spdm-rs/external/ring/src/rand.rs
    functionUses: 69
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: pub fn new() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: SystemRandom::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rand.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getrandom::getrandom
      Src: /src/spdm-rs/external/ring/src/rand.rs:165,1
    - Dst: map_err
      Src: /src/spdm-rs/external/ring/src/rand.rs:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - dest
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: SystemRandom::fill_impl
    functionSourceFile: /src/spdm-rs/external/ring/src/rand.rs
    functionUses: 0
    functionsReached:
    - map_err
    - getrandom::getrandom
    linkageType: ''
    returnType: Result
    signature: 'fn fill_impl(&self, dest: &mut [u8]) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fips::indicator_check
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rand.rs:206,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rand.rs:207,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rand.rs:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - dest
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 210
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 210
    functionName: fill
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rand.rs
    functionUses: 61
    functionsReached:
    - fips::indicator_check
    - Err
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn fill(dest: &mut [u8]) -> Result<(), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SystemRandom::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rand.rs:223,1
    - Dst: Self::fill
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rand.rs:224,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rand.rs:224,1
    - Dst: mean_variance
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rand.rs:226,1
    - Dst: into_iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rand.rs:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 220
    functionDepth: 5
    functionLinenumber: 220
    functionLinenumberEnd: 230
    functionName: tests::test_secure_random_fill
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rand.rs
    functionUses: 0
    functionsReached:
    - into_iter
    - SystemRandom::new
    - unwrap
    - mean_variance
    - Self::fill
    linkageType: ''
    returnType: void
    signature: fn test_secure_random_fill()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand::fill
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rand.rs:236,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rand.rs:236,1
    - Dst: mean_variance
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rand.rs:238,1
    - Dst: into_iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rand.rs:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 233
    functionDepth: 5
    functionLinenumber: 233
    functionLinenumberEnd: 242
    functionName: tests::test_rand_fill
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rand.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - rand::fill
    - into_iter
    - mean_variance
    linkageType: ''
    returnType: void
    signature: fn test_rand_fill()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SystemRandom::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rand.rs:246,1
    - Dst: generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rand.rs:247,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rand.rs:247,1
    - Dst: T::expose
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rand.rs:249,1
    - Dst: mean_variance
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rand.rs:250,1
    - Dst: T::into_iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rand.rs:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 245
    functionDepth: 5
    functionLinenumber: 245
    functionLinenumberEnd: 254
    functionName: tests::test_randomly_constructable
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rand.rs
    functionUses: 0
    functionsReached:
    - SystemRandom::new
    - generate
    - mean_variance
    - T::into_iter
    - T::expose
    - Result::unwrap
    linkageType: ''
    returnType: void
    signature: fn test_randomly_constructable()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::IntoIter::next
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rand.rs:258,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rand.rs:259,1
    - Dst: Result::into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rand.rs:259,1
    - Dst: Self::IntoIter::by_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rand.rs:262,1
    - Dst: u8::into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rand.rs:264,1
    - Dst: sqrt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rand.rs:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 1
    argNames:
    - iterable
    argTypes:
    - '&mut IntoIter<T, N>'
    constantsTouched: []
    func_position:
      end: 272
      start: 256
    functionDepth: 5
    functionLinenumber: 256
    functionLinenumberEnd: 272
    functionName: tests::mean_variance
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rand.rs
    functionUses: 0
    functionsReached:
    - Self::IntoIter::next
    - sqrt
    - u8::into
    - Result::into
    - Result::unwrap
    - Self::IntoIter::by_ref
    linkageType: ''
    returnType: (f64, f64)
    signature: 'fn mean_variance<T: Into<f64>, const N: usize>(iterable: &mut IntoIter<T,
      N>) -> (f64, f64)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: AesBlockCipher::id
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BlockCipherId
    signature: fn id(&self) -> BlockCipherId
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: AesBlockCipher::key_len
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: fn key_len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Debug::fmt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: AesBlockCipher::fmt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs
    functionUses: 0
    functionsReached:
    - Debug::fmt
    linkageType: ''
    returnType: core::fmt::Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter<''_>) -> core::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:183,1
    - Dst: ConstPointer::key_len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:183,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:184,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:187,1
    - Dst: Self::into_boxed_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:187,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - cipher
    - key
    argTypes:
    - '&''static Cipher'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 190
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 190
    functionName: KeyEncryptionKey::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs
    functionUses: 0
    functionsReached:
    - Self::into_boxed_slice
    - Err
    - Vec::from
    - bool::len
    - ConstPointer::key_len
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn new(cipher: &''static Cipher, key: &[u8]) -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: id
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: KeyEncryptionKey::block_cipher_id
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs
    functionUses: 0
    functionsReached:
    - id
    linkageType: ''
    returnType: BlockCipherId
    signature: pub fn block_cipher_id(&self) -> BlockCipherId
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:217,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:217,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:218,1
    - Dst: MaybeUninit::<AES_KEY>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:221,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:223,1
    - Dst: try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:223,1
    - Dst: map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:223,1
    - Dst: aws_lc::AES_set_encrypt_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:225,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:225,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:225,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:226,1
    - Dst: assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:229,1
    - Dst: fips::indicator_check
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:235,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:246,1
    - Dst: try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:249,1
    - Dst: map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:249,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:253,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 55
    argCount: 2
    argNames:
    - plaintext
    - output
    argTypes:
    - '&[u8]'
    - '&''output mut [u8]'
    constantsTouched: []
    func_position:
      end: 254
      start: 212
    functionDepth: 4
    functionLinenumber: 212
    functionLinenumberEnd: 254
    functionName: KeyEncryptionKey::wrap
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs
    functionUses: 0
    functionsReached:
    - MaybeUninit::<AES_KEY>::uninit
    - map_err
    - Ok
    - Err
    - as_mut_ptr
    - as_ptr
    - fips::indicator_check
    - aws_lc::AES_set_encrypt_key
    - len
    - try_into
    - assume_init
    linkageType: ''
    returnType: Result
    signature: 'fn wrap<''output>(self,plaintext: &[u8],output: &''output mut [u8],)
      -> Result<&''output mut [u8], Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:271,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:271,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:272,1
    - Dst: MaybeUninit::<AES_KEY>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:275,1
    - Dst: AES_set_decrypt_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:278,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:279,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:280,1
    - Dst: try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:280,1
    - Dst: map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:280,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:281,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:284,1
    - Dst: assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:287,1
    - Dst: fips::indicator_check
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:293,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:304,1
    - Dst: try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:307,1
    - Dst: map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:307,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:311,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 55
    argCount: 2
    argNames:
    - ciphertext
    - output
    argTypes:
    - '&[u8]'
    - '&''output mut [u8]'
    constantsTouched: []
    func_position:
      end: 312
      start: 266
    functionDepth: 4
    functionLinenumber: 266
    functionLinenumberEnd: 312
    functionName: KeyEncryptionKey::unwrap
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs
    functionUses: 0
    functionsReached:
    - AES_set_decrypt_key
    - MaybeUninit::<AES_KEY>::uninit
    - map_err
    - Ok
    - Err
    - as_mut_ptr
    - as_ptr
    - fips::indicator_check
    - len
    - try_into
    - assume_init
    linkageType: ''
    returnType: Result
    signature: 'fn unwrap<''output>(self,ciphertext: &[u8],output: &''output mut [u8],)
      -> Result<&''output mut [u8], Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MaybeUninit::<AES_KEY>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:330,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:332,1
    - Dst: try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:332,1
    - Dst: map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:332,1
    - Dst: aws_lc::AES_set_encrypt_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:334,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:334,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:334,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:335,1
    - Dst: assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:338,1
    - Dst: fips::indicator_check
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:346,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:356,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:359,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 2
    argNames:
    - plaintext
    - output
    argTypes:
    - '&[u8]'
    - '&''output mut [u8]'
    constantsTouched: []
    func_position:
      end: 360
      start: 325
    functionDepth: 4
    functionLinenumber: 325
    functionLinenumberEnd: 360
    functionName: KeyEncryptionKey::wrap_with_padding
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs
    functionUses: 0
    functionsReached:
    - MaybeUninit::<AES_KEY>::uninit
    - map_err
    - Ok
    - as_mut_ptr
    - Err
    - as_ptr
    - fips::indicator_check
    - aws_lc::AES_set_encrypt_key
    - len
    - try_into
    - assume_init
    linkageType: ''
    returnType: Result
    signature: 'fn wrap_with_padding<''output>(self,plaintext: &[u8],output: &''output
      mut [u8],) -> Result<&''output mut [u8], Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MaybeUninit::<AES_KEY>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:376,1
    - Dst: AES_set_decrypt_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:379,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:380,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:381,1
    - Dst: try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:381,1
    - Dst: map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:381,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:382,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:385,1
    - Dst: assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:388,1
    - Dst: fips::indicator_check
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:395,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:405,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:408,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 2
    argNames:
    - ciphertext
    - output
    argTypes:
    - '&[u8]'
    - '&''output mut [u8]'
    constantsTouched: []
    func_position:
      end: 409
      start: 371
    functionDepth: 4
    functionLinenumber: 371
    functionLinenumberEnd: 409
    functionName: KeyEncryptionKey::unwrap_with_padding
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs
    functionUses: 0
    functionsReached:
    - AES_set_decrypt_key
    - MaybeUninit::<AES_KEY>::uninit
    - map_err
    - Ok
    - as_mut_ptr
    - Err
    - as_ptr
    - fips::indicator_check
    - len
    - try_into
    - assume_init
    linkageType: ''
    returnType: Result
    signature: 'fn unwrap_with_padding<''output>(self,ciphertext: &[u8],output: &''output
      mut [u8],) -> Result<&''output mut [u8], Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::debug_struct
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:414,1
    - Dst: field
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:414,1
    - Dst: finish_non_exhaustive
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 417
      start: 413
    functionDepth: 5
    functionLinenumber: 413
    functionLinenumberEnd: 417
    functionName: KeyEncryptionKey::fmt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs
    functionUses: 0
    functionsReached:
    - finish_non_exhaustive
    - SpdmCertChainBuffer::debug_struct
    - field
    linkageType: ''
    returnType: core::fmt::Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter<''_>) -> core::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmResult::zeroize
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/buffer.rs:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 3
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: Buffer::drop
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/buffer.rs
    functionUses: 0
    functionsReached:
    - SpdmResult::zeroize
    linkageType: ''
    returnType: void
    signature: fn drop(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Buffer
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/buffer.rs:32,1
    - Dst: Cow::Owned
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/buffer.rs:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - owned
    argTypes:
    - Vec<u8>
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: Buffer::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/buffer.rs
    functionUses: 131
    functionsReached:
    - Cow::Owned
    - Buffer
    linkageType: ''
    returnType: Buffer
    signature: 'pub(crate) fn new(owned: Vec<u8>) -> Buffer<''a, T>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_vec
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/buffer.rs:36,1
    - Dst: zeroize
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/buffer.rs:37,1
    - Dst: Buffer
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/buffer.rs:38,1
    - Dst: Cow::Owned
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/buffer.rs:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - slice
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 4
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: Buffer::take_from_slice
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/buffer.rs
    functionUses: 2
    functionsReached:
    - Cow::Owned
    - to_vec
    - Buffer
    - zeroize
    linkageType: ''
    returnType: Buffer
    signature: 'pub(crate) fn take_from_slice(slice: &mut [u8]) -> Buffer<''a, T>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::write_str
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/buffer.rs:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: Buffer::fmt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/buffer.rs
    functionUses: 0
    functionsReached:
    - SpdmCertChainBuffer::write_str
    linkageType: ''
    returnType: Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter<''_>) -> Result<(), fmt::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/buffer.rs:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: Buffer::as_ref
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/buffer.rs
    functionUses: 0
    functionsReached:
    - as_ref
    linkageType: ''
    returnType: '&[u8]'
    signature: fn as_ref(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Buffer::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/buffer.rs:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: tests::test_new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/buffer.rs
    functionUses: 0
    functionsReached:
    - Buffer::new
    linkageType: ''
    returnType: void
    signature: fn test_new()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Buffer::take_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/buffer.rs:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 5
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: tests::test_take_from_slice
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/buffer.rs
    functionUses: 0
    functionsReached:
    - Buffer::take_from_slice
    linkageType: ''
    returnType: void
    signature: fn test_take_from_slice()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/aead/gcm.rs:59,1
    - Dst: BitLength::from_byte_len
      Src: /src/spdm-rs/external/ring/src/aead/gcm.rs:62,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/aead/gcm.rs:62,1
    - Dst: BitLength::from_byte_len
      Src: /src/spdm-rs/external/ring/src/aead/gcm.rs:63,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/src/aead/gcm.rs:63,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/external/ring/src/aead/gcm.rs:63,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/aead/gcm.rs:63,1
    - Dst: Xi
      Src: /src/spdm-rs/external/ring/src/aead/gcm.rs:71,1
    - Dst: chunks
      Src: /src/spdm-rs/external/ring/src/aead/gcm.rs:78,1
    - Dst: '{

        bits::sliceutil::overwrite_at_start'
      Src: /src/spdm-rs/external/ring/src/aead/gcm.rs:80,1
    - Dst: update_block
      Src: /src/spdm-rs/external/ring/src/aead/gcm.rs:81,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/aead/gcm.rs:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 3
    argNames:
    - key
    - aad
    - in_out_len
    argTypes:
    - '&''key K'
    - Aad<&[u8]>
    - usize
    constantsTouched: []
    func_position:
      end: 85
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 85
    functionName: Context::new
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/gcm.rs
    functionUses: 152
    functionsReached:
    - '{

      bits::sliceutil::overwrite_at_start'
    - '&[u8]::len'
    - Err
    - update_block
    - chunks
    - Result::map_err
    - Xi
    - as_ref
    - Ok
    - BitLength::from_byte_len
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn new(key: &''key K,aad: Aad<&[u8]>,in_out_len: usize,)
      -> Result<Self, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Context::update_internal
      Src: /src/spdm-rs/external/ring/src/aead/poly1305.rs:74,1
    - Dst: SpdmResult::finish
      Src: /src/spdm-rs/external/ring/src/aead/poly1305.rs:77,1
    - Dst: SpdmResult::finish
      Src: /src/spdm-rs/external/ring/src/aead/poly1305.rs:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - input
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 10
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: Context::finish
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/poly1305.rs
    functionUses: 0
    functionsReached:
    - Context::update_internal
    - SpdmResult::finish
    linkageType: ''
    returnType: Tag
    signature: 'pub(super) fn finish(mut self, input: &[u8]) -> Tag'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_finish
      Src: /src/spdm-rs/external/ring/src/digest.rs:329,1
    - Dst: map_err
      Src: /src/spdm-rs/external/ring/src/digest.rs:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - cpu_features
    argTypes:
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 338
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 338
    functionName: Context::try_finish
    functionSourceFile: /src/spdm-rs/external/ring/src/digest.rs
    functionUses: 0
    functionsReached:
    - map_err
    - try_finish
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn try_finish(mut self,cpu_features: cpu::Features,) ->
      Result<Digest, InputTooLongError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 344
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 344
    functionName: Context::algorithm
    functionSourceFile: /src/spdm-rs/external/ring/src/digest.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''static Algorithm'
    signature: pub fn algorithm(&self) -> &'static Algorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Digest::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest.rs:231,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest.rs:232,1
    - Dst: Digest::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest.rs:235,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest.rs:235,1
    - Dst: Digest::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest.rs:235,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest.rs:236,1
    - Dst: Digest::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest.rs:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 2
    argNames:
    - digest
    - algorithm
    argTypes:
    - '&[u8]'
    - '&''static Algorithm'
    constantsTouched: []
    func_position:
      end: 241
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 241
    functionName: Digest::import_less_safe
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest.rs
    functionUses: 2
    functionsReached:
    - Err
    - Digest::len
    - Ok
    - copy_from_slice
    linkageType: ''
    returnType: Result
    signature: 'pub fn import_less_safe(digest: &[u8],algorithm: &''static Algorithm,)
      -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 452
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 452
    functionName: Digest::algorithm
    functionSourceFile: /src/spdm-rs/external/ring/src/digest.rs
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: '&''static Algorithm'
    signature: pub fn algorithm(&self) -> &'static Algorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output_len
      Src: /src/spdm-rs/external/ring/src/digest.rs:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 459
      start: 457
    functionDepth: 5
    functionLinenumber: 457
    functionLinenumberEnd: 459
    functionName: Digest::as_ref
    functionSourceFile: /src/spdm-rs/external/ring/src/digest.rs
    functionUses: 15
    functionsReached:
    - output_len
    linkageType: ''
    returnType: '&[u8]'
    signature: fn as_ref(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: debug::write_hex_bytes
      Src: /src/spdm-rs/external/ring/src/digest.rs:465,1
    - Dst: Digest::as_ref
      Src: /src/spdm-rs/external/ring/src/digest.rs:465,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - '&mut core::fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 466
      start: 463
    functionDepth: 6
    functionLinenumber: 463
    functionLinenumberEnd: 466
    functionName: Digest::fmt
    functionSourceFile: /src/spdm-rs/external/ring/src/digest.rs
    functionUses: 0
    functionsReached:
    - debug::write_hex_bytes
    - Digest::as_ref
    linkageType: ''
    returnType: core::fmt::Result
    signature: 'fn fmt(&self, fmt: &mut core::fmt::Formatter) -> core::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/spdm-rs/external/ring/src/digest.rs:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 528
      start: 526
    functionDepth: 4
    functionLinenumber: 526
    functionLinenumberEnd: 528
    functionName: Algorithm::output_len
    functionSourceFile: /src/spdm-rs/external/ring/src/digest.rs
    functionUses: 1
    functionsReached:
    - into
    linkageType: ''
    returnType: usize
    signature: pub fn output_len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 523
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 523
    functionName: Algorithm::chaining_len
    functionSourceFile: /src/spdm-rs/external/ring/src/digest.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub fn chaining_len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - '&Self'
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: Algorithm::eq
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/algorithm.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'fn eq(&self, other: &Self) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ConstPointer::new_static
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest.rs:367,1
    - Dst: aws_lc::EVP_sha1
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest.rs:368,1
    - Dst: aws_lc::EVP_sha224
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest.rs:369,1
    - Dst: aws_lc::EVP_sha256
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest.rs:370,1
    - Dst: aws_lc::EVP_sha384
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest.rs:371,1
    - Dst: aws_lc::EVP_sha512
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest.rs:372,1
    - Dst: aws_lc::EVP_sha512_256
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest.rs:373,1
    - Dst: aws_lc::EVP_sha3_256
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest.rs:374,1
    - Dst: EVP_sha3_384
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest.rs:375,1
    - Dst: aws_lc::EVP_sha3_512
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest.rs:376,1
    - Dst: Result::unwrap_or_else
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest.rs:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - algorithm_id
    argTypes:
    - '&AlgorithmID'
    constantsTouched: []
    func_position:
      end: 380
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 380
    functionName: match_digest_type
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest.rs
    functionUses: 10
    functionsReached:
    - aws_lc::EVP_sha3_512
    - ConstPointer::new_static
    - aws_lc::EVP_sha384
    - aws_lc::EVP_sha3_256
    - aws_lc::EVP_sha512_256
    - aws_lc::EVP_sha1
    - aws_lc::EVP_sha224
    - EVP_sha3_384
    - aws_lc::EVP_sha256
    - Result::unwrap_or_else
    - aws_lc::EVP_sha512
    linkageType: ''
    returnType: ConstPointer
    signature: 'pub(crate) fn match_digest_type(algorithm_id: &AlgorithmID) -> ConstPointer<''_,
      EVP_MD>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::max_input_test
      Src: /src/spdm-rs/external/ring/src/digest.rs:7,1
    - Dst: super::too_long_input_test_block
      Src: /src/spdm-rs/external/ring/src/digest.rs:13,1
    - Dst: super::too_long_input_test_byte
      Src: /src/spdm-rs/external/ring/src/digest.rs:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 764
      start: 741
    functionDepth: 12
    functionLinenumber: 741
    functionLinenumberEnd: 764
    functionName: max_input_tests
    functionSourceFile: /src/spdm-rs/external/ring/src/digest.rs
    functionUses: 0
    functionsReached:
    - super::too_long_input_test_block
    - super::too_long_input_test_byte
    - super::max_input_test
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nearly_full_context
      Src: /src/spdm-rs/external/ring/src/digest.rs:767,1
    - Dst: bool::update
      Src: /src/spdm-rs/external/ring/src/digest.rs:769,1
    - Dst: bool::finish
      Src: /src/spdm-rs/external/ring/src/digest.rs:770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - alg
    argTypes:
    - '&''static digest::Algorithm'
    constantsTouched: []
    func_position:
      end: 771
      start: 766
    functionDepth: 11
    functionLinenumber: 766
    functionLinenumberEnd: 771
    functionName: tests::max_input_test
    functionSourceFile: /src/spdm-rs/external/ring/src/digest.rs
    functionUses: 0
    functionsReached:
    - bool::finish
    - nearly_full_context
    - bool::update
    linkageType: ''
    returnType: void
    signature: 'fn max_input_test(alg: &''static digest::Algorithm)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nearly_full_context
      Src: /src/spdm-rs/external/ring/src/digest.rs:774,1
    - Dst: bool::update
      Src: /src/spdm-rs/external/ring/src/digest.rs:776,1
    - Dst: bool::finish
      Src: /src/spdm-rs/external/ring/src/digest.rs:777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - alg
    argTypes:
    - '&''static digest::Algorithm'
    constantsTouched: []
    func_position:
      end: 778
      start: 773
    functionDepth: 11
    functionLinenumber: 773
    functionLinenumberEnd: 778
    functionName: tests::too_long_input_test_block
    functionSourceFile: /src/spdm-rs/external/ring/src/digest.rs
    functionUses: 0
    functionsReached:
    - bool::finish
    - nearly_full_context
    - bool::update
    linkageType: ''
    returnType: void
    signature: 'fn too_long_input_test_block(alg: &''static digest::Algorithm)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nearly_full_context
      Src: /src/spdm-rs/external/ring/src/digest.rs:781,1
    - Dst: bool::update
      Src: /src/spdm-rs/external/ring/src/digest.rs:783,1
    - Dst: bool::update
      Src: /src/spdm-rs/external/ring/src/digest.rs:784,1
    - Dst: bool::finish
      Src: /src/spdm-rs/external/ring/src/digest.rs:785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - alg
    argTypes:
    - '&''static digest::Algorithm'
    constantsTouched: []
    func_position:
      end: 786
      start: 780
    functionDepth: 11
    functionLinenumber: 780
    functionLinenumberEnd: 786
    functionName: tests::too_long_input_test_byte
    functionSourceFile: /src/spdm-rs/external/ring/src/digest.rs
    functionUses: 0
    functionsReached:
    - bool::finish
    - nearly_full_context
    - bool::update
    linkageType: ''
    returnType: void
    signature: 'fn too_long_input_test_byte(alg: &''static digest::Algorithm)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: polyfill::u64_from_usize
      Src: /src/spdm-rs/external/ring/src/digest.rs:793,1
    - Dst: Option::block_len
      Src: /src/spdm-rs/external/ring/src/digest.rs:793,1
    - Dst: polyfill::u64_from_usize
      Src: /src/spdm-rs/external/ring/src/digest.rs:794,1
    - Dst: Option::block_len
      Src: /src/spdm-rs/external/ring/src/digest.rs:794,1
    - Dst: clone
      Src: /src/spdm-rs/external/ring/src/digest.rs:797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - alg
    argTypes:
    - '&''static digest::Algorithm'
    constantsTouched: []
    func_position:
      end: 804
      start: 788
    functionDepth: 5
    functionLinenumber: 788
    functionLinenumberEnd: 804
    functionName: tests::nearly_full_context
    functionSourceFile: /src/spdm-rs/external/ring/src/digest.rs
    functionUses: 0
    functionsReached:
    - Option::block_len
    - clone
    - polyfill::u64_from_usize
    linkageType: ''
    returnType: digest::Context
    signature: 'fn nearly_full_context(alg: &''static digest::Algorithm) -> digest::Context'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digest::Context::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest.rs:475,1
    - Dst: update
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest.rs:476,1
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest.rs:477,1
    - Dst: finish
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest.rs:480,1
    - Dst: BytesMutStrubbed::finish
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest.rs:481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 486
      start: 464
    functionDepth: 11
    functionLinenumber: 464
    functionLinenumberEnd: 486
    functionName: tests::digest_coverage
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest.rs
    functionUses: 0
    functionsReached:
    - finish
    - clone
    - BytesMutStrubbed::finish
    - update
    - digest::Context::new
    linkageType: ''
    returnType: void
    signature: fn digest_coverage()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digest::digest
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest.rs:490,1
    - Dst: digest::Digest::import_less_safe
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest.rs:492,1
    - Dst: Digest::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest.rs:492,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest.rs:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 496
      start: 489
    functionDepth: 6
    functionLinenumber: 489
    functionLinenumberEnd: 496
    functionName: tests::test_import_less_safe
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest.rs
    functionUses: 0
    functionsReached:
    - digest::digest
    - digest::Digest::import_less_safe
    - Result::unwrap
    - Digest::as_ref
    linkageType: ''
    returnType: void
    signature: fn test_import_less_safe()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::into_inner
      Src: /src/spdm-rs/external/ring/src/aead/opening_key.rs:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - nonce_sequence
    argTypes:
    - UnboundKey
    - N
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: OpeningKey::new
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/opening_key.rs
    functionUses: 9
    functionsReached:
    - bool::into_inner
    linkageType: ''
    returnType: Self
    signature: 'fn new(key: UnboundKey, nonce_sequence: N) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: algorithm
      Src: /src/spdm-rs/external/ring/src/aead/opening_key.rs:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 8
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: OpeningKey::algorithm
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/opening_key.rs
    functionUses: 0
    functionsReached:
    - algorithm
    linkageType: ''
    returnType: '&''static Algorithm'
    signature: fn algorithm(&self) -> &'static Algorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt_debug
      Src: /src/spdm-rs/external/ring/src/aead/opening_key.rs:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 12
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: OpeningKey::fmt
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/opening_key.rs
    functionUses: 0
    functionsReached:
    - fmt_debug
    linkageType: ''
    returnType: Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter) -> Result<(), core::fmt::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: open_in_place
      Src: /src/spdm-rs/external/ring/src/aead/opening_key.rs:79,1
    - Dst: advance
      Src: /src/spdm-rs/external/ring/src/aead/opening_key.rs:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - aad
    - in_out
    argTypes:
    - Aad<A>
    - '&''in_out mut [u8]'
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 16
    functionLinenumber: 71
    functionLinenumberEnd: 81
    functionName: OpeningKey::open_in_place
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/opening_key.rs
    functionUses: 0
    functionsReached:
    - open_in_place
    - advance
    linkageType: ''
    returnType: Result
    signature: 'pub fn open_in_place<''in_out, A>(&mut self,aad: Aad<A>,in_out: &''in_out
      mut [u8],) -> Result<&''in_out mut [u8], error::Unspecified>whereA: AsRef<[u8]>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: open_within
      Src: /src/spdm-rs/external/ring/src/aead/opening_key.rs:136,1
    - Dst: advance
      Src: /src/spdm-rs/external/ring/src/aead/opening_key.rs:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - aad
    - in_out
    - ciphertext_and_tag
    argTypes:
    - Aad<A>
    - '&''in_out mut [u8]'
    - RangeFrom<usize>
    constantsTouched: []
    func_position:
      end: 142
      start: 127
    functionDepth: 9
    functionLinenumber: 127
    functionLinenumberEnd: 142
    functionName: OpeningKey::open_within
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/opening_key.rs
    functionUses: 0
    functionsReached:
    - open_within
    - advance
    linkageType: ''
    returnType: Result
    signature: 'pub fn open_within<''in_out, A>(&mut self,aad: Aad<A>,in_out: &''in_out
      mut [u8],ciphertext_and_tag: RangeFrom<usize>,) -> Result<&''in_out mut [u8],
      error::Unspecified>whereA: AsRef<[u8]>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OpeningKeyPreparedNonce::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 389
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 389
    functionName: OpeningKey::prepare_nonce
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs
    functionUses: 0
    functionsReached:
    - OpeningKeyPreparedNonce::new
    linkageType: ''
    returnType: Result
    signature: pub fn prepare_nonce(&mut self) -> Result<OpeningKeyPreparedNonce<'_,
      N>, Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::into_inner
      Src: /src/spdm-rs/external/ring/src/aead/sealing_key.rs:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - nonce_sequence
    argTypes:
    - UnboundKey
    - N
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: SealingKey::new
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/sealing_key.rs
    functionUses: 10
    functionsReached:
    - bool::into_inner
    linkageType: ''
    returnType: Self
    signature: 'fn new(key: UnboundKey, nonce_sequence: N) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: algorithm
      Src: /src/spdm-rs/external/ring/src/aead/sealing_key.rs:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 8
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: SealingKey::algorithm
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/sealing_key.rs
    functionUses: 0
    functionsReached:
    - algorithm
    linkageType: ''
    returnType: '&''static Algorithm'
    signature: fn algorithm(&self) -> &'static Algorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt_debug
      Src: /src/spdm-rs/external/ring/src/aead/sealing_key.rs:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 12
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: SealingKey::fmt
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/sealing_key.rs
    functionUses: 0
    functionsReached:
    - fmt_debug
    linkageType: ''
    returnType: Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter) -> Result<(), core::fmt::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice::split_first_chunk_mut
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305_openssh.rs:78,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305_openssh.rs:78,1
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305_openssh.rs:80,1
    - Dst: chacha20_poly1305::begin
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305_openssh.rs:82,1
    - Dst: make_nonce
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305_openssh.rs:84,1
    - Dst: Aad::from
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305_openssh.rs:85,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305_openssh.rs:82,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305_openssh.rs:82,1
    - Dst: encrypt_single_block_with_ctr_0
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305_openssh.rs:92,1
    - Dst: make_nonce
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305_openssh.rs:93,1
    - Dst: encrypt
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305_openssh.rs:97,1
    - Dst: into
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305_openssh.rs:99,1
    - Dst: poly1305::sign
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305_openssh.rs:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 3
    argNames:
    - sequence_number
    - plaintext_in_ciphertext_out
    - tag_out
    argTypes:
    - u32
    - '&mut [u8]'
    - '&mut [u8; TAG_LEN]'
    constantsTouched: []
    func_position:
      end: 103
      start: 70
    functionDepth: 9
    functionLinenumber: 70
    functionLinenumberEnd: 103
    functionName: SealingKey::seal_in_place
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305_openssh.rs
    functionUses: 0
    functionsReached:
    - encrypt_single_block_with_ctr_0
    - into
    - Aad::from
    - unwrap
    - poly1305::sign
    - Option::unwrap
    - cpu::features
    - Result::map_err
    - make_nonce
    - slice::split_first_chunk_mut
    - encrypt
    - chacha20_poly1305::begin
    linkageType: ''
    returnType: void
    signature: 'pub fn seal_in_place(&self,sequence_number: u32,plaintext_in_ciphertext_out:
      &mut [u8],tag_out: &mut [u8; TAG_LEN],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: seal_in_place_append_tag
      Src: /src/spdm-rs/external/ring/src/aead/sealing_key.rs:77,1
    - Dst: advance
      Src: /src/spdm-rs/external/ring/src/aead/sealing_key.rs:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - aad
    - in_out
    argTypes:
    - Aad<A>
    - '&mut InOut'
    constantsTouched: []
    func_position:
      end: 79
      start: 68
    functionDepth: 9
    functionLinenumber: 68
    functionLinenumberEnd: 79
    functionName: SealingKey::seal_in_place_append_tag
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/sealing_key.rs
    functionUses: 0
    functionsReached:
    - seal_in_place_append_tag
    - advance
    linkageType: ''
    returnType: Result
    signature: 'pub fn seal_in_place_append_tag<A, InOut>(&mut self,aad: Aad<A>,in_out:
      &mut InOut,) -> Result<(), error::Unspecified>whereA: AsRef<[u8]>,InOut: AsMut<[u8]>
      + for<''in_out> Extend<&''in_out u8>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: seal_in_place_separate_tag
      Src: /src/spdm-rs/external/ring/src/aead/sealing_key.rs:101,1
    - Dst: advance
      Src: /src/spdm-rs/external/ring/src/aead/sealing_key.rs:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - aad
    - in_out
    argTypes:
    - Aad<A>
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 103
      start: 93
    functionDepth: 16
    functionLinenumber: 93
    functionLinenumberEnd: 103
    functionName: SealingKey::seal_in_place_separate_tag
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/sealing_key.rs
    functionUses: 0
    functionsReached:
    - advance
    - seal_in_place_separate_tag
    linkageType: ''
    returnType: Result
    signature: 'pub fn seal_in_place_separate_tag<A>(&mut self,aad: Aad<A>,in_out:
      &mut [u8],) -> Result<Tag, error::Unspecified>whereA: AsRef<[u8]>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SealingKeyPreparedNonce::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 527
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 527
    functionName: SealingKey::prepare_nonce
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs
    functionUses: 0
    functionsReached:
    - SealingKeyPreparedNonce::new
    linkageType: ''
    returnType: Result
    signature: pub fn prepare_nonce(&mut self) -> Result<SealingKeyPreparedNonce<'_,
      N>, Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: advance
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:10,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:11,1
    - Dst: SpdmCertChainBuffer::debug_struct
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:25,1
    - Dst: finish_non_exhaustive
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:25,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 560
      start: 530
    functionDepth: 9
    functionLinenumber: 530
    functionLinenumberEnd: 560
    functionName: nonce_seq_key_op_mut
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs
    functionUses: 0
    functionsReached:
    - SpdmCertChainBuffer::debug_struct
    - advance
    - Ok
    - finish_non_exhaustive
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OpeningKeyPreparedNonce::open_within
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - aad
    - in_out
    argTypes:
    - Aad<A>
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 580
      start: 575
    functionDepth: 11
    functionLinenumber: 575
    functionLinenumberEnd: 580
    functionName: OpeningKeyPreparedNonce::open_in_place
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs
    functionUses: 0
    functionsReached:
    - OpeningKeyPreparedNonce::open_within
    linkageType: ''
    returnType: Result
    signature: 'pub fn open_in_place<A>(self, aad: Aad<A>, in_out: &mut [u8]) -> Result<&mut
      [u8], Unspecified>whereA: AsRef<[u8]>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: open_within
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:600,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - aad
    - in_out
    - ciphertext_and_tag
    argTypes:
    - Aad<A>
    - '&mut [u8]'
    - RangeFrom<usize>
    constantsTouched: []
    func_position:
      end: 603
      start: 591
    functionDepth: 10
    functionLinenumber: 591
    functionLinenumberEnd: 603
    functionName: OpeningKeyPreparedNonce::open_within
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs
    functionUses: 1
    functionsReached:
    - as_ref
    - open_within
    linkageType: ''
    returnType: Result
    signature: 'pub fn open_within<A>(self,aad: Aad<A>,in_out: &mut [u8],ciphertext_and_tag:
      RangeFrom<usize>,) -> Result<&mut [u8], Unspecified>whereA: AsRef<[u8]>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: seal_in_place_append_tag
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:625,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:627,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:627,1
    - Dst: map
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - aad
    - in_out
    argTypes:
    - Aad<A>
    - '&mut InOut'
    constantsTouched: []
    func_position:
      end: 629
      start: 616
    functionDepth: 10
    functionLinenumber: 616
    functionLinenumberEnd: 629
    functionName: SealingKeyPreparedNonce::seal_in_place_append_tag
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs
    functionUses: 0
    functionsReached:
    - seal_in_place_append_tag
    - as_ref
    - map
    - Some
    linkageType: ''
    returnType: Result
    signature: 'pub fn seal_in_place_append_tag<A, InOut>(self,aad: Aad<A>,in_out:
      &mut InOut,) -> Result<(), Unspecified>whereA: AsRef<[u8]>,InOut: AsMut<[u8]>
      + for<''in_out> Extend<&''in_out u8>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: seal_in_place_separate_tag
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:647,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:649,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:649,1
    - Dst: map
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - aad
    - in_out
    argTypes:
    - Aad<A>
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 651
      start: 639
    functionDepth: 16
    functionLinenumber: 639
    functionLinenumberEnd: 651
    functionName: SealingKeyPreparedNonce::seal_in_place_separate_tag
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs
    functionUses: 0
    functionsReached:
    - as_ref
    - seal_in_place_separate_tag
    - map
    - Some
    linkageType: ''
    returnType: Result
    signature: 'pub fn seal_in_place_separate_tag<A>(self,aad: Aad<A>,in_out: &mut
      [u8],) -> Result<Tag, Unspecified>whereA: AsRef<[u8]>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/ring/src/aead.rs:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - aad
    argTypes:
    - A
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: Aad::from
    functionSourceFile: /src/spdm-rs/external/ring/src/aead.rs
    functionUses: 15
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: 'pub fn from(aad: A) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/src/aead.rs:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: Aad::as_ref
    functionSourceFile: /src/spdm-rs/external/ring/src/aead.rs
    functionUses: 0
    functionsReached:
    - as_ref
    linkageType: ''
    returnType: '&[u8]'
    signature: fn as_ref(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::from
      Src: /src/spdm-rs/external/ring/src/aead.rs:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: Aad::empty
    functionSourceFile: /src/spdm-rs/external/ring/src/aead.rs
    functionUses: 4
    functionsReached:
    - Self::from
    linkageType: ''
    returnType: Self
    signature: pub fn empty() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::into_inner
      Src: /src/spdm-rs/external/ring/src/aead/less_safe_key.rs:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - UnboundKey
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: LessSafeKey::new
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/less_safe_key.rs
    functionUses: 5
    functionsReached:
    - bool::into_inner
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(key: UnboundKey) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LessSafeKey::open_within
      Src: /src/spdm-rs/external/ring/src/aead/less_safe_key.rs:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - nonce
    - aad
    - in_out
    argTypes:
    - Nonce
    - Aad<A>
    - '&''in_out mut [u8]'
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 12
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: LessSafeKey::open_in_place
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/less_safe_key.rs
    functionUses: 0
    functionsReached:
    - LessSafeKey::open_within
    linkageType: ''
    returnType: Result
    signature: 'pub fn open_in_place<''in_out, A>(&self,nonce: Nonce,aad: Aad<A>,in_out:
      &''in_out mut [u8],) -> Result<&''in_out mut [u8], error::Unspecified>whereA:
      AsRef<[u8]>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Aad::from
      Src: /src/spdm-rs/external/ring/src/aead/less_safe_key.rs:61,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/src/aead/less_safe_key.rs:61,1
    - Dst: open_within
      Src: /src/spdm-rs/external/ring/src/aead/less_safe_key.rs:62,1
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/aead/less_safe_key.rs:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - nonce
    - aad
    - tag
    - in_out
    - ciphertext
    argTypes:
    - Nonce
    - Aad<A>
    - Tag
    - '&''in_out mut [u8]'
    - RangeFrom<usize>
    constantsTouched: []
    func_position:
      end: 71
      start: 50
    functionDepth: 10
    functionLinenumber: 50
    functionLinenumberEnd: 71
    functionName: LessSafeKey::open_in_place_separate_tag
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/less_safe_key.rs
    functionUses: 4
    functionsReached:
    - Aad::from
    - as_ref
    - open_within
    - cpu::features
    linkageType: ''
    returnType: Result
    signature: 'pub fn open_in_place_separate_tag<''in_out, A>(&self,nonce: Nonce,aad:
      Aad<A>,tag: Tag,in_out: &''in_out mut [u8],ciphertext: RangeFrom<usize>,) ->
      Result<&''in_out mut [u8], error::Unspecified>whereA: AsRef<[u8]>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&''in_out mut [u8]::len'
      Src: /src/spdm-rs/external/ring/src/aead/less_safe_key.rs:105,1
    - Dst: usize::checked_sub
      Src: /src/spdm-rs/external/ring/src/aead/less_safe_key.rs:105,1
    - Dst: ok_or
      Src: /src/spdm-rs/external/ring/src/aead/less_safe_key.rs:105,1
    - Dst: '&''in_out mut [u8]::split_at_mut'
      Src: /src/spdm-rs/external/ring/src/aead/less_safe_key.rs:111,1
    - Dst: try_into
      Src: /src/spdm-rs/external/ring/src/aead/less_safe_key.rs:112,1
    - Dst: LessSafeKey::open_in_place_separate_tag
      Src: /src/spdm-rs/external/ring/src/aead/less_safe_key.rs:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - nonce
    - aad
    - in_out
    - ciphertext_and_tag
    argTypes:
    - Nonce
    - Aad<A>
    - '&''in_out mut [u8]'
    - RangeFrom<usize>
    constantsTouched: []
    func_position:
      end: 116
      start: 95
    functionDepth: 11
    functionLinenumber: 95
    functionLinenumberEnd: 116
    functionName: LessSafeKey::open_within
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/less_safe_key.rs
    functionUses: 1
    functionsReached:
    - LessSafeKey::open_in_place_separate_tag
    - '&''in_out mut [u8]::split_at_mut'
    - ok_or
    - '&''in_out mut [u8]::len'
    - usize::checked_sub
    - try_into
    linkageType: ''
    returnType: Result
    signature: 'pub fn open_within<''in_out, A>(&self,nonce: Nonce,aad: Aad<A>,in_out:
      &''in_out mut [u8],ciphertext_and_tag: RangeFrom<usize>,) -> Result<&''in_out
      mut [u8], error::Unspecified>whereA: AsRef<[u8]>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: open_separate_gather
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:823,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - nonce
    - aad
    - in_ciphertext
    - in_tag
    - out_plaintext
    argTypes:
    - Nonce
    - Aad<A>
    - '&[u8]'
    - '&[u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 825
      start: 812
    functionDepth: 2
    functionLinenumber: 812
    functionLinenumberEnd: 825
    functionName: LessSafeKey::open_separate_gather
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs
    functionUses: 0
    functionsReached:
    - open_separate_gather
    - as_ref
    linkageType: ''
    returnType: Result
    signature: 'pub fn open_separate_gather<A>(&self,nonce: Nonce,aad: Aad<A>,in_ciphertext:
      &[u8],in_tag: &[u8],out_plaintext: &mut [u8],) -> Result<(), Unspecified>whereA:
      AsRef<[u8]>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LessSafeKey::seal_in_place_append_tag
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:846,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - nonce
    - aad
    - in_out
    argTypes:
    - Nonce
    - Aad<A>
    - '&mut InOut'
    constantsTouched: []
    func_position:
      end: 847
      start: 836
    functionDepth: 13
    functionLinenumber: 836
    functionLinenumberEnd: 847
    functionName: LessSafeKey::seal_in_place
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs
    functionUses: 0
    functionsReached:
    - LessSafeKey::seal_in_place_append_tag
    linkageType: ''
    returnType: Result
    signature: 'pub fn seal_in_place<A, InOut>(&self,nonce: Nonce,aad: Aad<A>,in_out:
      &mut InOut,) -> Result<(), Unspecified>whereA: AsRef<[u8]>,InOut: AsMut<[u8]>
      + for<''in_out> Extend<&''in_out u8>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LessSafeKey::seal_in_place_separate_tag
      Src: /src/spdm-rs/external/ring/src/aead/less_safe_key.rs:133,1
    - Dst: '&mut InOut::as_mut'
      Src: /src/spdm-rs/external/ring/src/aead/less_safe_key.rs:133,1
    - Dst: Result::map
      Src: /src/spdm-rs/external/ring/src/aead/less_safe_key.rs:133,1
    - Dst: '&mut InOut::extend'
      Src: /src/spdm-rs/external/ring/src/aead/less_safe_key.rs:134,1
    - Dst: Tag::as_ref
      Src: /src/spdm-rs/external/ring/src/aead/less_safe_key.rs:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - nonce
    - aad
    - in_out
    argTypes:
    - Nonce
    - Aad<A>
    - '&mut InOut'
    constantsTouched: []
    func_position:
      end: 135
      start: 123
    functionDepth: 12
    functionLinenumber: 123
    functionLinenumberEnd: 135
    functionName: LessSafeKey::seal_in_place_append_tag
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/less_safe_key.rs
    functionUses: 1
    functionsReached:
    - Tag::as_ref
    - '&mut InOut::as_mut'
    - LessSafeKey::seal_in_place_separate_tag
    - Result::map
    - '&mut InOut::extend'
    linkageType: ''
    returnType: Result
    signature: 'pub fn seal_in_place_append_tag<A, InOut>(&self,nonce: Nonce,aad:
      Aad<A>,in_out: &mut InOut,) -> Result<(), error::Unspecified>whereA: AsRef<[u8]>,InOut:
      AsMut<[u8]> + for<''in_out> Extend<&''in_out u8>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: seal
      Src: /src/spdm-rs/external/ring/src/aead/less_safe_key.rs:151,1
    - Dst: Aad::from
      Src: /src/spdm-rs/external/ring/src/aead/less_safe_key.rs:154,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/src/aead/less_safe_key.rs:154,1
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/aead/less_safe_key.rs:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - nonce
    - aad
    - in_out
    argTypes:
    - Nonce
    - Aad<A>
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 158
      start: 142
    functionDepth: 11
    functionLinenumber: 142
    functionLinenumberEnd: 158
    functionName: LessSafeKey::seal_in_place_separate_tag
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/less_safe_key.rs
    functionUses: 4
    functionsReached:
    - Aad::from
    - seal
    - as_ref
    - cpu::features
    linkageType: ''
    returnType: Result
    signature: 'pub fn seal_in_place_separate_tag<A>(&self,nonce: Nonce,aad: Aad<A>,in_out:
      &mut [u8],) -> Result<Tag, error::Unspecified>whereA: AsRef<[u8]>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: seal_in_place_separate_scatter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:935,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:937,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - nonce
    - aad
    - in_out
    - extra_in
    - extra_out_and_tag
    argTypes:
    - Nonce
    - Aad<A>
    - '&mut [u8]'
    - '&[u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 942
      start: 924
    functionDepth: 11
    functionLinenumber: 924
    functionLinenumberEnd: 942
    functionName: LessSafeKey::seal_in_place_scatter
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs
    functionUses: 0
    functionsReached:
    - as_ref
    - seal_in_place_separate_scatter
    linkageType: ''
    returnType: Result
    signature: 'pub fn seal_in_place_scatter<A>(&self,nonce: Nonce,aad: Aad<A>,in_out:
      &mut [u8],extra_in: &[u8],extra_out_and_tag: &mut [u8],) -> Result<(), Unspecified>whereA:
      AsRef<[u8]>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 164
    functionName: LessSafeKey::algorithm
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/less_safe_key.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: '&''static Algorithm'
    signature: pub fn algorithm(&self) -> &'static Algorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LessSafeKey::fmt_debug
      Src: /src/spdm-rs/external/ring/src/aead/less_safe_key.rs:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 180
      start: 178
    functionDepth: 12
    functionLinenumber: 178
    functionLinenumberEnd: 180
    functionName: LessSafeKey::fmt
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/less_safe_key.rs
    functionUses: 0
    functionsReached:
    - LessSafeKey::fmt_debug
    linkageType: ''
    returnType: Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter) -> Result<(), core::fmt::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: Algorithm::nonce_len
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/algorithm.rs
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub fn nonce_len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::debug_tuple
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1031,1
    - Dst: finish
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 1032
      start: 1030
    functionDepth: 13
    functionLinenumber: 1030
    functionLinenumberEnd: 1032
    functionName: Tag::fmt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs
    functionUses: 0
    functionsReached:
    - SpdmCertChainBuffer::debug_tuple
    - finish
    linkageType: ''
    returnType: core::fmt::Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter<''_>) -> core::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1056,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1056,1
    - Dst: from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1057,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1057,1
    - Dst: from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1058,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1058,1
    - Dst: UnboundKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1059,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1059,1
    - Dst: LessSafeKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1065,1
    - Dst: Result::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1067,1
    - Dst: '&[P::T]::try_into'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1067,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1067,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1068,1
    - Dst: as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1068,1
    - Dst: Result::seal_in_place
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1071,1
    - Dst: self::nonce::Nonce
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1073,1
    - Dst: FixedLength::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1073,1
    - Dst: Aad::empty
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1073,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1071,1
    - Dst: Self::clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1076,1
    - Dst: Result::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1077,1
    - Dst: '&[P::T]::try_into'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1077,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1077,1
    - Dst: Self::clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1086,1
    - Dst: Result::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1087,1
    - Dst: '&[P::T]::try_into'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1087,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1087,1
    - Dst: Result::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1097,1
    - Dst: '&[P::T]::try_into'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1097,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1097,1
    - Dst: Result::open_in_place
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1098,1
    - Dst: self::nonce::Nonce
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1099,1
    - Dst: FixedLength::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1099,1
    - Dst: Aad::empty
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1099,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1098,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1055
    functionDepth: 14
    functionLinenumber: 1055
    functionLinenumberEnd: 1103
    functionName: tests::test_aes_128
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs
    functionUses: 0
    functionsReached:
    - Result::as_slice
    - '&[P::T]::try_into'
    - UnboundKey::new
    - self::nonce::Nonce
    - unwrap
    - Result::unwrap
    - Self::clone
    - Result::seal_in_place
    - Result::open_in_place
    - LessSafeKey::new
    - Aad::empty
    - from_hex
    - Vec::from
    - as_slice
    - FixedLength::from
    linkageType: ''
    returnType: void
    signature: fn test_aes_128()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SealingKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1107,1
    - Dst: UnboundKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1108,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1108,1
    - Dst: Counter32Builder::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1109,1
    - Dst: Counter32Builder::build
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1109,1
    - Dst: OpeningKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1111,1
    - Dst: UnboundKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1112,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1112,1
    - Dst: Counter32Builder::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1113,1
    - Dst: Counter32Builder::build
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1113,1
    - Dst: prepare_nonce
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1115,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1115,1
    - Dst: prepare_nonce
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1116,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1106
    functionDepth: 15
    functionLinenumber: 1106
    functionLinenumberEnd: 1119
    functionName: tests::debug_prepared_nonce
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs
    functionUses: 0
    functionsReached:
    - SealingKey::new
    - Counter32Builder::build
    - prepare_nonce
    - UnboundKey::new
    - unwrap
    - OpeningKey::new
    - Result::unwrap
    - Counter32Builder::new
    linkageType: ''
    returnType: void
    signature: fn debug_prepared_nonce()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Tag
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1125
    functionName: tests::debug_tag
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs
    functionUses: 0
    functionsReached:
    - Tag
    linkageType: ''
    returnType: void
    signature: fn debug_tag()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: Algorithm::decapsulate_key_size
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub(crate) fn decapsulate_key_size(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: Algorithm::encapsulate_key_size
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub(crate) fn encapsulate_key_size(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: Algorithm::ciphertext_size
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub(crate) fn ciphertext_size(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: Algorithm::shared_secret_size
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub(crate) fn shared_secret_size(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 198
    functionName: AlgorithmId::nid
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: i32
    signature: fn nid(self) -> i32
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bytes::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:237,1
    - Dst: usize::cmp
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:237,1
    - Dst: Option::decapsulate_key_size
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:237,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:238,1
    - Dst: KeyRejected::too_small
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:238,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:239,1
    - Dst: KeyRejected::too_large
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:239,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:240,1
    - Dst: LcPtr::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:242,1
    - Dst: aws_lc::EVP_PKEY_kem_new_raw_secret_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:243,1
    - Dst: nid
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:243,1
    - Dst: Bytes::as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:243,1
    - Dst: Bytes::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:243,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:245,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 2
    argNames:
    - alg
    - bytes
    argTypes:
    - '&''static Algorithm<Id>'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 249
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 249
    functionName: DecapsulationKey::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs
    functionUses: 9
    functionsReached:
    - LcPtr::new
    - aws_lc::EVP_PKEY_kem_new_raw_secret_key
    - Bytes::len
    - KeyRejected::too_large
    - nid
    - Err
    - Bytes::as_ptr
    - KeyRejected::too_small
    - usize::cmp
    - Option::decapsulate_key_size
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn new(alg: &''static Algorithm<Id>, bytes: &[u8]) -> Result<Self,
      KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kem_key_generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:256,1
    - Dst: nid
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:256,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - alg
    argTypes:
    - '&''static Algorithm<Id>'
    constantsTouched: []
    func_position:
      end: 261
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 261
    functionName: DecapsulationKey::generate
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs
    functionUses: 10
    functionsReached:
    - nid
    - kem_key_generate
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn generate(alg: &''static Algorithm<Id>) -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: DecapsulationKey::algorithm
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''static Algorithm'
    signature: pub fn algorithm(&self) -> &'static Algorithm<Id>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_const
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:278,1
    - Dst: marshal_raw_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:278,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:283,1
    - Dst: DecapsulationKeyBytes::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 284
      start: 277
    functionDepth: 5
    functionLinenumber: 277
    functionLinenumberEnd: 284
    functionName: DecapsulationKey::key_bytes
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs
    functionUses: 0
    functionsReached:
    - marshal_raw_private_key
    - DecapsulationKeyBytes::new
    - as_const
    - Ok
    linkageType: ''
    returnType: Result
    signature: pub fn key_bytes(&self) -> Result<DecapsulationKeyBytes<'static>, Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:297,1
    - Dst: Result::key_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:306,1
    - Dst: Option::is_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:306,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:307,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 311
      start: 296
    functionDepth: 10
    functionLinenumber: 296
    functionLinenumberEnd: 311
    functionName: DecapsulationKey::encapsulation_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs
    functionUses: 0
    functionsReached:
    - clone
    - Err
    - Option::is_err
    - Result::key_bytes
    - Ok
    linkageType: ''
    returnType: Result
    signature: pub fn encapsulation_key(&self) -> Result<EncapsulationKey<Id>, Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: shared_secret_size
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:328,1
    - Dst: create_EVP_PKEY_CTX
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:331,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:333,1
    - Dst: aws_lc::EVP_PKEY_decapsulate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:336,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:337,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:338,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:341,1
    - Dst: '*const HMAC_CTX::cast_mut'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:341,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:342,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:345,1
    - Dst: SpdmResult::truncate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:353,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:355,1
    - Dst: SharedSecret
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:355,1
    - Dst: SpdmResult::into_boxed_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 1
    argNames:
    - ciphertext
    argTypes:
    - Ciphertext<'_>
    constantsTouched: []
    func_position:
      end: 356
      start: 327
    functionDepth: 4
    functionLinenumber: 327
    functionLinenumberEnd: 356
    functionName: DecapsulationKey::decapsulate
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs
    functionUses: 0
    functionsReached:
    - '*const HMAC_CTX::cast_mut'
    - aws_lc::EVP_PKEY_decapsulate
    - SharedSecret
    - SpdmResult::into_boxed_slice
    - SpdmResult::truncate
    - Ok
    - as_mut_ptr
    - create_EVP_PKEY_CTX
    - Err
    - as_ptr
    - shared_secret_size
    - len
    - as_ref
    - SpdmResult::as_mut_ptr
    linkageType: ''
    returnType: Result
    signature: 'pub fn decapsulate(&self, ciphertext: Ciphertext<''_>) -> Result<SharedSecret,
      Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::debug_struct
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:368,1
    - Dst: field
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:368,1
    - Dst: finish_non_exhaustive
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 371
      start: 367
    functionDepth: 5
    functionLinenumber: 367
    functionLinenumberEnd: 371
    functionName: DecapsulationKey::fmt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs
    functionUses: 0
    functionsReached:
    - finish_non_exhaustive
    - SpdmCertChainBuffer::debug_struct
    - field
    linkageType: ''
    returnType: core::fmt::Result
    signature: 'fn fmt(&self, f: &mut Formatter<''_>) -> core::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 397
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 397
    functionName: EncapsulationKey::algorithm
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''static Algorithm'
    signature: pub fn algorithm(&self) -> &'static Algorithm<Id>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ciphertext_size
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:405,1
    - Dst: shared_secret_size
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:406,1
    - Dst: create_EVP_PKEY_CTX
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:410,1
    - Dst: aws_lc::EVP_PKEY_encapsulate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:413,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:414,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:415,1
    - Dst: SpdmResult::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:417,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:421,1
    - Dst: truncate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:430,1
    - Dst: SpdmResult::truncate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:432,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:434,1
    - Dst: Ciphertext::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:435,1
    - Dst: SharedSecret::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:436,1
    - Dst: SpdmResult::into_boxed_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:436,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 438
      start: 404
    functionDepth: 4
    functionLinenumber: 404
    functionLinenumberEnd: 438
    functionName: EncapsulationKey::encapsulate
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs
    functionUses: 0
    functionsReached:
    - Ciphertext::new
    - ciphertext_size
    - SpdmResult::into_boxed_slice
    - SpdmResult::truncate
    - Ok
    - aws_lc::EVP_PKEY_encapsulate
    - as_mut_ptr
    - create_EVP_PKEY_CTX
    - Err
    - truncate
    - shared_secret_size
    - SharedSecret::new
    - SpdmResult::as_mut_ptr
    linkageType: ''
    returnType: Result
    signature: pub fn encapsulate(&self) -> Result<(Ciphertext<'static>, SharedSecret),
      Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_const
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:446,1
    - Dst: marshal_raw_public_to_buffer
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:446,1
    - Dst: truncate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:452,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:454,1
    - Dst: EncapsulationKeyBytes::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 455
      start: 444
    functionDepth: 5
    functionLinenumber: 444
    functionLinenumberEnd: 455
    functionName: EncapsulationKey::key_bytes
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs
    functionUses: 0
    functionsReached:
    - marshal_raw_public_to_buffer
    - as_const
    - truncate
    - EncapsulationKeyBytes::new
    - Ok
    linkageType: ''
    returnType: Result
    signature: pub fn key_bytes(&self) -> Result<EncapsulationKeyBytes<'static>, Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bytes::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:468,1
    - Dst: usize::cmp
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:468,1
    - Dst: Option::encapsulate_key_size
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:468,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:469,1
    - Dst: KeyRejected::too_small
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:469,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:470,1
    - Dst: KeyRejected::too_large
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:470,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:471,1
    - Dst: LcPtr::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:473,1
    - Dst: EVP_PKEY_kem_new_raw_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:474,1
    - Dst: nid
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:474,1
    - Dst: Bytes::as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:474,1
    - Dst: Bytes::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:474,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:476,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 2
    argNames:
    - alg
    - bytes
    argTypes:
    - '&''static Algorithm<Id>'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 480
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 480
    functionName: EncapsulationKey::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs
    functionUses: 5
    functionsReached:
    - LcPtr::new
    - Bytes::len
    - KeyRejected::too_large
    - Option::encapsulate_key_size
    - nid
    - Err
    - Bytes::as_ptr
    - EVP_PKEY_kem_new_raw_public_key
    - KeyRejected::too_small
    - usize::cmp
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn new(alg: &''static Algorithm<Id>, bytes: &[u8]) -> Result<Self,
      KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::debug_struct
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:492,1
    - Dst: field
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:492,1
    - Dst: finish_non_exhaustive
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 495
      start: 491
    functionDepth: 5
    functionLinenumber: 491
    functionLinenumberEnd: 495
    functionName: EncapsulationKey::fmt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs
    functionUses: 0
    functionsReached:
    - finish_non_exhaustive
    - SpdmCertChainBuffer::debug_struct
    - field
    linkageType: ''
    returnType: core::fmt::Result
    signature: 'fn fmt(&self, f: &mut Formatter<''_>) -> core::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:504,1
    - Dst: Cow::Owned
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - Vec<u8>
    constantsTouched: []
    func_position:
      end: 505
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 505
    functionName: Ciphertext::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs
    functionUses: 1
    functionsReached:
    - Self
    - Cow::Owned
    linkageType: ''
    returnType: Ciphertext
    signature: 'fn new(value: Vec<u8>) -> Ciphertext<''a>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SimpleLogger::zeroize
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:511,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 513
      start: 509
    functionDepth: 3
    functionLinenumber: 509
    functionLinenumberEnd: 513
    functionName: Ciphertext::drop
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs
    functionUses: 0
    functionsReached:
    - SimpleLogger::zeroize
    linkageType: ''
    returnType: void
    signature: fn drop(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SimpleLogger::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:520,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 522
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 522
    functionName: Ciphertext::as_ref
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs
    functionUses: 0
    functionsReached:
    - SimpleLogger::as_ref
    linkageType: ''
    returnType: '&[u8]'
    signature: fn as_ref(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:527,1
    - Dst: Cow::Borrowed
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - '&''a [u8]'
    constantsTouched: []
    func_position:
      end: 528
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 528
    functionName: Ciphertext::from
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs
    functionUses: 4
    functionsReached:
    - Self
    - Cow::Borrowed
    linkageType: ''
    returnType: Self
    signature: 'fn from(value: &''a [u8]) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - Box<[u8]>
    constantsTouched: []
    func_position:
      end: 537
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 537
    functionName: SharedSecret::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs
    functionUses: 2
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: 'fn new(value: Box<[u8]>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zeroize
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 543
      start: 541
    functionDepth: 3
    functionLinenumber: 541
    functionLinenumberEnd: 543
    functionName: SharedSecret::drop
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs
    functionUses: 0
    functionsReached:
    - zeroize
    linkageType: ''
    returnType: void
    signature: fn drop(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 549
      start: 547
    functionDepth: 2
    functionLinenumber: 547
    functionLinenumberEnd: 549
    functionName: SharedSecret::as_ref
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs
    functionUses: 0
    functionsReached:
    - as_ref
    linkageType: ''
    returnType: '&[u8]'
    signature: fn as_ref(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_kem_set_params
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:556,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:557,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:559,1
    - Dst: LcPtr::<EVP_PKEY>::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:563,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:563,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - nid
    argTypes:
    - i32
    constantsTouched: []
    func_position:
      end: 564
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 564
    functionName: kem_key_generate
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs
    functionUses: 1
    functionsReached:
    - EVP_PKEY_CTX_kem_set_params
    - Err
    - LcPtr::<EVP_PKEY>::generate
    - Ok
    - Some
    linkageType: ''
    returnType: Result
    signature: 'fn kem_key_generate(nid: i32) -> Result<LcPtr<EVP_PKEY>, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ciphertext::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:576,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:576,1
    - Dst: drop
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:578,1
    - Dst: Ciphertext::<'static>::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 583
      start: 574
    functionDepth: 4
    functionLinenumber: 574
    functionLinenumberEnd: 583
    functionName: tests::ciphertext
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs
    functionUses: 0
    functionsReached:
    - Ciphertext::from
    - Ciphertext::<'static>::new
    - as_ref
    - drop
    linkageType: ''
    returnType: void
    signature: fn ciphertext()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SharedSecret::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:588,1
    - Dst: into_boxed_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 590
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 590
    functionName: tests::shared_secret
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs
    functionUses: 0
    functionsReached:
    - into_boxed_slice
    - SharedSecret::new
    linkageType: ''
    returnType: void
    signature: fn shared_secret()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DecapsulationKey::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:595,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:595,1
    - Dst: Result::key_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:599,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:599,1
    - Dst: DecapsulationKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:605,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:605,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:605,1
    - Dst: Result::encapsulation_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:614,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:614,1
    - Dst: bool::key_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:615,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:615,1
    - Dst: EncapsulationKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:617,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:617,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:617,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 625
      start: 593
    functionDepth: 8
    functionLinenumber: 593
    functionLinenumberEnd: 625
    functionName: tests::test_kem_serialize
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs
    functionUses: 0
    functionsReached:
    - DecapsulationKey::generate
    - DecapsulationKey::new
    - bool::key_bytes
    - Result::as_ref
    - Option::unwrap
    - Result::unwrap
    - Result::key_bytes
    - Result::encapsulation_key
    - EncapsulationKey::new
    linkageType: ''
    returnType: void
    signature: fn test_kem_serialize()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EncapsulationKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:632,1
    - Dst: EncapsulationKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:639,1
    - Dst: DecapsulationKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:647,1
    - Dst: DecapsulationKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:654,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 660
      start: 628
    functionDepth: 2
    functionLinenumber: 628
    functionLinenumberEnd: 660
    functionName: tests::test_kem_wrong_sizes
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs
    functionUses: 0
    functionsReached:
    - DecapsulationKey::new
    - EncapsulationKey::new
    linkageType: ''
    returnType: void
    signature: fn test_kem_wrong_sizes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DecapsulationKey::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:665,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:665,1
    - Dst: Result::key_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:669,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:669,1
    - Dst: DecapsulationKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:671,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:671,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:671,1
    - Dst: Result::encapsulation_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:676,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:676,1
    - Dst: bool::encapsulate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:679,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:679,1
    - Dst: Result::decapsulate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:682,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:682,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 688
      start: 663
    functionDepth: 8
    functionLinenumber: 663
    functionLinenumberEnd: 688
    functionName: tests::test_kem_e2e
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs
    functionUses: 0
    functionsReached:
    - DecapsulationKey::generate
    - DecapsulationKey::new
    - Result::as_ref
    - bool::encapsulate
    - Option::unwrap
    - Result::unwrap
    - Result::decapsulate
    - Result::key_bytes
    - Result::expect
    - Result::encapsulation_key
    linkageType: ''
    returnType: void
    signature: fn test_kem_e2e()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DecapsulationKey::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:693,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:693,1
    - Dst: Result::encapsulation_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:696,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:696,1
    - Dst: bool::key_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:699,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:699,1
    - Dst: Result::key_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:702,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:702,1
    - Dst: drop
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:705,1
    - Dst: drop
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:706,1
    - Dst: EncapsulationKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:709,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:709,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:709,1
    - Dst: Result::encapsulate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:710,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:710,1
    - Dst: DecapsulationKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:716,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:716,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:716,1
    - Dst: Result::decapsulate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:717,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:717,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 723
      start: 691
    functionDepth: 9
    functionLinenumber: 691
    functionLinenumberEnd: 723
    functionName: tests::test_serialized_kem_e2e
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs
    functionUses: 0
    functionsReached:
    - DecapsulationKey::generate
    - DecapsulationKey::new
    - bool::key_bytes
    - Result::as_ref
    - Option::unwrap
    - Result::unwrap
    - drop
    - Result::decapsulate
    - Result::encapsulate
    - Result::key_bytes
    - Result::expect
    - Result::encapsulation_key
    - EncapsulationKey::new
    linkageType: ''
    returnType: void
    signature: fn test_serialized_kem_e2e()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DecapsulationKey::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:729,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:729,1
    - Dst: Result::key_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:732,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:732,1
    - Dst: DecapsulationKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:736,1
    - Dst: Option::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:736,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:736,1
    - Dst: Result::key_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:743,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:743,1
    - Dst: Result::encapsulation_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:747,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:747,1
    - Dst: bool::encapsulate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:749,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:749,1
    - Dst: Result::decapsulate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:751,1
    - Dst: Ciphertext::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:752,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:752,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:751,1
    - Dst: Result::decapsulate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:754,1
    - Dst: Ciphertext::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:755,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:755,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:754,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 765
      start: 726
    functionDepth: 8
    functionLinenumber: 726
    functionLinenumberEnd: 765
    functionName: tests::test_decapsulation_key_serialization_roundtrip
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs
    functionUses: 0
    functionsReached:
    - Ciphertext::from
    - DecapsulationKey::generate
    - DecapsulationKey::new
    - bool::encapsulate
    - Option::unwrap
    - Result::unwrap
    - Result::expect
    - Result::decapsulate
    - Result::key_bytes
    - Option::as_ref
    - Result::encapsulation_key
    - as_ref
    linkageType: ''
    returnType: void
    signature: fn test_decapsulation_key_serialization_roundtrip()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DecapsulationKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:777,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:784,1
    - Dst: bool::key_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:787,1
    - Dst: DecapsulationKey::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:802,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:802,1
    - Dst: encapsulation_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:803,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:803,1
    - Dst: Result::encapsulate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:804,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:804,1
    - Dst: bool::decapsulate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:809,1
    - Dst: Ciphertext::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:809,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:809,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 816
      start: 768
    functionDepth: 8
    functionLinenumber: 768
    functionLinenumberEnd: 816
    functionName: tests::test_decapsulation_key_zeroed_bytes
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs
    functionUses: 0
    functionsReached:
    - Ciphertext::from
    - DecapsulationKey::new
    - DecapsulationKey::generate
    - bool::key_bytes
    - Result::unwrap
    - bool::decapsulate
    - Result::encapsulate
    - as_ref
    - encapsulation_key
    linkageType: ''
    returnType: void
    signature: fn test_decapsulation_key_zeroed_bytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DecapsulationKey::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:825,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:825,1
    - Dst: bool::key_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:826,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:826,1
    - Dst: id
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:829,1
    - Dst: id
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:829,1
    - Dst: DecapsulationKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:831,1
    - Dst: Option::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:831,1
    - Dst: DecapsulationKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:838,1
    - Dst: Option::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:838,1
    - Dst: err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:847,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:847,1
    - Dst: decapsulate_key_size
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:848,1
    - Dst: decapsulate_key_size
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:849,1
    - Dst: DecapsulationKey::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:869,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:869,1
    - Dst: Option::encapsulation_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:870,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:870,1
    - Dst: Option::key_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:871,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:871,1
    - Dst: id
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:874,1
    - Dst: id
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:874,1
    - Dst: EncapsulationKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:875,1
    - Dst: Option::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:875,1
    - Dst: EncapsulationKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:881,1
    - Dst: Option::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:881,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 77
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 891
      start: 819
    functionDepth: 8
    functionLinenumber: 819
    functionLinenumberEnd: 891
    functionName: tests::test_cross_algorithm_key_rejection
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs
    functionUses: 0
    functionsReached:
    - DecapsulationKey::generate
    - DecapsulationKey::new
    - decapsulate_key_size
    - bool::key_bytes
    - id
    - unwrap
    - Option::encapsulation_key
    - Option::key_bytes
    - Option::unwrap
    - Result::unwrap
    - err
    - Option::as_ref
    - EncapsulationKey::new
    linkageType: ''
    returnType: void
    signature: fn test_cross_algorithm_key_rejection()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DecapsulationKey::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:895,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs:895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 907
      start: 894
    functionDepth: 2
    functionLinenumber: 894
    functionLinenumberEnd: 907
    functionName: tests::test_debug_fmt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs
    functionUses: 0
    functionsReached:
    - DecapsulationKey::generate
    - Result::expect
    linkageType: ''
    returnType: void
    signature: fn test_debug_fmt()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fill
      Src: /src/spdm-rs/external/ring/src/signature.rs:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - fill
    argTypes:
    - F
    constantsTouched: []
    func_position:
      end: 320
      start: 310
    functionDepth: 3
    functionLinenumber: 310
    functionLinenumberEnd: 320
    functionName: Signature::new
    functionSourceFile: /src/spdm-rs/external/ring/src/signature.rs
    functionUses: 4
    functionsReached:
    - fill
    linkageType: ''
    returnType: Self
    signature: 'pub(crate) fn new<F>(fill: F) -> SelfwhereF: FnOnce(&mut [u8; MAX_LEN])
      -> usize,'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 326
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 326
    functionName: Signature::as_ref
    functionSourceFile: /src/spdm-rs/external/ring/src/signature.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: fn as_ref(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bytes::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:749,1
    - Dst: '&[u8]::to_vec'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:749,1
    - Dst: VecDeque::into_boxed_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:749,1
    - Dst: Bytes::is_empty
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:750,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:751,1
    - Dst: KeyRejected::unspecified
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:751,1
    - Dst: LcPtr::<EVP_PKEY>::parse_rfc5280_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:757,1
    - Dst: try_parse_x25519_public_key_raw_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:763,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:766,1
    - Dst: LcPtr::<EVP_PKEY>::parse_rfc5280_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:776,1
    - Dst: ec::validate_ec_evp_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:778,1
    - Dst: Result::as_const
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:778,1
    - Dst: ec::encoding::sec1::parse_sec1_public_point
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:781,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:790,1
    - Dst: KeyRejected::invalid_encoding
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:790,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:793,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:800,1
    - Dst: KeyRejected::unspecified
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:800,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 54
    argCount: 2
    argNames:
    - bytes
    - nid
    argTypes:
    - impl AsRef<[u8]>
    - i32
    constantsTouched: []
    func_position:
      end: 802
      start: 748
    functionDepth: 5
    functionLinenumber: 748
    functionLinenumberEnd: 802
    functionName: ParsedPublicKey::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs
    functionUses: 35
    functionsReached:
    - '&[u8]::to_vec'
    - LcPtr::<EVP_PKEY>::parse_rfc5280_public_key
    - try_parse_x25519_public_key_raw_bytes
    - Err
    - Bytes::as_ref
    - Result::as_const
    - VecDeque::into_boxed_slice
    - Bytes::is_empty
    - KeyRejected::unspecified
    - ec::validate_ec_evp_key
    - ec::encoding::sec1::parse_sec1_public_point
    - KeyRejected::invalid_encoding
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn new(bytes: impl AsRef<[u8]>, nid: i32) -> Result<Self,
      KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: ParsedPublicKey::algorithm
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''static dyn VerificationAlgorithm'
    signature: pub fn algorithm(&self) -> &'static dyn VerificationAlgorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 466
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 466
    functionName: ParsedPublicKey::key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&LcPtr'
    signature: pub(crate) fn key(&self) -> &LcPtr<EVP_PKEY>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::as_const
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature.rs:481,1
    - Dst: ConstPointer::marshal_rfc5280_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature.rs:481,1
    - Dst: into_boxed_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature.rs:481,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature.rs:485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - params
    - key
    argTypes:
    - '&''static RsaParameters'
    - LcPtr<EVP_PKEY>
    constantsTouched: []
    func_position:
      end: 491
      start: 477
    functionDepth: 6
    functionLinenumber: 477
    functionLinenumberEnd: 491
    functionName: ParsedPublicKey::from_rsa_evp_pkey
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature.rs
    functionUses: 1
    functionsReached:
    - bool::as_const
    - ConstPointer::marshal_rfc5280_public_key
    - into_boxed_slice
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn from_rsa_evp_pkey(params: &''static RsaParameters,key:
      LcPtr<EVP_PKEY>,) -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parsed_verify_sig
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature.rs:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - message
    - signature
    argTypes:
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 514
      start: 511
    functionDepth: 12
    functionLinenumber: 511
    functionLinenumberEnd: 514
    functionName: ParsedPublicKey::verify_sig
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature.rs
    functionUses: 0
    functionsReached:
    - parsed_verify_sig
    linkageType: ''
    returnType: Result
    signature: 'pub fn verify_sig(&self, message: &[u8], signature: &[u8]) -> Result<(),
      error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parsed_verify_digest_sig
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature.rs:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - digest
    - signature
    argTypes:
    - '&Digest'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 538
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 538
    functionName: ParsedPublicKey::verify_digest_sig
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature.rs
    functionUses: 0
    functionsReached:
    - parsed_verify_digest_sig
    linkageType: ''
    returnType: Result
    signature: 'pub fn verify_digest_sig(&self,digest: &Digest,signature: &[u8],)
      -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature.rs:543,1
    - Dst: PublicKeyX509Der::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature.rs:543,1
    - Dst: as_const
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature.rs:544,1
    - Dst: marshal_rfc5280_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature.rs:544,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 546
      start: 542
    functionDepth: 6
    functionLinenumber: 542
    functionLinenumberEnd: 546
    functionName: ParsedPublicKey::as_der
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature.rs
    functionUses: 0
    functionsReached:
    - PublicKeyX509Der::new
    - marshal_rfc5280_public_key
    - as_const
    - Ok
    linkageType: ''
    returnType: Result
    signature: fn as_der(&self) -> Result<PublicKeyX509Der<'static>, Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 809
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 809
    functionName: ParsedPublicKey::as_ref
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: fn as_ref(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::write_str
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature.rs:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 563
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 563
    functionName: ParsedPublicKey::fmt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature.rs
    functionUses: 0
    functionsReached:
    - SpdmCertChainBuffer::write_str
    linkageType: ''
    returnType: core::fmt::Result
    signature: 'fn fmt(&self, f: &mut Formatter<''_>) -> core::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/src/agreement.rs:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 218
    functionName: UnparsedPublicKey::as_ref
    functionSourceFile: /src/spdm-rs/external/ring/src/agreement.rs
    functionUses: 0
    functionsReached:
    - as_ref
    linkageType: ''
    returnType: '&[u8]'
    signature: fn as_ref(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::debug_struct
      Src: /src/spdm-rs/external/ring/src/agreement.rs:226,1
    - Dst: field
      Src: /src/spdm-rs/external/ring/src/agreement.rs:226,1
    - Dst: field
      Src: /src/spdm-rs/external/ring/src/agreement.rs:226,1
    - Dst: debug::HexStr
      Src: /src/spdm-rs/external/ring/src/agreement.rs:228,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/src/agreement.rs:228,1
    - Dst: finish
      Src: /src/spdm-rs/external/ring/src/agreement.rs:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 230
      start: 225
    functionDepth: 11
    functionLinenumber: 225
    functionLinenumberEnd: 230
    functionName: UnparsedPublicKey::fmt
    functionSourceFile: /src/spdm-rs/external/ring/src/agreement.rs
    functionUses: 0
    functionsReached:
    - finish
    - SpdmCertChainBuffer::debug_struct
    - as_ref
    - field
    - debug::HexStr
    linkageType: ''
    returnType: Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter) -> Result<(), core::fmt::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - algorithm
    - bytes
    argTypes:
    - '&''static Algorithm'
    - B
    constantsTouched: []
    func_position:
      end: 237
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 237
    functionName: UnparsedPublicKey::new
    functionSourceFile: /src/spdm-rs/external/ring/src/agreement.rs
    functionUses: 49
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(algorithm: &''static Algorithm, bytes: B) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/signature.rs:402,1
    - Dst: verify
      Src: /src/spdm-rs/external/ring/src/signature.rs:403,1
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/signature.rs:404,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/src/signature.rs:404,1
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/signature.rs:405,1
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/signature.rs:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - message
    - signature
    argTypes:
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 408
      start: 398
    functionDepth: 14
    functionLinenumber: 398
    functionLinenumberEnd: 408
    functionName: UnparsedPublicKey::verify
    functionSourceFile: /src/spdm-rs/external/ring/src/signature.rs
    functionUses: 0
    functionsReached:
    - verify
    - as_ref
    - untrusted::Input::from
    - cpu::features
    linkageType: ''
    returnType: Result
    signature: 'pub fn verify(&self, message: &[u8], signature: &[u8]) -> Result<(),
      error::Unspecified>whereB: AsRef<[u8]>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verify_digest_sig
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature.rs:629,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature.rs:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - digest
    - signature
    argTypes:
    - '&Digest'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 631
      start: 624
    functionDepth: 2
    functionLinenumber: 624
    functionLinenumberEnd: 631
    functionName: UnparsedPublicKey::verify_digest
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature.rs
    functionUses: 0
    functionsReached:
    - verify_digest_sig
    - as_ref
    linkageType: ''
    returnType: Result
    signature: 'pub fn verify_digest(&self,digest: &Digest,signature: &[u8],) -> Result<(),
      error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ParsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:815,1
    - Dst: nid
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 816
      start: 814
    functionDepth: 6
    functionLinenumber: 814
    functionLinenumberEnd: 816
    functionName: UnparsedPublicKey::parse
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs
    functionUses: 0
    functionsReached:
    - ParsedPublicKey::new
    - nid
    linkageType: ''
    returnType: Result
    signature: fn parse(&self) -> Result<ParsedPublicKey, KeyRejected>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_all
      Src: /src/spdm-rs/external/ring/src/rsa.rs:47,1
    - Dst: der::nested
      Src: /src/spdm-rs/external/ring/src/rsa.rs:48,1
    - Dst: der::positive_integer
      Src: /src/spdm-rs/external/ring/src/rsa.rs:49,1
    - Dst: der::positive_integer
      Src: /src/spdm-rs/external/ring/src/rsa.rs:50,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/rsa.rs:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - input
    argTypes:
    - untrusted::Input
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 14
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: parse_public_key
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa.rs
    functionUses: 2
    functionsReached:
    - der::nested
    - der::positive_integer
    - read_all
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn parse_public_key(input: untrusted::Input,) -> Result<(io::Positive,
      io::Positive), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature.rs:1127,1
    - Dst: SystemRandom::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature.rs:1127,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature.rs:1127,1
    - Dst: Result::expose
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature.rs:1127,1
    - Dst: UnparsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature.rs:1128,1
    - Dst: Self::clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature.rs:1132,1
    - Dst: Regex::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature.rs:1134,1
    - Dst: Self::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature.rs:1134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1126
    functionDepth: 5
    functionLinenumber: 1126
    functionLinenumberEnd: 1140
    functionName: tests::test_unparsed_public_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature.rs
    functionUses: 0
    functionsReached:
    - UnparsedPublicKey::new
    - SystemRandom::new
    - generate
    - Regex::new
    - Result::unwrap
    - Self::clone
    - Result::expose
    - Self::unwrap
    linkageType: ''
    returnType: void
    signature: fn test_unparsed_public_key()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::compile_time_assert_send::<OpeningKey>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/chacha20_poly1305_openssh.rs:273,1
    - Dst: test::compile_time_assert_sync::<OpeningKey>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/chacha20_poly1305_openssh.rs:274,1
    - Dst: test::compile_time_assert_send::<SealingKey>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/chacha20_poly1305_openssh.rs:276,1
    - Dst: test::compile_time_assert_sync::<SealingKey>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/chacha20_poly1305_openssh.rs:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 278
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 278
    functionName: tests::test_types
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/chacha20_poly1305_openssh.rs
    functionUses: 0
    functionsReached:
    - test::compile_time_assert_send::<SealingKey>
    - test::compile_time_assert_sync::<OpeningKey>
    - test::compile_time_assert_send::<OpeningKey>
    - test::compile_time_assert_sync::<SealingKey>
    linkageType: ''
    returnType: void
    signature: fn test_types()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ec::uncompressed_public_key_size_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:109,1
    - Dst: ec::uncompressed_public_key_size_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:110,1
    - Dst: ec::uncompressed_public_key_size_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: AlgorithmID::pub_key_len
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs
    functionUses: 0
    functionsReached:
    - ec::uncompressed_public_key_size_bytes
    linkageType: ''
    returnType: usize
    signature: const fn pub_key_len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: AlgorithmID::private_key_len
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: const fn private_key_len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::write_str
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 135
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 135
    functionName: AlgorithmID::fmt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs
    functionUses: 0
    functionsReached:
    - SpdmCertChainBuffer::write_str
    linkageType: ''
    returnType: Result
    signature: 'fn fmt(&self, f: &mut Formatter<''_>) -> Result<(), fmt::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyInner::ECDH_P256
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:188,1
    - Dst: Result::clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:188,1
    - Dst: KeyInner::ECDH_P384
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:189,1
    - Dst: Result::clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:189,1
    - Dst: KeyInner::ECDH_P521
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:190,1
    - Dst: Result::clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:190,1
    - Dst: KeyInner::X25519
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:191,1
    - Dst: Result::clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 193
    functionName: KeyInner::clone
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs
    functionUses: 0
    functionsReached:
    - KeyInner::ECDH_P384
    - KeyInner::ECDH_P521
    - Result::clone
    - KeyInner::ECDH_P256
    - KeyInner::X25519
    linkageType: ''
    returnType: KeyInner
    signature: fn clone(&self) -> KeyInner
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 212
    functionName: KeyInner::algorithm
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''static Algorithm'
    signature: fn algorithm(&self) -> &'static Algorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 221
    functionName: KeyInner::get_evp_pkey
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&LcPtr'
    signature: fn get_evp_pkey(&self) -> &LcPtr<EVP_PKEY>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::write_str
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 271
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 271
    functionName: PrivateKey::fmt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs
    functionUses: 0
    functionsReached:
    - SpdmCertChainBuffer::write_str
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut Formatter<''_>) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyInner::X25519
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:247,1
    - Dst: KeyInner::ECDH_P256
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:250,1
    - Dst: KeyInner::ECDH_P384
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:253,1
    - Dst: KeyInner::ECDH_P521
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - alg
    - evp_pkey
    argTypes:
    - '&''static Algorithm'
    - LcPtr<EVP_PKEY>
    constantsTouched: []
    func_position:
      end: 259
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 259
    functionName: PrivateKey::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs
    functionUses: 0
    functionsReached:
    - KeyInner::ECDH_P521
    - KeyInner::ECDH_P256
    - KeyInner::ECDH_P384
    - KeyInner::X25519
    linkageType: ''
    returnType: Self
    signature: 'fn new(alg: &''static Algorithm, evp_pkey: LcPtr<EVP_PKEY>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_x25519
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:273,1
    - Dst: ec::evp_key_generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:274,1
    - Dst: nid
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:274,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:276,1
    - Dst: Self::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:276,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - alg
    argTypes:
    - '&''static Algorithm'
    constantsTouched: []
    func_position:
      end: 277
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 277
    functionName: PrivateKey::generate
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs
    functionUses: 21
    functionsReached:
    - Ok
    - nid
    - ec::evp_key_generate
    - generate_x25519
    - Self::new
    linkageType: ''
    returnType: Result
    signature: 'pub fn generate(alg: &''static Algorithm) -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:296,1
    - Dst: KeyRejected::invalid_encoding
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:296,1
    - Dst: LcPtr::<EVP_PKEY>::parse_rfc5208_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:298,1
    - Dst: Result::or
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:298,1
    - Dst: ec::encoding::rfc5915::parse_rfc5915_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:299,1
    - Dst: nid
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:299,1
    - Dst: ec::verify_evp_key_nid
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:301,1
    - Dst: Result::as_const
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:301,1
    - Dst: nid
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:301,1
    - Dst: ec::validate_ec_evp_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:303,1
    - Dst: Result::as_const
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:303,1
    - Dst: nid
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:303,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:305,1
    - Dst: Self::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:305,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 2
    argNames:
    - alg
    - key_bytes
    argTypes:
    - '&''static Algorithm'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 306
      start: 291
    functionDepth: 10
    functionLinenumber: 291
    functionLinenumberEnd: 306
    functionName: PrivateKey::from_private_key_der
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs
    functionUses: 3
    functionsReached:
    - Result::or
    - nid
    - Err
    - ec::verify_evp_key_nid
    - LcPtr::<EVP_PKEY>::parse_rfc5208_private_key
    - Result::as_const
    - ec::encoding::rfc5915::parse_rfc5915_private_key
    - ec::validate_ec_evp_key
    - KeyRejected::invalid_encoding
    - Ok
    - Self::new
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_private_key_der(alg: &''static Algorithm,key_bytes: &[u8],)
      -> Result<Self, KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:320,1
    - Dst: private_key_len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:320,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:321,1
    - Dst: KeyRejected::wrong_algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:321,1
    - Dst: LcPtr::<EVP_PKEY>::parse_raw_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:324,1
    - Dst: parse_sec1_private_bn
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:326,1
    - Dst: nid
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:326,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:328,1
    - Dst: Self::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:328,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - alg
    - key_bytes
    argTypes:
    - '&''static Algorithm'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 329
      start: 316
    functionDepth: 11
    functionLinenumber: 316
    functionLinenumberEnd: 329
    functionName: PrivateKey::from_private_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs
    functionUses: 4
    functionsReached:
    - Ok
    - nid
    - private_key_len
    - Err
    - LcPtr::<EVP_PKEY>::parse_raw_private_key
    - Option::len
    - KeyRejected::wrong_algorithm
    - parse_sec1_private_bn
    - Self::new
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_private_key(alg: &''static Algorithm,key_bytes: &[u8],)
      -> Result<Self, KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: private_key_len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:339,1
    - Dst: '&mut dyn crate::rand::SecureRandom::mut_fill'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:340,1
    - Dst: Self::from_x25519_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:341,1
    - Dst: private_key_len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:344,1
    - Dst: '&mut dyn crate::rand::SecureRandom::mut_fill'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:345,1
    - Dst: Self::from_p256_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:346,1
    - Dst: private_key_len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:349,1
    - Dst: '&mut dyn crate::rand::SecureRandom::mut_fill'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:350,1
    - Dst: Self::from_p384_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:351,1
    - Dst: private_key_len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:354,1
    - Dst: '&mut dyn crate::rand::SecureRandom::mut_fill'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:355,1
    - Dst: Self::from_p521_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:356,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 2
    argNames:
    - alg
    - rng
    argTypes:
    - '&''static Algorithm'
    - '&mut dyn crate::rand::SecureRandom'
    constantsTouched: []
    func_position:
      end: 359
      start: 333
    functionDepth: 12
    functionLinenumber: 333
    functionLinenumberEnd: 359
    functionName: PrivateKey::generate_for_test
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs
    functionUses: 12
    functionsReached:
    - Self::from_x25519_private_key
    - '&mut dyn crate::rand::SecureRandom::mut_fill'
    - private_key_len
    - Self::from_p256_private_key
    - Self::from_p384_private_key
    - Self::from_p521_private_key
    linkageType: ''
    returnType: Result
    signature: 'pub fn generate_for_test(alg: &''static Algorithm,rng: &mut dyn crate::rand::SecureRandom,)
      -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LcPtr::<EVP_PKEY>::parse_raw_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:365,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:367,1
    - Dst: KeyInner::X25519
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - priv_key
    argTypes:
    - '&[u8; AlgorithmID::X25519.private_key_len()]'
    constantsTouched: []
    func_position:
      end: 370
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 370
    functionName: PrivateKey::from_x25519_private_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs
    functionUses: 0
    functionsReached:
    - LcPtr::<EVP_PKEY>::parse_raw_private_key
    - Ok
    - KeyInner::X25519
    linkageType: ''
    returnType: Result
    signature: 'fn from_x25519_private_key(priv_key: &[u8; AlgorithmID::X25519.private_key_len()],)
      -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_sec1_private_bn
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:374,1
    - Dst: nid
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:374,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:375,1
    - Dst: KeyInner::ECDH_P256
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - priv_key
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 378
      start: 373
    functionDepth: 11
    functionLinenumber: 373
    functionLinenumberEnd: 378
    functionName: PrivateKey::from_p256_private_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs
    functionUses: 0
    functionsReached:
    - nid
    - KeyInner::ECDH_P256
    - parse_sec1_private_bn
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn from_p256_private_key(priv_key: &[u8]) -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_sec1_private_bn
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:382,1
    - Dst: nid
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:382,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:383,1
    - Dst: KeyInner::ECDH_P384
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - priv_key
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 386
      start: 381
    functionDepth: 11
    functionLinenumber: 381
    functionLinenumberEnd: 386
    functionName: PrivateKey::from_p384_private_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs
    functionUses: 0
    functionsReached:
    - nid
    - KeyInner::ECDH_P384
    - parse_sec1_private_bn
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn from_p384_private_key(priv_key: &[u8]) -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_sec1_private_bn
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:390,1
    - Dst: nid
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:390,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:391,1
    - Dst: KeyInner::ECDH_P521
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - priv_key
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 394
      start: 389
    functionDepth: 11
    functionLinenumber: 389
    functionLinenumberEnd: 394
    functionName: PrivateKey::from_p521_private_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs
    functionUses: 0
    functionsReached:
    - KeyInner::ECDH_P521
    - nid
    - parse_sec1_private_bn
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn from_p521_private_key(priv_key: &[u8]) -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ec::encoding::sec1::marshal_sec1_public_point_into_buffer
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:406,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:407,1
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:408,1
    - Dst: as_const
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:415,1
    - Dst: marshal_raw_public_to_buffer
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:415,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:418,1
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:419,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 425
      start: 400
    functionDepth: 5
    functionLinenumber: 400
    functionLinenumberEnd: 425
    functionName: PrivateKey::compute_public_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs
    functionUses: 0
    functionsReached:
    - marshal_raw_public_to_buffer
    - as_const
    - clone
    - ec::encoding::sec1::marshal_sec1_public_point_into_buffer
    - Ok
    linkageType: ''
    returnType: Result
    signature: pub fn compute_public_key(&self) -> Result<PublicKey, Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 432
      start: 430
    functionDepth: 8
    functionLinenumber: 430
    functionLinenumberEnd: 432
    functionName: PrivateKey::algorithm
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs
    functionUses: 1
    functionsReached:
    - algorithm
    linkageType: ''
    returnType: '&''static Algorithm'
    signature: pub fn algorithm(&self) -> &'static Algorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ec::encoding::rfc5915::marshal_rfc5915_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs:293,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs:294,1
    - Dst: EcPrivateKeyRfc5915Der::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 295
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 295
    functionName: PrivateKey::as_der
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs
    functionUses: 0
    functionsReached:
    - EcPrivateKeyRfc5915Der::new
    - Ok
    - ec::encoding::rfc5915::marshal_rfc5915_private_key
    linkageType: ''
    returnType: Result
    signature: fn as_der(&self) -> Result<EcPrivateKeyRfc5915Der<'static>, Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: marshal_sec1_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs:282,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs:283,1
    - Dst: EcPrivateKeyBin::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 284
      start: 281
    functionDepth: 6
    functionLinenumber: 281
    functionLinenumberEnd: 284
    functionName: PrivateKey::as_be_bytes
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs
    functionUses: 0
    functionsReached:
    - EcPrivateKeyBin::new
    - marshal_sec1_private_key
    - Ok
    linkageType: ''
    returnType: Result
    signature: fn as_be_bytes(&self) -> Result<EcPrivateKeyBin<'static>, Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LcPtr::<EVP_PKEY>::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 521
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 521
    functionName: generate_x25519
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs
    functionUses: 1
    functionsReached:
    - LcPtr::<EVP_PKEY>::generate
    linkageType: ''
    returnType: Result
    signature: pub(crate) fn generate_x25519() -> Result<LcPtr<EVP_PKEY>, Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 202
    functionName: PublicKey::algorithm
    functionSourceFile: /src/spdm-rs/external/ring/src/agreement.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''static Algorithm'
    signature: pub fn algorithm(&self) -> &'static Algorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 576
      start: 570
    functionDepth: 2
    functionLinenumber: 570
    functionLinenumberEnd: 576
    functionName: PublicKey::clone
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs
    functionUses: 1
    functionsReached:
    - clone
    linkageType: ''
    returnType: Self
    signature: fn clone(&self) -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:149,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:150,1
    - Dst: EcPublicKeyUncompressedBin::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: PublicKey::as_be_bytes
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs
    functionUses: 0
    functionsReached:
    - EcPublicKeyUncompressedBin::new
    - Ok
    - copy_from_slice
    linkageType: ''
    returnType: Result
    signature: fn as_be_bytes(&self,) -> Result<EcPublicKeyUncompressedBin<'static>,
      crate::error::Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 243
    functionName: UnparsedPublicKey::algorithm
    functionSourceFile: /src/spdm-rs/external/ring/src/agreement.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''static Algorithm'
    signature: pub fn algorithm(&self) -> &'static Algorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 249
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 249
    functionName: UnparsedPublicKey::bytes
    functionSourceFile: /src/spdm-rs/external/ring/src/agreement.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&B'
    signature: pub fn bytes(&self) -> &B
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 720
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 720
    functionName: ParsedPublicKey::nid
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: i32
    signature: fn nid(&self) -> i32
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 726
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 726
    functionName: ParsedPublicKey::format
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ParsedPublicKeyFormat
    signature: pub fn format(&self) -> ParsedPublicKeyFormat
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 730
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 730
    functionName: ParsedPublicKey::mut_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&mut LcPtr'
    signature: pub(crate) fn mut_key(&mut self) -> &mut LcPtr<EVP_PKEY>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ParsedPublicKey::nid
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:736,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 743
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 743
    functionName: ParsedPublicKey::alg
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs
    functionUses: 0
    functionsReached:
    - ParsedPublicKey::nid
    linkageType: ''
    returnType: '&''static Algorithm'
    signature: pub fn alg(&self) -> &'static Algorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnparsedPublicKey<B>::parse
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:829,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - upk
    argTypes:
    - UnparsedPublicKey<B>
    constantsTouched: []
    func_position:
      end: 830
      start: 828
    functionDepth: 7
    functionLinenumber: 828
    functionLinenumberEnd: 830
    functionName: ParsedPublicKey::try_from
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs
    functionUses: 0
    functionsReached:
    - UnparsedPublicKey<B>::parse
    linkageType: ''
    returnType: Result
    signature: 'fn try_from(upk: UnparsedPublicKey<B>) -> Result<Self, Self::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&PrivateKey::algorithm'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:871,1
    - Dst: B::try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:873,1
    - Dst: alg
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:876,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:877,1
    - Dst: get_evp_pkey
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:879,1
    - Dst: agree
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:879,1
    - Dst: mut_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:882,1
    - Dst: or
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:879,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:883,1
    - Dst: kdf
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:885,1
    - Dst: Option::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:885,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:887,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 4
    argNames:
    - my_private_key
    - peer_public_key
    - error_value
    - kdf
    argTypes:
    - '&PrivateKey'
    - B
    - E
    - F
    constantsTouched: []
    func_position:
      end: 889
      start: 862
    functionDepth: 8
    functionLinenumber: 862
    functionLinenumberEnd: 889
    functionName: agree
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs
    functionUses: 11
    functionsReached:
    - alg
    - get_evp_pkey
    - kdf
    - B::try_into
    - Err
    - mut_key
    - agree
    - '&PrivateKey::algorithm'
    - Option::as_ref
    - or
    linkageType: ''
    returnType: Result
    signature: 'pub fn agree<B: TryInto<ParsedPublicKey>, F, R, E>(my_private_key:
      &PrivateKey,peer_public_key: B,error_value: E,kdf: F,) -> Result<R, E>whereF:
      FnOnce(&[u8]) -> Result<R, E>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pub_key_len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:892,1
    - Dst: Option::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:893,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:894,1
    - Dst: KeyRejected::invalid_encoding
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:894,1
    - Dst: LcPtr::<EVP_PKEY>::parse_raw_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs:897,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - key_bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 898
      start: 891
    functionDepth: 2
    functionLinenumber: 891
    functionLinenumberEnd: 898
    functionName: try_parse_x25519_public_key_raw_bytes
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs
    functionUses: 1
    functionsReached:
    - Err
    - LcPtr::<EVP_PKEY>::parse_raw_public_key
    - Option::len
    - pub_key_len
    - KeyRejected::invalid_encoding
    linkageType: ''
    returnType: Result
    signature: 'fn try_parse_x25519_public_key_raw_bytes(key_bytes: &[u8]) -> Result<LcPtr<EVP_PKEY>,
      KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: Algorithm::hmac_algorithm
    functionSourceFile: /src/spdm-rs/external/ring/src/hkdf.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: hmac::Algorithm
    signature: pub fn hmac_algorithm(&self) -> hmac::Algorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::debug_struct
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:105,1
    - Dst: field
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:105,1
    - Dst: finish
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 11
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: Salt::fmt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs
    functionUses: 0
    functionsReached:
    - SpdmCertChainBuffer::debug_struct
    - finish
    - field
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/ring/src/hkdf.rs:65,1
    - Dst: hmac::Key::new
      Src: /src/spdm-rs/external/ring/src/hkdf.rs:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - algorithm
    - value
    argTypes:
    - Algorithm
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 5
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: Salt::new
    functionSourceFile: /src/spdm-rs/external/ring/src/hkdf.rs
    functionUses: 9
    functionsReached:
    - Self
    - hmac::Key::new
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(algorithm: Algorithm, value: &[u8]) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - Algorithm
    constantsTouched: []
    func_position:
      end: 168
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 168
    functionName: Salt::none
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs
    functionUses: 1
    functionsReached:
    - Self::new
    linkageType: ''
    returnType: Self
    signature: 'pub fn none(algorithm: Algorithm) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hmac::sign
      Src: /src/spdm-rs/external/ring/src/hkdf.rs:79,1
    - Dst: Prk
      Src: /src/spdm-rs/external/ring/src/hkdf.rs:80,1
    - Dst: hmac::Key::new
      Src: /src/spdm-rs/external/ring/src/hkdf.rs:80,1
    - Dst: algorithm
      Src: /src/spdm-rs/external/ring/src/hkdf.rs:80,1
    - Dst: Option::as_ref
      Src: /src/spdm-rs/external/ring/src/hkdf.rs:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - secret
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 7
    functionLinenumber: 71
    functionLinenumberEnd: 81
    functionName: Salt::extract
    functionSourceFile: /src/spdm-rs/external/ring/src/hkdf.rs
    functionUses: 0
    functionsReached:
    - hmac::Key::new
    - Option::as_ref
    - algorithm
    - Prk
    - hmac::sign
    linkageType: ''
    returnType: Prk
    signature: 'pub fn extract(&self, secret: &[u8]) -> Prk'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Algorithm
      Src: /src/spdm-rs/external/ring/src/hkdf.rs:86,1
    - Dst: algorithm
      Src: /src/spdm-rs/external/ring/src/hkdf.rs:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 8
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: Salt::algorithm
    functionSourceFile: /src/spdm-rs/external/ring/src/hkdf.rs
    functionUses: 0
    functionsReached:
    - Algorithm
    - algorithm
    linkageType: ''
    returnType: Algorithm
    signature: pub fn algorithm(&self) -> Algorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/ring/src/hkdf.rs:92,1
    - Dst: hmac::Key::from
      Src: /src/spdm-rs/external/ring/src/hkdf.rs:92,1
    - Dst: Option::len
      Src: /src/spdm-rs/external/ring/src/hkdf.rs:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - okm
    argTypes:
    - Okm<'_, Algorithm>
    constantsTouched: []
    func_position:
      end: 98
      start: 91
    functionDepth: 6
    functionLinenumber: 91
    functionLinenumberEnd: 98
    functionName: Salt::from
    functionSourceFile: /src/spdm-rs/external/ring/src/hkdf.rs
    functionUses: 1
    functionsReached:
    - Self
    - Option::len
    - hmac::Key::from
    linkageType: ''
    returnType: Self
    signature: 'fn from(okm: Okm<''_, Algorithm>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digest::match_digest_type
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:230,1
    - Dst: digest_algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:230,1
    - Dst: ConstPointer::as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:230,1
    - Dst: fips::indicator_check
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:234,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:243,1
    - Dst: fips::indicator_check
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:247,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:260,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:265,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 3
    argNames:
    - algorithm
    - out
    - info
    argTypes:
    - Algorithm
    - '&mut [u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 266
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 266
    functionName: PrkMode::fill
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs
    functionUses: 0
    functionsReached:
    - digest_algorithm
    - Err
    - fips::indicator_check
    - digest::match_digest_type
    - ConstPointer::as_const_ptr
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn fill(&self, algorithm: Algorithm, out: &mut [u8], info: &[u8])
      -> Result<(), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::debug_struct
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:272,1
    - Dst: finish_non_exhaustive
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:272,1
    - Dst: SpdmCertChainBuffer::debug_struct
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:273,1
    - Dst: finish_non_exhaustive
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 275
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 275
    functionName: PrkMode::fmt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs
    functionUses: 0
    functionsReached:
    - SpdmCertChainBuffer::debug_struct
    - finish_non_exhaustive
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter<''_>) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 285
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 285
    functionName: ZeroizeBoxSlice::deref
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&Self::Target'
    signature: fn deref(&self) -> &Self::Target
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:290,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:290,1
    - Dst: Self::into_boxed_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - '&[T]'
    constantsTouched: []
    func_position:
      end: 291
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 291
    functionName: ZeroizeBoxSlice::from
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs
    functionUses: 0
    functionsReached:
    - Self
    - Vec::from
    - Self::into_boxed_slice
    linkageType: ''
    returnType: Self
    signature: 'fn from(value: &[T]) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zeroize
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 297
      start: 295
    functionDepth: 3
    functionLinenumber: 295
    functionLinenumberEnd: 297
    functionName: ZeroizeBoxSlice::drop
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs
    functionUses: 0
    functionsReached:
    - zeroize
    linkageType: ''
    returnType: void
    signature: fn drop(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::zeroize
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 315
      start: 308
    functionDepth: 3
    functionLinenumber: 308
    functionLinenumberEnd: 315
    functionName: Prk::drop
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs
    functionUses: 0
    functionsReached:
    - Option::zeroize
    linkageType: ''
    returnType: void
    signature: fn drop(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::debug_struct
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:321,1
    - Dst: field
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:321,1
    - Dst: field
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:321,1
    - Dst: finish
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 325
      start: 320
    functionDepth: 11
    functionLinenumber: 320
    functionLinenumberEnd: 325
    functionName: Prk::fmt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs
    functionUses: 0
    functionsReached:
    - SpdmCertChainBuffer::debug_struct
    - finish
    - field
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter<''_>) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/ring/src/hkdf.rs:118,1
    - Dst: hmac::Key::new
      Src: /src/spdm-rs/external/ring/src/hkdf.rs:118,1
    - Dst: hmac_algorithm
      Src: /src/spdm-rs/external/ring/src/hkdf.rs:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - algorithm
    - value
    argTypes:
    - Algorithm
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 5
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: Prk::new_less_safe
    functionSourceFile: /src/spdm-rs/external/ring/src/hkdf.rs
    functionUses: 3
    functionsReached:
    - Self
    - hmac_algorithm
    - hmac::Key::new
    linkageType: ''
    returnType: Self
    signature: 'pub fn new_less_safe(algorithm: Algorithm, value: &[u8]) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:352,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:354,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:357,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - algorithm
    - value
    argTypes:
    - Algorithm
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 362
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 362
    functionName: Prk::try_new_less_safe
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs
    functionUses: 0
    functionsReached:
    - u8::len
    - Err
    - Ok
    - copy_from_slice
    linkageType: ''
    returnType: Result
    signature: 'fn try_new_less_safe(algorithm: Algorithm, value: &[u8]) -> Result<Prk,
      Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usize::len
      Src: /src/spdm-rs/external/ring/src/hkdf.rs:132,1
    - Dst: algorithm
      Src: /src/spdm-rs/external/ring/src/hkdf.rs:133,1
    - Dst: digest_algorithm
      Src: /src/spdm-rs/external/ring/src/hkdf.rs:133,1
    - Dst: output_len
      Src: /src/spdm-rs/external/ring/src/hkdf.rs:133,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/hkdf.rs:134,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/hkdf.rs:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - info
    - len
    argTypes:
    - '&''a [&''a [u8]]'
    - L
    constantsTouched: []
    func_position:
      end: 142
      start: 127
    functionDepth: 8
    functionLinenumber: 127
    functionLinenumberEnd: 142
    functionName: Prk::expand
    functionSourceFile: /src/spdm-rs/external/ring/src/hkdf.rs
    functionUses: 0
    functionsReached:
    - output_len
    - algorithm
    - digest_algorithm
    - Err
    - usize::len
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn expand<''a, L: KeyType>(&''a self,info: &''a [&''a [u8]],len:
      L,) -> Result<Okm<''a, L>, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/ring/src/hkdf.rs:147,1
    - Dst: hmac::Key::from
      Src: /src/spdm-rs/external/ring/src/hkdf.rs:147,1
    - Dst: Option::len
      Src: /src/spdm-rs/external/ring/src/hkdf.rs:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - okm
    argTypes:
    - Okm<Algorithm>
    constantsTouched: []
    func_position:
      end: 153
      start: 146
    functionDepth: 6
    functionLinenumber: 146
    functionLinenumberEnd: 153
    functionName: Prk::from
    functionSourceFile: /src/spdm-rs/external/ring/src/hkdf.rs
    functionUses: 2
    functionsReached:
    - Self
    - Option::len
    - hmac::Key::from
    linkageType: ''
    returnType: Self
    signature: 'fn from(okm: Okm<Algorithm>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::debug_struct
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:433,1
    - Dst: field
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:433,1
    - Dst: finish
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 434
      start: 432
    functionDepth: 11
    functionLinenumber: 432
    functionLinenumberEnd: 434
    functionName: Okm::fmt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs
    functionUses: 0
    functionsReached:
    - SpdmCertChainBuffer::debug_struct
    - finish
    - field
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: (SpdmConfigInfo, SpdmProvisionInfo)::iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:445,1
    - Dst: Self::IntoIter::map
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:445,1
    - Dst: SpdmResult::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:445,1
    - Dst: FipsServiceStatus::sum
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:445,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:453,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:453,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:454,1
    - Dst: f
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:457,1
    - Dst: Vec::with_capacity
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:460,1
    - Dst: BytesMutStrubbed::extend_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:462,1
    - Dst: f
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:465,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 38
    argCount: 2
    argNames:
    - info
    - f
    argTypes:
    - '&[&[u8]]'
    - F
    constantsTouched: []
    func_position:
      end: 467
      start: 441
    functionDepth: 11
    functionLinenumber: 441
    functionLinenumberEnd: 467
    functionName: concatenate_info
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs
    functionUses: 0
    functionsReached:
    - (SpdmConfigInfo, SpdmProvisionInfo)::iter
    - BytesMutStrubbed::extend_from_slice
    - Vec::with_capacity
    - SpdmResult::len
    - FipsServiceStatus::sum
    - Self::IntoIter::map
    - len
    - copy_from_slice
    - f
    linkageType: ''
    returnType: R
    signature: 'fn concatenate_info<F, R>(info: &[&[u8]], f: F) -> RwhereF: FnOnce(&[u8])
      -> R,'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: Okm::len
    functionSourceFile: /src/spdm-rs/external/ring/src/hkdf.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&L'
    signature: pub fn len(&self) -> &L
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fill_okm
      Src: /src/spdm-rs/external/ring/src/hkdf.rs:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - out
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 12
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: Okm::fill
    functionSourceFile: /src/spdm-rs/external/ring/src/hkdf.rs
    functionUses: 0
    functionsReached:
    - fill_okm
    linkageType: ''
    returnType: Result
    signature: 'pub fn fill(self, out: &mut [u8]) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 518
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 518
    functionName: tests::hkdf_coverage
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn hkdf_coverage()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Salt::none
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:561,1
    - Dst: Salt::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:562,1
    - Dst: '&str::as_slice'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:564,1
    - Dst: Self::extract
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:566,1
    - Dst: bool::extract
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:567,1
    - Dst: Option::expand
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:571,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:571,1
    - Dst: Result::fill
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:571,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:571,1
    - Dst: Option::expand
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:576,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:576,1
    - Dst: Result::fill
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:576,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 585
      start: 560
    functionDepth: 6
    functionLinenumber: 560
    functionLinenumberEnd: 585
    functionName: tests::test_salt_none_matches_empty_salt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs
    functionUses: 0
    functionsReached:
    - Salt::new
    - '&str::as_slice'
    - Option::expand
    - bool::extract
    - Option::unwrap
    - unwrap
    - Result::fill
    - Self::extract
    - Salt::none
    linkageType: ''
    returnType: void
    signature: fn test_salt_none_matches_empty_salt()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Salt::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:593,1
    - Dst: extract
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:597,1
    - Dst: as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:601,1
    - Dst: Option::expand
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:602,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:602,1
    - Dst: Option::fill
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:606,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:606,1
    - Dst: Salt::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:610,1
    - Dst: Self::extract
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:611,1
    - Dst: Option::expand
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:612,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:612,1
    - Dst: Result::fill
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:614,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs:614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 618
      start: 588
    functionDepth: 6
    functionLinenumber: 588
    functionLinenumberEnd: 618
    functionName: tests::test_long_salt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs
    functionUses: 0
    functionsReached:
    - Salt::new
    - unwrap
    - Option::expand
    - Option::unwrap
    - Result::fill
    - Self::extract
    - extract
    - as_slice
    - Option::fill
    linkageType: ''
    returnType: void
    signature: fn test_long_salt()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc::EVP_PKEY_cmp
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:36,1
    - Dst: LcPtr::as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:36,1
    - Dst: '&Self::as_const_ptr'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - other
    argTypes:
    - '&Self'
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: LcPtr::eq
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs
    functionUses: 0
    functionsReached:
    - aws_lc::EVP_PKEY_cmp
    - '&Self::as_const_ptr'
    - LcPtr::as_const_ptr
    linkageType: ''
    returnType: bool
    signature: 'fn eq(&self, other: &Self) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ConstPointer::id
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:54,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:56,1
    - Dst: KeyRejected::wrong_algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:56,1
    - Dst: ConstPointer::key_size_bits
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:59,1
    - Dst: usize::try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:59,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:59,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:61,1
    - Dst: KeyRejected::too_small
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:61,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:65,1
    - Dst: KeyRejected::too_large
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:65,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 49
    functionDepth: 5
    functionLinenumber: 49
    functionLinenumberEnd: 68
    functionName: ConstPointer::validate_as_ed25519
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs
    functionUses: 1
    functionsReached:
    - usize::try_into
    - KeyRejected::too_large
    - Err
    - Result::unwrap
    - ConstPointer::key_size_bits
    - ConstPointer::id
    - KeyRejected::too_small
    - KeyRejected::wrong_algorithm
    - Ok
    linkageType: ''
    returnType: Result
    signature: pub(crate) fn validate_as_ed25519(&self) -> Result<(), KeyRejected>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc::EVP_PKEY_id
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:84,1
    - Dst: ConstPointer::as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: ConstPointer::id
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs
    functionUses: 4
    functionsReached:
    - ConstPointer::as_const_ptr
    - aws_lc::EVP_PKEY_id
    linkageType: ''
    returnType: i32
    signature: pub(crate) fn id(&self) -> i32
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ConstPointer::key_size_bits
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 5
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: ConstPointer::key_size_bytes
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs
    functionUses: 3
    functionsReached:
    - ConstPointer::key_size_bits
    linkageType: ''
    returnType: usize
    signature: pub(crate) fn key_size_bytes(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc::EVP_PKEY_bits
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:92,1
    - Dst: ConstPointer::as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:92,1
    - Dst: try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:92,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 4
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: ConstPointer::key_size_bits
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs
    functionUses: 6
    functionsReached:
    - aws_lc::EVP_PKEY_bits
    - unwrap
    - try_into
    - ConstPointer::as_const_ptr
    linkageType: ''
    returnType: usize
    signature: pub(crate) fn key_size_bits(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc::EVP_PKEY_size
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:98,1
    - Dst: ConstPointer::as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:98,1
    - Dst: try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:98,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 4
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: ConstPointer::signature_size_bytes
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - try_into
    - aws_lc::EVP_PKEY_size
    - ConstPointer::as_const_ptr
    linkageType: ''
    returnType: usize
    signature: pub(crate) fn signature_size_bytes(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ConstPointer::project_const_lifetime
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:105,1
    - Dst: aws_lc::EVP_PKEY_get0_EC_KEY
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:106,1
    - Dst: Result::as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:106,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:105,1
    - Dst: KeyRejected::wrong_algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: ConstPointer::get_ec_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs
    functionUses: 0
    functionsReached:
    - ConstPointer::project_const_lifetime
    - Result::map_err
    - KeyRejected::wrong_algorithm
    - Result::as_const_ptr
    - aws_lc::EVP_PKEY_get0_EC_KEY
    linkageType: ''
    returnType: Result
    signature: pub(crate) fn get_ec_key(&self) -> Result<ConstPointer<'_, EC_KEY>,
      KeyRejected>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ConstPointer::project_const_lifetime
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:112,1
    - Dst: aws_lc::EVP_PKEY_get0_RSA
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:113,1
    - Dst: Result::as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:113,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:112,1
    - Dst: KeyRejected::wrong_algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: ConstPointer::get_rsa
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs
    functionUses: 2
    functionsReached:
    - aws_lc::EVP_PKEY_get0_RSA
    - ConstPointer::project_const_lifetime
    - Result::map_err
    - KeyRejected::wrong_algorithm
    - Result::as_const_ptr
    linkageType: ''
    returnType: Result
    signature: pub(crate) fn get_rsa(&self) -> Result<ConstPointer<'_, RSA>, KeyRejected>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LcCBB::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:122,1
    - Dst: ConstPointer::key_size_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:122,1
    - Dst: aws_lc::EVP_marshal_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:123,1
    - Dst: Result::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:123,1
    - Dst: ConstPointer::as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:123,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:124,1
    - Dst: Result::into_vec
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 118
    functionDepth: 6
    functionLinenumber: 118
    functionLinenumberEnd: 127
    functionName: ConstPointer::marshal_rfc5280_public_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs
    functionUses: 3
    functionsReached:
    - Result::into_vec
    - aws_lc::EVP_marshal_public_key
    - Result::as_mut_ptr
    - Err
    - ConstPointer::as_const_ptr
    - ConstPointer::key_size_bytes
    - LcCBB::new
    linkageType: ''
    returnType: Result
    signature: pub(crate) fn marshal_rfc5280_public_key(&self) -> Result<Vec<u8>,
      Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TryInto::<usize>::try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:134,1
    - Dst: aws_lc::EVP_PKEY_bits
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:134,1
    - Dst: ConstPointer::as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:134,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:134,1
    - Dst: LcCBB::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:137,1
    - Dst: EVP_marshal_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:140,1
    - Dst: Result::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:140,1
    - Dst: ConstPointer::as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:140,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:141,1
    - Dst: aws_lc::EVP_marshal_private_key_v2
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:145,1
    - Dst: Result::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:145,1
    - Dst: ConstPointer::as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:145,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:147,1
    - Dst: Result::into_vec
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:151,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 1
    argNames:
    - version
    argTypes:
    - Version
    constantsTouched: []
    func_position:
      end: 152
      start: 129
    functionDepth: 5
    functionLinenumber: 129
    functionLinenumberEnd: 152
    functionName: ConstPointer::marshal_rfc5208_private_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs
    functionUses: 2
    functionsReached:
    - Result::into_vec
    - aws_lc::EVP_PKEY_bits
    - aws_lc::EVP_marshal_private_key_v2
    - Result::as_mut_ptr
    - Err
    - EVP_marshal_private_key
    - ConstPointer::as_const_ptr
    - Result::expect
    - TryInto::<usize>::try_into
    - LcCBB::new
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn marshal_rfc5208_private_key(&self,version: Version,)
      -> Result<Vec<u8>, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_raw_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:156,1
    - Dst: ConstPointer::as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:156,1
    - Dst: core::ptr::null_mut
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:156,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:158,1
    - Dst: ConstPointer::marshal_raw_private_to_buffer
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:161,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 164
    functionName: ConstPointer::marshal_raw_private_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs
    functionUses: 1
    functionsReached:
    - Err
    - ConstPointer::as_const_ptr
    - core::ptr::null_mut
    - ConstPointer::marshal_raw_private_to_buffer
    - Ok
    - EVP_PKEY_get_raw_private_key
    linkageType: ''
    returnType: Result
    signature: pub(crate) fn marshal_raw_private_key(&self) -> Result<Vec<u8>, Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:170,1
    - Dst: EVP_PKEY_get_raw_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:172,1
    - Dst: ConstPointer::as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:172,1
    - Dst: SpdmCertChainBuffer::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:172,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:174,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 178
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 178
    functionName: ConstPointer::marshal_raw_private_to_buffer
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs
    functionUses: 1
    functionsReached:
    - Err
    - SpdmCertChainBuffer::as_mut_ptr
    - ConstPointer::as_const_ptr
    - SpdmCertChainBuffer::len
    - Ok
    - EVP_PKEY_get_raw_private_key
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn marshal_raw_private_to_buffer(&self,buffer: &mut [u8],)
      -> Result<usize, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc::EVP_PKEY_get_raw_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:183,1
    - Dst: ConstPointer::as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:183,1
    - Dst: core::ptr::null_mut
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:183,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:184,1
    - Dst: ConstPointer::marshal_raw_public_to_buffer
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:187,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 181
    functionDepth: 3
    functionLinenumber: 181
    functionLinenumberEnd: 190
    functionName: ConstPointer::marshal_raw_public_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs
    functionUses: 2
    functionsReached:
    - ConstPointer::marshal_raw_public_to_buffer
    - Err
    - aws_lc::EVP_PKEY_get_raw_public_key
    - ConstPointer::as_const_ptr
    - core::ptr::null_mut
    - Ok
    linkageType: ''
    returnType: Result
    signature: pub(crate) fn marshal_raw_public_key(&self) -> Result<Vec<u8>, Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:196,1
    - Dst: aws_lc::EVP_PKEY_get_raw_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:201,1
    - Dst: ConstPointer::as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:201,1
    - Dst: SpdmCertChainBuffer::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:201,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:203,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 207
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 207
    functionName: ConstPointer::marshal_raw_public_to_buffer
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs
    functionUses: 3
    functionsReached:
    - Err
    - SpdmCertChainBuffer::as_mut_ptr
    - aws_lc::EVP_PKEY_get_raw_public_key
    - SpdmCertChainBuffer::len
    - ConstPointer::as_const_ptr
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn marshal_raw_public_to_buffer(&self,buffer: &mut [u8],)
      -> Result<usize, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LcPtr::as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:213,1
    - Dst: '*const P::T::cast_mut'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: LcPtr::as_mut_unsafe_ptr
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs
    functionUses: 4
    functionsReached:
    - '*const P::T::cast_mut'
    - LcPtr::as_const_ptr
    linkageType: ''
    returnType: '*mut EVP_PKEY'
    signature: pub unsafe fn as_mut_unsafe_ptr(&self) -> *mut EVP_PKEY
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cbs::build_CBS
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:220,1
    - Dst: LcPtr::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:222,1
    - Dst: aws_lc::EVP_parse_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:222,1
    - Dst: Self::map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:222,1
    - Dst: KeyRejected::invalid_encoding
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:223,1
    - Dst: Result::as_const
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:224,1
    - Dst: ConstPointer::id
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:224,1
    - Dst: i32::eq
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:224,1
    - Dst: bool::then_some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:224,1
    - Dst: ok_or
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:224,1
    - Dst: KeyRejected::wrong_algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - bytes
    - evp_pkey_type
    argTypes:
    - '&[u8]'
    - c_int
    constantsTouched: []
    func_position:
      end: 230
      start: 216
    functionDepth: 5
    functionLinenumber: 216
    functionLinenumberEnd: 230
    functionName: LcPtr::parse_rfc5280_public_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs
    functionUses: 0
    functionsReached:
    - LcPtr::new
    - bool::then_some
    - aws_lc::EVP_parse_public_key
    - ok_or
    - cbs::build_CBS
    - Result::as_const
    - i32::eq
    - ConstPointer::id
    - KeyRejected::wrong_algorithm
    - Self::map_err
    - KeyRejected::invalid_encoding
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn parse_rfc5280_public_key(bytes: &[u8],evp_pkey_type:
      c_int,) -> Result<Self, KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cbs::build_CBS
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:236,1
    - Dst: LcPtr::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:238,1
    - Dst: EVP_parse_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:238,1
    - Dst: Self::map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:238,1
    - Dst: KeyRejected::invalid_encoding
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:239,1
    - Dst: Result::as_const
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:240,1
    - Dst: ConstPointer::id
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:240,1
    - Dst: i32::eq
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:240,1
    - Dst: bool::then_some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:240,1
    - Dst: ok_or
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:240,1
    - Dst: KeyRejected::wrong_algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - bytes
    - evp_pkey_type
    argTypes:
    - '&[u8]'
    - c_int
    constantsTouched: []
    func_position:
      end: 246
      start: 232
    functionDepth: 5
    functionLinenumber: 232
    functionLinenumberEnd: 246
    functionName: LcPtr::parse_rfc5208_private_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs
    functionUses: 0
    functionsReached:
    - LcPtr::new
    - EVP_parse_private_key
    - bool::then_some
    - ok_or
    - cbs::build_CBS
    - Result::as_const
    - i32::eq
    - ConstPointer::id
    - KeyRejected::wrong_algorithm
    - Self::map_err
    - KeyRejected::invalid_encoding
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn parse_rfc5208_private_key(bytes: &[u8],evp_pkey_type:
      c_int,) -> Result<Self, KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LcPtr::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:257,1
    - Dst: aws_lc::EVP_PKEY_CTX_new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:257,1
    - Dst: LcPtr::as_mut_unsafe_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:257,1
    - Dst: core::ptr::null_mut
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 258
      start: 249
    functionDepth: 3
    functionLinenumber: 249
    functionLinenumberEnd: 258
    functionName: LcPtr::create_EVP_PKEY_CTX
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs
    functionUses: 3
    functionsReached:
    - LcPtr::new
    - LcPtr::as_mut_unsafe_ptr
    - core::ptr::null_mut
    - aws_lc::EVP_PKEY_CTX_new
    linkageType: ''
    returnType: Result
    signature: pub(crate) fn create_EVP_PKEY_CTX(&self) -> Result<LcPtr<EVP_PKEY_CTX>,
      ()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bytes::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:266,1
    - Dst: Self::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:267,1
    - Dst: EVP_PKEY_pqdsa_new_raw_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:268,1
    - Dst: Bytes::as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:268,1
    - Dst: Bytes::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:268,1
    - Dst: Self::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:270,1
    - Dst: EVP_PKEY_pqdsa_new_raw_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:271,1
    - Dst: Bytes::as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:271,1
    - Dst: Bytes::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:271,1
    - Dst: Self::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:273,1
    - Dst: EVP_PKEY_pqdsa_new_raw_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:274,1
    - Dst: Bytes::as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:274,1
    - Dst: Bytes::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:274,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:276,1
    - Dst: map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:266,1
    - Dst: KeyRejected::invalid_encoding
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:278,1
    - Dst: Self::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:281,1
    - Dst: aws_lc::EVP_PKEY_new_raw_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:282,1
    - Dst: core::ptr::null_mut
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:282,1
    - Dst: Bytes::as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:282,1
    - Dst: Bytes::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:282,1
    - Dst: Self::map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:281,1
    - Dst: KeyRejected::unspecified
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:284,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 2
    argNames:
    - bytes
    - evp_pkey_type
    argTypes:
    - '&[u8]'
    - c_int
    constantsTouched: []
    func_position:
      end: 285
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 285
    functionName: LcPtr::parse_raw_private_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs
    functionUses: 0
    functionsReached:
    - aws_lc::EVP_PKEY_new_raw_private_key
    - Bytes::len
    - map_err
    - Err
    - Bytes::as_ptr
    - EVP_PKEY_pqdsa_new_raw_private_key
    - KeyRejected::unspecified
    - core::ptr::null_mut
    - Self::map_err
    - KeyRejected::invalid_encoding
    - Self::new
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn parse_raw_private_key(bytes: &[u8],evp_pkey_type: c_int,)
      -> Result<Self, KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bytes::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:293,1
    - Dst: Self::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:294,1
    - Dst: aws_lc::EVP_PKEY_pqdsa_new_raw_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:295,1
    - Dst: Bytes::as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:295,1
    - Dst: Bytes::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:295,1
    - Dst: Self::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:297,1
    - Dst: aws_lc::EVP_PKEY_pqdsa_new_raw_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:298,1
    - Dst: Bytes::as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:298,1
    - Dst: Bytes::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:298,1
    - Dst: Self::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:300,1
    - Dst: aws_lc::EVP_PKEY_pqdsa_new_raw_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:301,1
    - Dst: Bytes::as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:301,1
    - Dst: Bytes::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:301,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:303,1
    - Dst: map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:293,1
    - Dst: KeyRejected::unspecified
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:305,1
    - Dst: Self::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:308,1
    - Dst: aws_lc::EVP_PKEY_new_raw_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:309,1
    - Dst: core::ptr::null_mut
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:309,1
    - Dst: Bytes::as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:309,1
    - Dst: Bytes::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:309,1
    - Dst: Self::map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:308,1
    - Dst: KeyRejected::invalid_encoding
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:311,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 2
    argNames:
    - bytes
    - evp_pkey_type
    argTypes:
    - '&[u8]'
    - c_int
    constantsTouched: []
    func_position:
      end: 312
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 312
    functionName: LcPtr::parse_raw_public_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs
    functionUses: 0
    functionsReached:
    - Bytes::len
    - aws_lc::EVP_PKEY_pqdsa_new_raw_public_key
    - map_err
    - Err
    - Bytes::as_ptr
    - aws_lc::EVP_PKEY_new_raw_public_key
    - KeyRejected::unspecified
    - core::ptr::null_mut
    - Self::map_err
    - KeyRejected::invalid_encoding
    - Self::new
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn parse_raw_public_key(bytes: &[u8],evp_pkey_type: c_int,)
      -> Result<Self, KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DigestContext::new_uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:323,1
    - Dst: digest::match_digest_type
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:325,1
    - Dst: ConstPointer::as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:325,1
    - Dst: core::ptr::null
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:327,1
    - Dst: null_mut::<EVP_PKEY_CTX>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:329,1
    - Dst: aws_lc::EVP_DigestSignInit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:334,1
    - Dst: DigestContext::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:335,1
    - Dst: core::ptr::null_mut
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:338,1
    - Dst: LcPtr::as_mut_unsafe_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:339,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:342,1
    - Dst: pad_fn
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:346,1
    - Dst: EVP_DigestSign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:352,1
    - Dst: DigestContext::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:353,1
    - Dst: core::ptr::null_mut
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:354,1
    - Dst: bool::as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:356,1
    - Dst: bool::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:357,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:360,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:363,1
    - Dst: fips::indicator_check
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:367,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:376,1
    - Dst: Result::truncate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:378,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:379,1
    - Dst: Result::into_boxed_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:379,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 60
    argCount: 3
    argNames:
    - message
    - digest
    - padding_fn
    argTypes:
    - '&[u8]'
    - Option<&'static digest::Algorithm>
    - Option<F>
    constantsTouched: []
    func_position:
      end: 380
      start: 314
    functionDepth: 3
    functionLinenumber: 314
    functionLinenumberEnd: 380
    functionName: LcPtr::sign
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs
    functionUses: 0
    functionsReached:
    - Result::truncate
    - DigestContext::new_uninit
    - EVP_DigestSign
    - Result::into_boxed_slice
    - Err
    - null_mut::<EVP_PKEY_CTX>
    - aws_lc::EVP_DigestSignInit
    - bool::len
    - digest::match_digest_type
    - core::ptr::null
    - DigestContext::as_mut_ptr
    - ConstPointer::as_const_ptr
    - pad_fn
    - fips::indicator_check
    - core::ptr::null_mut
    - bool::as_ptr
    - LcPtr::as_mut_unsafe_ptr
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn sign<F>(&self,message: &[u8],digest: Option<&''static
      digest::Algorithm>,padding_fn: Option<F>,) -> Result<Box<[u8]>, Unspecified>whereF:
      EVP_PKEY_CTX_consumer,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LcPtr::create_EVP_PKEY_CTX
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:390,1
    - Dst: EVP_PKEY_sign_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:392,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:392,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:393,1
    - Dst: pad_fn
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:397,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:397,1
    - Dst: Digest::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:400,1
    - Dst: aws_lc::EVP_PKEY_sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:403,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:404,1
    - Dst: core::ptr::null_mut
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:405,1
    - Dst: '&[u8]::as_ptr'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:407,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:408,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:411,1
    - Dst: fips::indicator_check
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:415,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:424,1
    - Dst: Result::truncate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:426,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:428,1
    - Dst: Result::into_boxed_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:428,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 48
    argCount: 2
    argNames:
    - digest
    - padding_fn
    argTypes:
    - '&Digest'
    - Option<F>
    constantsTouched: []
    func_position:
      end: 429
      start: 382
    functionDepth: 6
    functionLinenumber: 382
    functionLinenumberEnd: 429
    functionName: LcPtr::sign_digest
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::as_ptr'
    - '&[u8]::len'
    - Result::truncate
    - Result::into_boxed_slice
    - Err
    - LcPtr::create_EVP_PKEY_CTX
    - as_mut_ptr
    - fips::indicator_check
    - pad_fn
    - Digest::as_ref
    - aws_lc::EVP_PKEY_sign
    - EVP_PKEY_sign_init
    - core::ptr::null_mut
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn sign_digest<F>(&self,digest: &Digest,padding_fn: Option<F>,)
      -> Result<Box<[u8]>, Unspecified>whereF: EVP_PKEY_CTX_consumer,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DigestContext::new_uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:441,1
    - Dst: digest::match_digest_type
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:444,1
    - Dst: ConstPointer::as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:444,1
    - Dst: core::ptr::null
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:446,1
    - Dst: null_mut::<EVP_PKEY_CTX>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:449,1
    - Dst: aws_lc::EVP_DigestVerifyInit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:452,1
    - Dst: DigestContext::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:453,1
    - Dst: core::ptr::null_mut
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:456,1
    - Dst: LcPtr::as_mut_unsafe_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:457,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:460,1
    - Dst: pad_fn
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:463,1
    - Dst: fips::indicator_check
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:466,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:475,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:478,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 4
    argNames:
    - msg
    - digest
    - padding_fn
    - signature
    argTypes:
    - '&[u8]'
    - Option<&'static digest::Algorithm>
    - Option<F>
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 479
      start: 431
    functionDepth: 3
    functionLinenumber: 431
    functionLinenumberEnd: 479
    functionName: LcPtr::verify
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs
    functionUses: 0
    functionsReached:
    - DigestContext::new_uninit
    - Err
    - null_mut::<EVP_PKEY_CTX>
    - fips::indicator_check
    - digest::match_digest_type
    - core::ptr::null
    - aws_lc::EVP_DigestVerifyInit
    - ConstPointer::as_const_ptr
    - DigestContext::as_mut_ptr
    - pad_fn
    - core::ptr::null_mut
    - LcPtr::as_mut_unsafe_ptr
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn verify<F>(&self,msg: &[u8],digest: Option<&''static
      digest::Algorithm>,padding_fn: Option<F>,signature: &[u8],) -> Result<(), Unspecified>whereF:
      EVP_PKEY_CTX_consumer,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LcPtr::create_EVP_PKEY_CTX
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:490,1
    - Dst: aws_lc::EVP_PKEY_verify_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:492,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:492,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:493,1
    - Dst: pad_fn
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:497,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:497,1
    - Dst: Digest::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:500,1
    - Dst: fips::indicator_check
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:503,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:511,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:513,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - digest
    - padding_fn
    - signature
    argTypes:
    - '&Digest'
    - Option<F>
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 515
      start: 481
    functionDepth: 6
    functionLinenumber: 481
    functionLinenumberEnd: 515
    functionName: LcPtr::verify_digest_sig
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs
    functionUses: 0
    functionsReached:
    - as_mut_ptr
    - Err
    - LcPtr::create_EVP_PKEY_CTX
    - fips::indicator_check
    - pad_fn
    - Digest::as_ref
    - Ok
    - aws_lc::EVP_PKEY_verify_init
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn verify_digest_sig<F>(&self,digest: &Digest,padding_fn:
      Option<F>,signature: &[u8],) -> Result<(), Unspecified>whereF: EVP_PKEY_CTX_consumer,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LcPtr::create_EVP_PKEY_CTX
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:518,1
    - Dst: aws_lc::EVP_PKEY_derive_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:520,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:520,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:521,1
    - Dst: EVP_PKEY_derive_set_peer
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:525,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:525,1
    - Dst: '&mut Self::as_mut_ptr'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:525,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:526,1
    - Dst: aws_lc::EVP_PKEY_derive
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:529,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:529,1
    - Dst: core::ptr::null_mut
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:529,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:530,1
    - Dst: fips::indicator_check
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:534,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:537,1
    - Dst: Option::truncate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:539,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:541,1
    - Dst: Option::into_boxed_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:541,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 1
    argNames:
    - peer_key
    argTypes:
    - '&mut Self'
    constantsTouched: []
    func_position:
      end: 542
      start: 517
    functionDepth: 4
    functionLinenumber: 517
    functionLinenumberEnd: 542
    functionName: LcPtr::agree
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs
    functionUses: 0
    functionsReached:
    - Option::truncate
    - aws_lc::EVP_PKEY_derive_init
    - '&mut Self::as_mut_ptr'
    - as_mut_ptr
    - Err
    - LcPtr::create_EVP_PKEY_CTX
    - Option::into_boxed_slice
    - fips::indicator_check
    - EVP_PKEY_derive_set_peer
    - aws_lc::EVP_PKEY_derive
    - core::ptr::null_mut
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn agree(&self, peer_key: &mut Self) -> Result<Box<[u8]>,
      Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LcPtr::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:548,1
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:548,1
    - Dst: core::ptr::null_mut
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:548,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:550,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:550,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:551,1
    - Dst: pad_fn
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:555,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:555,1
    - Dst: null_mut::<EVP_PKEY>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:558,1
    - Dst: fips::indicator_check
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:560,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:561,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:564,1
    - Dst: LcPtr::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs:564,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - pkey_type
    - params_fn
    argTypes:
    - c_int
    - Option<F>
    constantsTouched: []
    func_position:
      end: 565
      start: 544
    functionDepth: 2
    functionLinenumber: 544
    functionLinenumberEnd: 565
    functionName: LcPtr::generate
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs
    functionUses: 0
    functionsReached:
    - LcPtr::new
    - EVP_PKEY_CTX_new_id
    - as_mut_ptr
    - Err
    - fips::indicator_check
    - null_mut::<EVP_PKEY>
    - EVP_PKEY_keygen_init
    - pad_fn
    - core::ptr::null_mut
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn generate<F>(pkey_type: c_int, params_fn: Option<F>)
      -> Result<Self, Unspecified>whereF: EVP_PKEY_CTX_consumer,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MaybeUninit::<CBS>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbs.rs:10,1
    - Dst: aws_lc::CBS_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbs.rs:11,1
    - Dst: DigestContext::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbs.rs:11,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbs.rs:11,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbs.rs:11,1
    - Dst: DigestContext::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbs.rs:12,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 13
      start: 9
    functionDepth: 1
    functionLinenumber: 9
    functionLinenumberEnd: 13
    functionName: build_CBS
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbs.rs
    functionUses: 4
    functionsReached:
    - aws_lc::CBS_init
    - as_ptr
    - DigestContext::as_mut_ptr
    - len
    - MaybeUninit::<CBS>::uninit
    - DigestContext::assume_init
    linkageType: ''
    returnType: CBS
    signature: 'pub fn build_CBS(data: &[u8]) -> CBS'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa.rs:95,1
    - Dst: super::KeyPair::from_pkcs8
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa.rs:125,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa.rs:125,1
    - Dst: bool::public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa.rs:126,1
    - Dst: '&[u8]::modulus'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa.rs:127,1
    - Dst: big_endian_without_leading_zero
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa.rs:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 92
    functionDepth: 18
    functionLinenumber: 92
    functionLinenumberEnd: 129
    functionName: tests::test_rsa
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa.rs
    functionUses: 0
    functionsReached:
    - bool::public_key
    - super::KeyPair::from_pkcs8
    - '&[u8]::modulus'
    - Result::unwrap
    - big_endian_without_leading_zero
    - from_dirty_hex
    linkageType: ''
    returnType: void
    signature: fn test_rsa()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LcPtr::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/bn.rs:13,1
    - Dst: aws_lc::BN_bin2bn
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/bn.rs:13,1
    - Dst: Bytes::as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/bn.rs:13,1
    - Dst: Bytes::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/bn.rs:13,1
    - Dst: core::ptr::null_mut
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/bn.rs:13,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 14
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 14
    functionName: LcPtr::try_from
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/bn.rs
    functionUses: 1
    functionsReached:
    - LcPtr::new
    - aws_lc::BN_bin2bn
    - Bytes::len
    - Bytes::as_ptr
    - core::ptr::null_mut
    linkageType: ''
    returnType: Result
    signature: 'fn try_from(bytes: &[u8]) -> Result<Self, Self::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DetachableLcPtr::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/bn.rs:30,1
    - Dst: aws_lc::BN_new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/bn.rs:30,1
    - Dst: aws_lc::BN_set_u64
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/bn.rs:31,1
    - Dst: Result::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/bn.rs:31,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/bn.rs:32,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/bn.rs:34,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - value
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: DetachableLcPtr::try_from
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/bn.rs
    functionUses: 1
    functionsReached:
    - aws_lc::BN_set_u64
    - Ok
    - Result::as_mut_ptr
    - Err
    - aws_lc::BN_new
    - DetachableLcPtr::new
    linkageType: ''
    returnType: Result
    signature: 'fn try_from(value: u64) -> Result<Self, Self::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc::BN_num_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/bn.rs:42,1
    - Dst: ConstPointer::as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/bn.rs:42,1
    - Dst: Vec::with_capacity
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/bn.rs:43,1
    - Dst: aws_lc::BN_bn2bin
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/bn.rs:44,1
    - Dst: ConstPointer::as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/bn.rs:44,1
    - Dst: BytesMutStrubbed::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/bn.rs:44,1
    - Dst: BytesMutStrubbed::set_len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/bn.rs:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: ConstPointer::to_be_bytes
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/bn.rs
    functionUses: 0
    functionsReached:
    - aws_lc::BN_num_bytes
    - Vec::with_capacity
    - BytesMutStrubbed::set_len
    - ConstPointer::as_const_ptr
    - BytesMutStrubbed::as_mut_ptr
    - aws_lc::BN_bn2bin
    linkageType: ''
    returnType: Vec
    signature: pub(crate) fn to_be_bytes(&self) -> Vec<u8>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::from
      Src: /src/spdm-rs/external/ring/src/io/der.rs:47,1
    - Dst: Tag::into
      Src: /src/spdm-rs/external/ring/src/io/der.rs:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - Tag
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: usize::from
    functionSourceFile: /src/spdm-rs/external/ring/src/io/der.rs
    functionUses: 6
    functionsReached:
    - Self::from
    - Tag::into
    linkageType: ''
    returnType: Self
    signature: 'fn from(tag: Tag) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_tag_and_get_value
      Src: /src/spdm-rs/external/ring/src/io/der.rs:68,1
    - Dst: usize::from
      Src: /src/spdm-rs/external/ring/src/io/der.rs:69,1
    - Dst: usize::from
      Src: /src/spdm-rs/external/ring/src/io/der.rs:69,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/io/der.rs:70,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/io/der.rs:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - input
    - tag
    argTypes:
    - '&mut untrusted::Reader<''a>'
    - Tag
    constantsTouched: []
    func_position:
      end: 73
      start: 64
    functionDepth: 12
    functionLinenumber: 64
    functionLinenumberEnd: 73
    functionName: expect_tag_and_get_value
    functionSourceFile: /src/spdm-rs/external/ring/src/io/der.rs
    functionUses: 5
    functionsReached:
    - read_tag_and_get_value
    - Err
    - usize::from
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn expect_tag_and_get_value<''a>(input: &mut untrusted::Reader<''a>,tag:
      Tag,) -> Result<untrusted::Input<''a>, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_byte
      Src: /src/spdm-rs/external/ring/src/io/der.rs:78,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/io/der.rs:80,1
    - Dst: read_byte
      Src: /src/spdm-rs/external/ring/src/io/der.rs:86,1
    - Dst: usize::from
      Src: /src/spdm-rs/external/ring/src/io/der.rs:87,1
    - Dst: read_byte
      Src: /src/spdm-rs/external/ring/src/io/der.rs:89,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/io/der.rs:91,1
    - Dst: usize::from
      Src: /src/spdm-rs/external/ring/src/io/der.rs:93,1
    - Dst: usize::from
      Src: /src/spdm-rs/external/ring/src/io/der.rs:96,1
    - Dst: read_byte
      Src: /src/spdm-rs/external/ring/src/io/der.rs:96,1
    - Dst: usize::from
      Src: /src/spdm-rs/external/ring/src/io/der.rs:97,1
    - Dst: read_byte
      Src: /src/spdm-rs/external/ring/src/io/der.rs:97,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/io/der.rs:100,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/io/der.rs:105,1
    - Dst: read_bytes
      Src: /src/spdm-rs/external/ring/src/io/der.rs:109,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/io/der.rs:110,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 54
    argCount: 1
    argNames:
    - input
    argTypes:
    - '&mut untrusted::Reader<''a>'
    constantsTouched: []
    func_position:
      end: 111
      start: 75
    functionDepth: 11
    functionLinenumber: 75
    functionLinenumberEnd: 111
    functionName: read_tag_and_get_value
    functionSourceFile: /src/spdm-rs/external/ring/src/io/der.rs
    functionUses: 1
    functionsReached:
    - read_byte
    - usize::from
    - read_bytes
    - Err
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn read_tag_and_get_value<''a>(input: &mut untrusted::Reader<''a>,)
      -> Result<(u8, untrusted::Input<''a>), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bit_string_tagged_with_no_unused_bits
      Src: /src/spdm-rs/external/ring/src/io/der.rs:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - input
    argTypes:
    - '&mut untrusted::Reader<''a>'
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 15
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: bit_string_with_no_unused_bits
    functionSourceFile: /src/spdm-rs/external/ring/src/io/der.rs
    functionUses: 1
    functionsReached:
    - bit_string_tagged_with_no_unused_bits
    linkageType: ''
    returnType: Result
    signature: 'pub fn bit_string_with_no_unused_bits<''a>(input: &mut untrusted::Reader<''a>,)
      -> Result<untrusted::Input<''a>, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expect_tag_and_get_value
      Src: /src/spdm-rs/external/ring/src/io/der.rs:144,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/io/der.rs:144,1
    - Dst: read_all
      Src: /src/spdm-rs/external/ring/src/io/der.rs:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - input
    - tag
    - error
    - decoder
    argTypes:
    - '&mut untrusted::Reader<''a>'
    - Tag
    - E
    - F
    constantsTouched: []
    func_position:
      end: 146
      start: 135
    functionDepth: 13
    functionLinenumber: 135
    functionLinenumberEnd: 146
    functionName: nested
    functionSourceFile: /src/spdm-rs/external/ring/src/io/der.rs
    functionUses: 21
    functionsReached:
    - read_all
    - expect_tag_and_get_value
    - Result::map_err
    linkageType: ''
    returnType: Result
    signature: 'pub fn nested<''a, F, R, E: Copy>(input: &mut untrusted::Reader<''a>,tag:
      Tag,error: E,decoder: F,) -> Result<R, E>whereF: FnOnce(&mut untrusted::Reader<''a>)
      -> Result<R, E>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_all
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/io/der.rs:130,1
    - Dst: read_byte
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/io/der.rs:131,1
    - Dst: at_end
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/io/der.rs:132,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/io/der.rs:133,1
    - Dst: read_bytes_to_end
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/io/der.rs:135,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/io/der.rs:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - input
    - min_value
    argTypes:
    - untrusted::Input
    - u8
    constantsTouched: []
    func_position:
      end: 138
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 138
    functionName: n::o::n::n::e::g::a::t::i::v::e::_::i::n::t::e::g::e::r::check_minimum
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/io/der.rs
    functionUses: 0
    functionsReached:
    - read_all
    - read_bytes_to_end
    - read_byte
    - Err
    - at_end
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn check_minimum(input: untrusted::Input, min_value: u8) -> Result<(),
      error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expect_tag_and_get_value
      Src: /src/spdm-rs/external/ring/src/io/der.rs:151,1
    - Dst: u8::as_slice_less_safe
      Src: /src/spdm-rs/external/ring/src/io/der.rs:152,1
    - Dst: split_first
      Src: /src/spdm-rs/external/ring/src/io/der.rs:152,1
    - Dst: ok_or
      Src: /src/spdm-rs/external/ring/src/io/der.rs:152,1
    - Dst: '&[u8]::first'
      Src: /src/spdm-rs/external/ring/src/io/der.rs:159,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/io/der.rs:161,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/io/der.rs:163,1
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/io/der.rs:163,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/io/der.rs:165,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/io/der.rs:169,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/io/der.rs:171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - input
    argTypes:
    - '&mut untrusted::Reader<''a>'
    constantsTouched: []
    func_position:
      end: 173
      start: 148
    functionDepth: 13
    functionLinenumber: 148
    functionLinenumberEnd: 173
    functionName: nonnegative_integer
    functionSourceFile: /src/spdm-rs/external/ring/src/io/der.rs
    functionUses: 6
    functionsReached:
    - split_first
    - u8::as_slice_less_safe
    - '&[u8]::first'
    - Err
    - ok_or
    - untrusted::Input::from
    - expect_tag_and_get_value
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn nonnegative_integer<''a>(input: &mut untrusted::Reader<''a>,)
      -> Result<untrusted::Input<''a>, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nonnegative_integer
      Src: /src/spdm-rs/external/ring/src/io/der.rs:179,1
    - Dst: u8::as_slice_less_safe
      Src: /src/spdm-rs/external/ring/src/io/der.rs:180,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/io/der.rs:181,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/io/der.rs:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - input
    argTypes:
    - '&mut untrusted::Reader'
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 14
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: small_nonnegative_integer
    functionSourceFile: /src/spdm-rs/external/ring/src/io/der.rs
    functionUses: 3
    functionsReached:
    - nonnegative_integer
    - Err
    - u8::as_slice_less_safe
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn small_nonnegative_integer(input: &mut untrusted::Reader) ->
      Result<u8, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nonnegative_integer
      Src: /src/spdm-rs/external/ring/src/io/der.rs:191,1
    - Dst: Positive::from_be_bytes
      Src: /src/spdm-rs/external/ring/src/io/der.rs:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - '&mut untrusted::Reader<''a>'
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 14
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: positive_integer
    functionSourceFile: /src/spdm-rs/external/ring/src/io/der.rs
    functionUses: 5
    functionsReached:
    - Positive::from_be_bytes
    - nonnegative_integer
    linkageType: ''
    returnType: Result
    signature: 'pub fn positive_integer<''a>(input: &mut untrusted::Reader<''a>,)
      -> Result<Positive<''a>, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Input::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/io/der.rs:211,1
    - Dst: Self::read_all
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/io/der.rs:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - value
    - f
    argTypes:
    - '&[u8]'
    - F
    constantsTouched: []
    func_position:
      end: 213
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 213
    functionName: tests::with_good_i
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/io/der.rs
    functionUses: 0
    functionsReached:
    - Self::read_all
    - Input::from
    linkageType: ''
    returnType: void
    signature: 'fn with_good_i<F, R>(value: &[u8], f: F)whereF: FnOnce(&mut untrusted::Reader)
      -> Result<R, error::Unspecified>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Input::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/io/der.rs:219,1
    - Dst: Self::read_all
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/io/der.rs:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - value
    - f
    argTypes:
    - '&[u8]'
    - F
    constantsTouched: []
    func_position:
      end: 221
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 221
    functionName: tests::with_bad_i
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/io/der.rs
    functionUses: 0
    functionsReached:
    - Self::read_all
    - Input::from
    linkageType: ''
    returnType: void
    signature: 'fn with_bad_i<F, R>(value: &[u8], f: F)whereF: FnOnce(&mut untrusted::Reader)
      -> Result<R, error::Unspecified>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::iter::once
      Src: /src/spdm-rs/external/ring/src/io/der.rs:263,1
    - Dst: chain
      Src: /src/spdm-rs/external/ring/src/io/der.rs:263,1
    - Dst: iter
      Src: /src/spdm-rs/external/ring/src/io/der.rs:263,1
    - Dst: with_i
      Src: /src/spdm-rs/external/ring/src/io/der.rs:265,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/io/der.rs:267,1
    - Dst: iter
      Src: /src/spdm-rs/external/ring/src/io/der.rs:271,1
    - Dst: chain
      Src: /src/spdm-rs/external/ring/src/io/der.rs:271,1
    - Dst: iter
      Src: /src/spdm-rs/external/ring/src/io/der.rs:273,1
    - Dst: map
      Src: /src/spdm-rs/external/ring/src/io/der.rs:273,1
    - Dst: with_i
      Src: /src/spdm-rs/external/ring/src/io/der.rs:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 278
      start: 260
    functionDepth: 8
    functionLinenumber: 260
    functionLinenumberEnd: 278
    functionName: tests::test_small_nonnegative_integer
    functionSourceFile: /src/spdm-rs/external/ring/src/io/der.rs
    functionUses: 0
    functionsReached:
    - iter
    - map
    - chain
    - core::iter::once
    - with_i
    - Ok
    linkageType: ''
    returnType: void
    signature: fn test_small_nonnegative_integer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/external/ring/src/io/der.rs:282,1
    - Dst: map
      Src: /src/spdm-rs/external/ring/src/io/der.rs:282,1
    - Dst: core::slice::from_ref
      Src: /src/spdm-rs/external/ring/src/io/der.rs:284,1
    - Dst: chain
      Src: /src/spdm-rs/external/ring/src/io/der.rs:282,1
    - Dst: iter
      Src: /src/spdm-rs/external/ring/src/io/der.rs:285,1
    - Dst: copied
      Src: /src/spdm-rs/external/ring/src/io/der.rs:285,1
    - Dst: with_i
      Src: /src/spdm-rs/external/ring/src/io/der.rs:287,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/io/der.rs:292,1
    - Dst: core::iter::once
      Src: /src/spdm-rs/external/ring/src/io/der.rs:296,1
    - Dst: chain
      Src: /src/spdm-rs/external/ring/src/io/der.rs:296,1
    - Dst: iter
      Src: /src/spdm-rs/external/ring/src/io/der.rs:296,1
    - Dst: with_i
      Src: /src/spdm-rs/external/ring/src/io/der.rs:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 300
      start: 281
    functionDepth: 8
    functionLinenumber: 281
    functionLinenumberEnd: 300
    functionName: tests::test_positive_integer
    functionSourceFile: /src/spdm-rs/external/ring/src/io/der.rs
    functionUses: 0
    functionsReached:
    - copied
    - iter
    - core::slice::from_ref
    - map
    - chain
    - core::iter::once
    - with_i
    - Ok
    linkageType: ''
    returnType: void
    signature: fn test_positive_integer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usize::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/io/der.rs:314,1
    - Dst: u8::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/io/der.rs:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 322
      start: 313
    functionDepth: 3
    functionLinenumber: 313
    functionLinenumberEnd: 322
    functionName: tests::test_tag
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/io/der.rs
    functionUses: 0
    functionsReached:
    - u8::from
    - usize::from
    linkageType: ''
    returnType: void
    signature: fn test_tag()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/io/der.rs:327,1
    - Dst: Self::extend
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/io/der.rs:328,1
    - Dst: Self::extend
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/io/der.rs:329,1
    - Dst: Vec::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/io/der.rs:330,1
    - Dst: Self::extend
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/io/der.rs:331,1
    - Dst: Self::extend
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/io/der.rs:332,1
    - Dst: with_good_i
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/io/der.rs:334,1
    - Dst: positive_integer
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/io/der.rs:335,1
    - Dst: (TestSpdmMessage, TestSpdmMessage)::big_endian_without_leading_zero
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/io/der.rs:336,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/io/der.rs:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 341
      start: 325
    functionDepth: 15
    functionLinenumber: 325
    functionLinenumberEnd: 341
    functionName: tests::test_big
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/io/der.rs
    functionUses: 0
    functionsReached:
    - with_good_i
    - (TestSpdmMessage, TestSpdmMessage)::big_endian_without_leading_zero
    - Vec::new
    - Ok
    - Self::extend
    - positive_integer
    linkageType: ''
    returnType: void
    signature: fn test_big()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: untrusted::Reader::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/io/der.rs:346,1
    - Dst: Input::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/io/der.rs:346,1
    - Dst: untrusted::Reader::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/io/der.rs:349,1
    - Dst: Input::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/io/der.rs:349,1
    - Dst: untrusted::Reader::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/io/der.rs:352,1
    - Dst: Input::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/io/der.rs:352,1
    - Dst: bit_string_with_no_unused_bits
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/io/der.rs:353,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/io/der.rs:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 356
      start: 344
    functionDepth: 16
    functionLinenumber: 344
    functionLinenumberEnd: 356
    functionName: tests::test_bit_string_with_no_unused_bits
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/io/der.rs
    functionUses: 0
    functionsReached:
    - bit_string_with_no_unused_bits
    - Input::from
    - Result::unwrap
    - untrusted::Reader::new
    linkageType: ''
    returnType: void
    signature: fn test_bit_string_with_no_unused_bits()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/io/positive.rs:16,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - untrusted::Input<'a>
    constantsTouched: []
    func_position:
      end: 17
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 17
    functionName: Positive::new_non_empty_without_leading_zeros
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/io/positive.rs
    functionUses: 2
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: 'pub(crate) fn new_non_empty_without_leading_zeros(input: untrusted::Input<''a>)
      -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Positive::big_endian_without_leading_zero_as_input
      Src: /src/spdm-rs/external/ring/src/io/positive.rs:43,1
    - Dst: untrusted::Input::as_slice_less_safe
      Src: /src/spdm-rs/external/ring/src/io/positive.rs:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: Positive::big_endian_without_leading_zero
    functionSourceFile: /src/spdm-rs/external/ring/src/io/positive.rs
    functionUses: 0
    functionsReached:
    - untrusted::Input::as_slice_less_safe
    - Positive::big_endian_without_leading_zero_as_input
    linkageType: ''
    returnType: '&''a [u8]'
    signature: pub fn big_endian_without_leading_zero(&self) -> &'a [u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: Positive::big_endian_without_leading_zero_as_input
    functionSourceFile: /src/spdm-rs/external/ring/src/io/positive.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: untrusted::Input
    signature: pub(crate) fn big_endian_without_leading_zero_as_input(&self) -> untrusted::Input<'a>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_slice_less_safe
      Src: /src/spdm-rs/external/ring/src/io/positive.rs:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: Positive::first_byte
    functionSourceFile: /src/spdm-rs/external/ring/src/io/positive.rs
    functionUses: 0
    functionsReached:
    - as_slice_less_safe
    linkageType: ''
    returnType: u8
    signature: pub fn first_byte(&self) -> u8
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 22
    functionName: block_cipher_test
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesKek::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:29,1
    - Dst: Self::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: key_encryption_key_debug_impl
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs
    functionUses: 0
    functionsReached:
    - Self::expect
    - AesKek::new
    linkageType: ''
    returnType: void
    signature: fn key_encryption_key_debug_impl()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesKek::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests/fips.rs:7,1
    - Dst: Self::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests/fips.rs:7,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests/fips.rs:11,1
    - Dst: fips::assert_fips_status_indicator
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests/fips.rs:11,1
    - Dst: AesKek::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests/fips.rs:16,1
    - Dst: Self::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests/fips.rs:16,1
    - Dst: fips::assert_fips_status_indicator
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests/fips.rs:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 22
    functionDepth: 2
    functionLinenumber: 22
    functionLinenumberEnd: 55
    functionName: nist_aes_key_wrap_test
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests/fips.rs
    functionUses: 0
    functionsReached:
    - Vec::from
    - Self::expect
    - AesKek::new
    - fips::assert_fips_status_indicator
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesKek::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests/fips.rs:7,1
    - Dst: Self::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests/fips.rs:7,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests/fips.rs:11,1
    - Dst: fips::assert_fips_status_indicator
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests/fips.rs:11,1
    - Dst: AesKek::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests/fips.rs:17,1
    - Dst: Self::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests/fips.rs:17,1
    - Dst: fips::assert_fips_status_indicator
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests/fips.rs:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 92
    functionName: nist_aes_key_wrap_with_padding_test
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests/fips.rs
    functionUses: 0
    functionsReached:
    - Vec::from
    - Self::expect
    - AesKek::new
    - fips::assert_fips_status_indicator
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesKek::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:8,1
    - Dst: Self::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:8,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:12,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:12,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:12,1
    - Dst: AesKek::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:16,1
    - Dst: Self::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:16,1
    - Dst: wrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:20,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 100
    functionDepth: 5
    functionLinenumber: 100
    functionLinenumberEnd: 138
    functionName: nist_aes_key_unwrap_test
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - AesKek::new
    - Self::expect
    - wrap
    - Vec::from
    - expect
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesKek::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:8,1
    - Dst: Self::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:8,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:12,1
    - Dst: unwrap_with_padding
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:13,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:13,1
    - Dst: AesKek::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:19,1
    - Dst: Self::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:19,1
    - Dst: wrap_with_padding
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:23,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 140
    functionDepth: 5
    functionLinenumber: 140
    functionLinenumberEnd: 184
    functionName: nist_aes_key_unwrap_with_padding_test
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs
    functionUses: 0
    functionsReached:
    - unwrap_with_padding
    - AesKek::new
    - wrap_with_padding
    - Self::expect
    - Vec::from
    - expect
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesKek::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:4,1
    - Dst: Self::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:4,1
    - Dst: try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:6,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:6,1
    - Dst: try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:7,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:7,1
    - Dst: wrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:12,1
    - Dst: as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:12,1
    - Dst: as_mut_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:12,1
    - Dst: expect_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 598
      start: 582
    functionDepth: 4
    functionLinenumber: 582
    functionLinenumberEnd: 598
    functionName: wrap_input_output_invalid_test
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - AesKek::new
    - as_mut_slice
    - Self::expect
    - wrap
    - try_into
    - as_slice
    - expect_err
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesKek::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:4,1
    - Dst: Self::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:4,1
    - Dst: try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:6,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:6,1
    - Dst: try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:7,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:7,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:12,1
    - Dst: as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:12,1
    - Dst: as_mut_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:12,1
    - Dst: expect_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 625
      start: 609
    functionDepth: 4
    functionLinenumber: 609
    functionLinenumberEnd: 625
    functionName: unwrap_input_output_invalid_test
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - AesKek::new
    - as_mut_slice
    - Self::expect
    - try_into
    - as_slice
    - expect_err
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesKek::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:4,1
    - Dst: Self::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:4,1
    - Dst: try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:6,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:6,1
    - Dst: try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:7,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:7,1
    - Dst: wrap_with_padding
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:12,1
    - Dst: as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:12,1
    - Dst: as_mut_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:12,1
    - Dst: expect_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 652
      start: 636
    functionDepth: 4
    functionLinenumber: 636
    functionLinenumberEnd: 652
    functionName: wrap_with_padding_input_output_invalid_test
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - AesKek::new
    - wrap_with_padding
    - as_mut_slice
    - Self::expect
    - try_into
    - as_slice
    - expect_err
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AesKek::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:4,1
    - Dst: Self::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:4,1
    - Dst: try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:6,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:6,1
    - Dst: try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:7,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:7,1
    - Dst: unwrap_with_padding
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:12,1
    - Dst: as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:12,1
    - Dst: as_mut_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:12,1
    - Dst: expect_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 678
      start: 662
    functionDepth: 4
    functionLinenumber: 662
    functionLinenumberEnd: 678
    functionName: unwrap_with_padding_input_output_invalid_test
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs
    functionUses: 0
    functionsReached:
    - unwrap_with_padding
    - unwrap
    - AesKek::new
    - as_mut_slice
    - Self::expect
    - try_into
    - as_slice
    - expect_err
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SystemRandom::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac/tests/fips.rs:4,1
    - Dst: rand::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac/tests/fips.rs:6,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac/tests/fips.rs:6,1
    - Dst: Result::expose
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac/tests/fips.rs:6,1
    - Dst: Key::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac/tests/fips.rs:8,1
    - Dst: gcm::KeyValue::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac/tests/fips.rs:8,1
    - Dst: Self::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac/tests/fips.rs:8,1
    - Dst: fips::assert_fips_status_indicator
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac/tests/fips.rs:11,1
    - Dst: Key::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac/tests/fips.rs:13,1
    - Dst: gcm::KeyValue::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac/tests/fips.rs:13,1
    - Dst: Self::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac/tests/fips.rs:13,1
    - Dst: fips::assert_fips_status_indicator
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac/tests/fips.rs:15,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac/tests/fips.rs:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 12
    functionDepth: 17
    functionLinenumber: 12
    functionLinenumberEnd: 35
    functionName: cmac_api
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac/tests/fips.rs
    functionUses: 0
    functionsReached:
    - rand::generate
    - SystemRandom::new
    - gcm::KeyValue::as_ref
    - Result::unwrap
    - Key::new
    - Result::expose
    - fips::assert_fips_status_indicator
    - Ok
    - Self::unwrap
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SystemRandom::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac/tests/fips.rs:4,1
    - Dst: rand::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac/tests/fips.rs:6,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac/tests/fips.rs:6,1
    - Dst: Result::expose
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac/tests/fips.rs:6,1
    - Dst: Key::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac/tests/fips.rs:8,1
    - Dst: gcm::KeyValue::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac/tests/fips.rs:8,1
    - Dst: fips::assert_fips_status_indicator
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac/tests/fips.rs:10,1
    - Dst: Key::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac/tests/fips.rs:15,1
    - Dst: gcm::KeyValue::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac/tests/fips.rs:15,1
    - Dst: fips::assert_fips_status_indicator
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac/tests/fips.rs:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 16
    functionDepth: 17
    functionLinenumber: 16
    functionLinenumberEnd: 39
    functionName: hmac_api
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac/tests/fips.rs
    functionUses: 0
    functionsReached:
    - rand::generate
    - SystemRandom::new
    - gcm::KeyValue::as_ref
    - Result::unwrap
    - Key::new
    - Result::expose
    - fips::assert_fips_status_indicator
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digest::match_digest_type
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/digest_ctx.rs:16,1
    - Dst: Self::new_uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/digest_ctx.rs:17,1
    - Dst: EVP_DigestInit_ex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/digest_ctx.rs:19,1
    - Dst: DigestContext::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/digest_ctx.rs:19,1
    - Dst: ConstPointer::as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/digest_ctx.rs:19,1
    - Dst: core::ptr::null_mut
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/digest_ctx.rs:19,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/digest_ctx.rs:20,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/digest_ctx.rs:22,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - '&''static Algorithm'
    constantsTouched: []
    func_position:
      end: 24
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 24
    functionName: DigestContext::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/digest_ctx.rs
    functionUses: 0
    functionsReached:
    - Err
    - EVP_DigestInit_ex
    - Self::new_uninit
    - digest::match_digest_type
    - DigestContext::as_mut_ptr
    - ConstPointer::as_const_ptr
    - core::ptr::null_mut
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn new(algorithm: &''static Algorithm) -> Result<DigestContext,
      Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MaybeUninit::<EVP_MD_CTX>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/digest_ctx.rs:27,1
    - Dst: aws_lc::EVP_MD_CTX_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/digest_ctx.rs:29,1
    - Dst: DigestContext::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/digest_ctx.rs:29,1
    - Dst: Self
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/digest_ctx.rs:30,1
    - Dst: DigestContext::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/digest_ctx.rs:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: DigestContext::new_uninit
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/digest_ctx.rs
    functionUses: 2
    functionsReached:
    - aws_lc::EVP_MD_CTX_init
    - MaybeUninit::<EVP_MD_CTX>::uninit
    - Self
    - DigestContext::as_mut_ptr
    - DigestContext::assume_init
    linkageType: ''
    returnType: DigestContext
    signature: pub fn new_uninit() -> DigestContext
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: DigestContext::as_mut_ptr
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/digest_ctx.rs
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: '*mut EVP_MD_CTX'
    signature: pub(crate) fn as_mut_ptr(&mut self) -> *mut EVP_MD_CTX
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: DigestContext::as_ptr
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/digest_ctx.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: '*const EVP_MD_CTX'
    signature: pub(crate) fn as_ptr(&self) -> *const EVP_MD_CTX
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DigestContext::try_clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/digest_ctx.rs:48,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/digest_ctx.rs:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: DigestContext::clone
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/digest_ctx.rs
    functionUses: 0
    functionsReached:
    - Result::expect
    - DigestContext::try_clone
    linkageType: ''
    returnType: Self
    signature: fn clone(&self) -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc::EVP_MD_CTX_cleanup
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/digest_ctx.rs:55,1
    - Dst: DigestContext::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/digest_ctx.rs:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: DigestContext::drop
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/digest_ctx.rs
    functionUses: 0
    functionsReached:
    - DigestContext::as_mut_ptr
    - aws_lc::EVP_MD_CTX_cleanup
    linkageType: ''
    returnType: void
    signature: fn drop(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MaybeUninit::<EVP_MD_CTX>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/digest_ctx.rs:62,1
    - Dst: aws_lc::EVP_MD_CTX_copy
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/digest_ctx.rs:66,1
    - Dst: DigestContext::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/digest_ctx.rs:66,1
    - Dst: DigestContext::as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/digest_ctx.rs:66,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/digest_ctx.rs:67,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/digest_ctx.rs:69,1
    - Dst: Self
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/digest_ctx.rs:69,1
    - Dst: DigestContext::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/digest_ctx.rs:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 71
    functionName: DigestContext::try_clone
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/digest_ctx.rs
    functionUses: 1
    functionsReached:
    - aws_lc::EVP_MD_CTX_copy
    - MaybeUninit::<EVP_MD_CTX>::uninit
    - Self
    - Err
    - DigestContext::as_mut_ptr
    - DigestContext::as_ptr
    - DigestContext::assume_init
    - Ok
    linkageType: ''
    returnType: Result
    signature: fn try_clone(&self) -> Result<Self, &'static str>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc::SHA1
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/sha.rs:202,1
    - Dst: SpdmResult::as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/sha.rs:202,1
    - Dst: SpdmResult::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/sha.rs:202,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/sha.rs:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - msg
    - output
    argTypes:
    - '&[u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 204
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 204
    functionName: sha1_digest
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/sha.rs
    functionUses: 0
    functionsReached:
    - SpdmResult::as_ptr
    - aws_lc::SHA1
    - as_mut_ptr
    - SpdmResult::len
    linkageType: ''
    returnType: void
    signature: 'fn sha1_digest(msg: &[u8], output: &mut [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc::SHA224
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/sha.rs:208,1
    - Dst: SpdmResult::as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/sha.rs:208,1
    - Dst: SpdmResult::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/sha.rs:208,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/sha.rs:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - msg
    - output
    argTypes:
    - '&[u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 210
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 210
    functionName: sha224_digest
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/sha.rs
    functionUses: 0
    functionsReached:
    - SpdmResult::as_ptr
    - aws_lc::SHA224
    - as_mut_ptr
    - SpdmResult::len
    linkageType: ''
    returnType: void
    signature: 'fn sha224_digest(msg: &[u8], output: &mut [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc::SHA256
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/sha.rs:214,1
    - Dst: SpdmResult::as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/sha.rs:214,1
    - Dst: SpdmResult::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/sha.rs:214,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/sha.rs:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - msg
    - output
    argTypes:
    - '&[u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: sha256_digest
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/sha.rs
    functionUses: 0
    functionsReached:
    - SpdmResult::as_ptr
    - aws_lc::SHA256
    - as_mut_ptr
    - SpdmResult::len
    linkageType: ''
    returnType: void
    signature: 'fn sha256_digest(msg: &[u8], output: &mut [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc::SHA384
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/sha.rs:220,1
    - Dst: SpdmResult::as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/sha.rs:220,1
    - Dst: SpdmResult::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/sha.rs:220,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/sha.rs:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - msg
    - output
    argTypes:
    - '&[u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: sha384_digest
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/sha.rs
    functionUses: 0
    functionsReached:
    - SpdmResult::as_ptr
    - aws_lc::SHA384
    - as_mut_ptr
    - SpdmResult::len
    linkageType: ''
    returnType: void
    signature: 'fn sha384_digest(msg: &[u8], output: &mut [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc::SHA512
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/sha.rs:226,1
    - Dst: SpdmResult::as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/sha.rs:226,1
    - Dst: SpdmResult::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/sha.rs:226,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/sha.rs:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - msg
    - output
    argTypes:
    - '&[u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: sha512_digest
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/sha.rs
    functionUses: 0
    functionsReached:
    - SpdmResult::as_ptr
    - as_mut_ptr
    - aws_lc::SHA512
    - SpdmResult::len
    linkageType: ''
    returnType: void
    signature: 'fn sha512_digest(msg: &[u8], output: &mut [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc::SHA512_256
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/sha.rs:232,1
    - Dst: SpdmResult::as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/sha.rs:232,1
    - Dst: SpdmResult::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/sha.rs:232,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/sha.rs:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - msg
    - output
    argTypes:
    - '&[u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: sha512_256_digest
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/sha.rs
    functionUses: 0
    functionsReached:
    - SpdmResult::as_ptr
    - aws_lc::SHA512_256
    - as_mut_ptr
    - SpdmResult::len
    linkageType: ''
    returnType: void
    signature: 'fn sha512_256_digest(msg: &[u8], output: &mut [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Context::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/sha.rs:237,1
    - Dst: update
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/sha.rs:238,1
    - Dst: finish
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/sha.rs:239,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/sha.rs:240,1
    - Dst: Digest::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/sha.rs:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - msg
    - output
    argTypes:
    - '&[u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 241
      start: 236
    functionDepth: 11
    functionLinenumber: 236
    functionLinenumberEnd: 241
    functionName: sha3_256_digest
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/sha.rs
    functionUses: 0
    functionsReached:
    - finish
    - Digest::as_ref
    - update
    - copy_from_slice
    - Context::new
    linkageType: ''
    returnType: void
    signature: 'fn sha3_256_digest(msg: &[u8], output: &mut [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Context::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/sha.rs:244,1
    - Dst: update
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/sha.rs:245,1
    - Dst: finish
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/sha.rs:246,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/sha.rs:247,1
    - Dst: Digest::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/sha.rs:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - msg
    - output
    argTypes:
    - '&[u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 248
      start: 243
    functionDepth: 11
    functionLinenumber: 243
    functionLinenumberEnd: 248
    functionName: sha3_384_digest
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/sha.rs
    functionUses: 0
    functionsReached:
    - finish
    - Digest::as_ref
    - update
    - copy_from_slice
    - Context::new
    linkageType: ''
    returnType: void
    signature: 'fn sha3_384_digest(msg: &[u8], output: &mut [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Context::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/sha.rs:251,1
    - Dst: update
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/sha.rs:252,1
    - Dst: finish
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/sha.rs:253,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/sha.rs:254,1
    - Dst: Digest::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/sha.rs:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - msg
    - output
    argTypes:
    - '&[u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 255
      start: 250
    functionDepth: 11
    functionLinenumber: 250
    functionLinenumberEnd: 255
    functionName: sha3_512_digest
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/sha.rs
    functionUses: 0
    functionsReached:
    - finish
    - Digest::as_ref
    - update
    - copy_from_slice
    - Context::new
    linkageType: ''
    returnType: void
    signature: 'fn sha3_512_digest(msg: &[u8], output: &mut [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fips::assert_fips_status_indicator
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/tests/fips.rs:7,1
    - Dst: fips::assert_fips_status_indicator
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/tests/fips.rs:10,1
    - Dst: fips::assert_fips_status_indicator
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/tests/fips.rs:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 33
    functionName: digest_api
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/tests/fips.rs
    functionUses: 0
    functionsReached:
    - fips::assert_fips_status_indicator
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: Block::zero
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/block.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: pub(crate) fn zero() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::mem::transmute
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/block.rs:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '[u8; BLOCK_LEN]'
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: Block::from
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/block.rs
    functionUses: 6
    functionsReached:
    - core::mem::transmute
    linkageType: ''
    returnType: Self
    signature: 'fn from(bytes: [u8; BLOCK_LEN]) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::mem::transmute
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/block.rs:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: Block::as_ref
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/block.rs
    functionUses: 2
    functionsReached:
    - core::mem::transmute
    linkageType: ''
    returnType: '&[u8; BLOCK_LEN]'
    signature: fn as_ref(&self) -> &[u8; BLOCK_LEN]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::mem::transmute
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/block.rs:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: Block::as_mut
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/block.rs
    functionUses: 1
    functionsReached:
    - core::mem::transmute
    linkageType: ''
    returnType: '&mut [u8; BLOCK_LEN]'
    signature: fn as_mut(&mut self) -> &mut [u8; BLOCK_LEN]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Block::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/block.rs:54,1
    - Dst: Self::clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/block.rs:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: tests::test_block_clone
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/block.rs
    functionUses: 0
    functionsReached:
    - Self::clone
    - Block::from
    linkageType: ''
    returnType: void
    signature: fn test_block_clone()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Block::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/block.rs:66,1
    - Dst: Self::clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/block.rs:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 73
    functionName: tests::test_block_clone_mut_ref
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/block.rs
    functionUses: 0
    functionsReached:
    - Self::clone
    - Block::from
    linkageType: ''
    returnType: void
    signature: fn test_block_clone_mut_ref()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ChaCha20Key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/chacha.rs:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '[u8; KEY_LEN]'
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: ChaCha20Key::from
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/chacha.rs
    functionUses: 1
    functionsReached:
    - ChaCha20Key
    linkageType: ''
    returnType: Self
    signature: 'fn from(bytes: [u8; KEY_LEN]) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zeroize
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/chacha.rs:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 3
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: ChaCha20Key::drop
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/chacha.rs
    functionUses: 0
    functionsReached:
    - zeroize
    linkageType: ''
    returnType: void
    signature: fn drop(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encrypt_in_place_chacha20
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/chacha.rs:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - nonce
    - in_out
    - ctr
    argTypes:
    - '&[u8; NONCE_LEN]'
    - '&mut [u8]'
    - u32
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 3
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: ChaCha20Key::encrypt_in_place
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/chacha.rs
    functionUses: 1
    functionsReached:
    - encrypt_in_place_chacha20
    linkageType: ''
    returnType: void
    signature: 'pub(crate) fn encrypt_in_place(&self, nonce: &[u8; NONCE_LEN], in_out:
      &mut [u8], ctr: u32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encrypt_chacha20
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/chacha.rs:47,1
    - Dst: SpdmSupportedAlgorithmsBlock::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/chacha.rs:49,1
    - Dst: '&[u8]::as_slice'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/chacha.rs:49,1
    - Dst: crate::fips::set_fips_service_status_unapproved
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/chacha.rs:55,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/chacha.rs:57,1
    - Dst: Block::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/chacha.rs:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - key
    - block
    - nonce
    - counter
    argTypes:
    - '&ChaCha20Key'
    - Block
    - '&[u8; NONCE_LEN]'
    - u32
    constantsTouched: []
    func_position:
      end: 58
      start: 40
    functionDepth: 3
    functionLinenumber: 40
    functionLinenumberEnd: 58
    functionName: encrypt_block_chacha20
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/chacha.rs
    functionUses: 1
    functionsReached:
    - '&[u8]::as_slice'
    - SpdmSupportedAlgorithmsBlock::as_ref
    - encrypt_chacha20
    - Block::from
    - Ok
    - crate::fips::set_fips_service_status_unapproved
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn encrypt_block_chacha20(key: &ChaCha20Key,block: Block,nonce:
      &[u8; NONCE_LEN],counter: u32,) -> Result<Block, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/chacha.rs:68,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/chacha.rs:68,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/chacha.rs:69,1
    - Dst: aws_lc::CRYPTO_chacha_20
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/chacha.rs:73,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/chacha.rs:74,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/chacha.rs:75,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/chacha.rs:76,1
    - Dst: Option::as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/chacha.rs:77,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/chacha.rs:78,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/chacha.rs:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 5
    argNames:
    - key
    - plaintext
    - ciphertext
    - nonce
    - counter
    argTypes:
    - '&ChaCha20Key'
    - '&[u8]'
    - '&mut [u8]'
    - '&[u8; NONCE_LEN]'
    - u32
    constantsTouched: []
    func_position:
      end: 83
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 83
    functionName: encrypt_chacha20
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/chacha.rs
    functionUses: 1
    functionsReached:
    - aws_lc::CRYPTO_chacha_20
    - Option::as_ptr
    - as_mut_ptr
    - Err
    - as_ptr
    - len
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn encrypt_chacha20(key: &ChaCha20Key,plaintext: &[u8],ciphertext:
      &mut [u8],nonce: &[u8; NONCE_LEN],counter: u32,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc::CRYPTO_chacha_20
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/chacha.rs:94,1
    - Dst: '&mut [u8]::as_mut_ptr'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/chacha.rs:95,1
    - Dst: '&mut [u8]::as_ptr'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/chacha.rs:96,1
    - Dst: '&mut [u8]::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/chacha.rs:97,1
    - Dst: Option::as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/chacha.rs:98,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/chacha.rs:99,1
    - Dst: crate::fips::set_fips_service_status_unapproved
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/chacha.rs:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 4
    argNames:
    - key
    - nonce
    - in_out
    - counter
    argTypes:
    - '&ChaCha20Key'
    - '&[u8; NONCE_LEN]'
    - '&mut [u8]'
    - u32
    constantsTouched: []
    func_position:
      end: 104
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 104
    functionName: encrypt_in_place_chacha20
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/chacha.rs
    functionUses: 1
    functionsReached:
    - '&mut [u8]::as_mut_ptr'
    - aws_lc::CRYPTO_chacha_20
    - '&mut [u8]::as_ptr'
    - Option::as_ptr
    - '&mut [u8]::len'
    - as_ptr
    - crate::fips::set_fips_service_status_unapproved
    linkageType: ''
    returnType: void
    signature: 'pub(crate) fn encrypt_in_place_chacha20(key: &ChaCha20Key,nonce: &[u8;
      NONCE_LEN],in_out: &mut [u8],counter: u32,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/aead/chacha.rs:251,1
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/src/aead/chacha.rs:256,1
    - Dst: test_vector_file
      Src: /src/spdm-rs/external/ring/src/aead/chacha.rs:257,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/src/aead/chacha.rs:261,1
    - Dst: bool::as_slice
      Src: /src/spdm-rs/external/ring/src/aead/chacha.rs:262,1
    - Dst: '&[P::T]::try_into'
      Src: /src/spdm-rs/external/ring/src/aead/chacha.rs:262,1
    - Dst: Key::new
      Src: /src/spdm-rs/external/ring/src/aead/chacha.rs:263,1
    - Dst: Option::consume_usize
      Src: /src/spdm-rs/external/ring/src/aead/chacha.rs:265,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/src/aead/chacha.rs:266,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/src/aead/chacha.rs:267,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/src/aead/chacha.rs:268,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/aead/chacha.rs:273,1
    - Dst: chacha20_test_case_inner
      Src: /src/spdm-rs/external/ring/src/aead/chacha.rs:275,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/aead/chacha.rs:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 42
    argCount: 2
    argNames:
    - max_alignment_and_offset
    - f
    argTypes:
    - (usize, usize)
    - impl for<'k, 'o> Fn(&'k Key, Counter, Overlapping<'o>, cpu::Features)
    constantsTouched: []
    func_position:
      end: 291
      start: 247
    functionDepth: 14
    functionLinenumber: 247
    functionLinenumberEnd: 291
    functionName: tests::chacha20_test
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/chacha.rs
    functionUses: 0
    functionsReached:
    - Option::consume_usize
    - '&[P::T]::try_into'
    - bool::as_slice
    - chacha20_test_case_inner
    - cpu::features
    - Key::new
    - len
    - test_vector_file
    - Option::consume_bytes
    - test::run
    - Ok
    linkageType: ''
    returnType: void
    signature: 'fn chacha20_test(max_alignment_and_offset: (usize, usize),f: impl
      for<''k, ''o> Fn(&''k Key, Counter, Overlapping<''o>, cpu::Features),)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fill
      Src: /src/spdm-rs/external/ring/src/aead/chacha.rs:307,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/aead/chacha.rs:310,1
    - Dst: fill
      Src: /src/spdm-rs/external/ring/src/aead/chacha.rs:311,1
    - Dst: clone
      Src: /src/spdm-rs/external/ring/src/aead/chacha.rs:313,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/ring/src/aead/chacha.rs:313,1
    - Dst: Counter::from_nonce_and_ctr
      Src: /src/spdm-rs/external/ring/src/aead/chacha.rs:315,1
    - Dst: Nonce::try_assume_unique_for_key
      Src: /src/spdm-rs/external/ring/src/aead/chacha.rs:316,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/src/aead/chacha.rs:316,1
    - Dst: Overlapping::new
      Src: /src/spdm-rs/external/ring/src/aead/chacha.rs:319,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/aead/chacha.rs:319,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/ring/src/aead/chacha.rs:319,1
    - Dst: f
      Src: /src/spdm-rs/external/ring/src/aead/chacha.rs:322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 44
    argCount: 9
    argNames:
    - key
    - nonce
    - ctr
    - input
    - expected
    - buf
    - cpu
    - f
    argTypes:
    - '&Key'
    - '&[u8]'
    - u32
    - '&[u8]'
    - '&[u8]'
    - '&mut [u8]'
    - (usize, usize)
    - cpu::Features
    - '&impl for<''k, ''o> Fn(&''k Key, Counter, Overlapping<''o>, cpu::Features)'
    constantsTouched: []
    func_position:
      end: 326
      start: 293
    functionDepth: 9
    functionLinenumber: 293
    functionLinenumberEnd: 326
    functionName: tests::chacha20_test_case_inner
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/chacha.rs
    functionUses: 0
    functionsReached:
    - f
    - clone
    - unwrap
    - Result::map_err
    - Result::unwrap
    - copy_from_slice
    - len
    - Counter::from_nonce_and_ctr
    - Overlapping::new
    - Nonce::try_assume_unique_for_key
    - fill
    linkageType: ''
    returnType: void
    signature: 'fn chacha20_test_case_inner(key: &Key,nonce: &[u8],ctr: u32,input:
      &[u8],expected: &[u8],buf: &mut [u8],(max_alignment, max_offset): (usize, usize),cpu:
      cpu::Features,f: &impl for<''k, ''o> Fn(&''k Key, Counter, Overlapping<''o>,
      cpu::Features),)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&''a mut [u8]::split_at_mut'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out_buffer
    - written_len
    argTypes:
    - '&''a mut [u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: BufferUpdate::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs
    functionUses: 4
    functionsReached:
    - '&''a mut [u8]::split_at_mut'
    linkageType: ''
    returnType: Self
    signature: 'fn new(out_buffer: &''a mut [u8], written_len: usize) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: BufferUpdate::written
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn written(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: BufferUpdate::remainder
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn remainder(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: BufferUpdate::remainder_mut
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&mut [u8]'
    signature: pub fn remainder_mut(&mut self) -> &mut [u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:71,1
    - Dst: core::ptr::null
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:73,1
    - Dst: aws_lc::EVP_EncryptInit_ex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:78,1
    - Dst: '&mut LcPtr<EVP_CIPHER_CTX>::as_mut_ptr'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:79,1
    - Dst: ConstPointer::as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:80,1
    - Dst: core::ptr::null_mut
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:81,1
    - Dst: bool::as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:82,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:86,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - cipher_ctx
    - cipher
    - key
    - iv
    argTypes:
    - '&mut LcPtr<EVP_CIPHER_CTX>'
    - '&ConstPointer<EVP_CIPHER>'
    - '&[u8]'
    - Option<&[u8]>
    constantsTouched: []
    func_position:
      end: 90
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 90
    functionName: evp_encrypt_init
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs
    functionUses: 1
    functionsReached:
    - aws_lc::EVP_EncryptInit_ex
    - Ok
    - Err
    - Result::as_ptr
    - core::ptr::null
    - ConstPointer::as_const_ptr
    - core::ptr::null_mut
    - bool::as_ptr
    - '&mut LcPtr<EVP_CIPHER_CTX>::as_mut_ptr'
    linkageType: ''
    returnType: Result
    signature: 'fn evp_encrypt_init(cipher_ctx: &mut LcPtr<EVP_CIPHER_CTX>,cipher:
      &ConstPointer<EVP_CIPHER>,key: &[u8],iv: Option<&[u8]>,) -> Result<(), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:99,1
    - Dst: core::ptr::null
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:101,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:106,1
    - Dst: '&mut LcPtr<EVP_CIPHER_CTX>::as_mut_ptr'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:107,1
    - Dst: ConstPointer::as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:108,1
    - Dst: core::ptr::null_mut
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:109,1
    - Dst: bool::as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:110,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:114,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - cipher_ctx
    - cipher
    - key
    - iv
    argTypes:
    - '&mut LcPtr<EVP_CIPHER_CTX>'
    - '&ConstPointer<EVP_CIPHER>'
    - '&[u8]'
    - Option<&[u8]>
    constantsTouched: []
    func_position:
      end: 118
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 118
    functionName: evp_decrypt_init
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs
    functionUses: 1
    functionsReached:
    - Ok
    - Err
    - Result::as_ptr
    - core::ptr::null
    - ConstPointer::as_const_ptr
    - EVP_DecryptInit_ex
    - core::ptr::null_mut
    - bool::as_ptr
    - '&mut LcPtr<EVP_CIPHER_CTX>::as_mut_ptr'
    linkageType: ''
    returnType: Result
    signature: 'fn evp_decrypt_init(cipher_ctx: &mut LcPtr<EVP_CIPHER_CTX>,cipher:
      &ConstPointer<EVP_CIPHER>,key: &[u8],iv: Option<&[u8]>,) -> Result<(), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:127,1
    - Dst: supports_mode
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:128,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:129,1
    - Dst: bool::validate_key_material
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:135,1
    - Dst: LcPtr::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:136,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:136,1
    - Dst: bool::evp_cipher
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:137,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:138,1
    - Dst: Option::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:139,1
    - Dst: <usize>::try_from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:140,1
    - Dst: aws_lc::EVP_CIPHER_key_length
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:140,1
    - Dst: ConstPointer::as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:140,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:140,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:142,1
    - Dst: <&[u8]>::try_from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:147,1
    - Dst: evp_encrypt_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:153,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:153,1
    - Dst: <&[u8]>::try_from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:157,1
    - Dst: evp_encrypt_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:163,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:163,1
    - Dst: evp_encrypt_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:166,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:170,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 65
    argCount: 3
    argNames:
    - key
    - mode
    - context
    argTypes:
    - UnboundCipherKey
    - OperatingMode
    - EncryptionContext
    constantsTouched: []
    func_position:
      end: 177
      start: 122
    functionDepth: 8
    functionLinenumber: 122
    functionLinenumberEnd: 177
    functionName: StreamingEncryptingKey::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs
    functionUses: 0
    functionsReached:
    - LcPtr::new
    - supports_mode
    - Err
    - <usize>::try_from
    - bool::algorithm
    - Result::unwrap
    - aws_lc::EVP_CIPHER_key_length
    - evp_encrypt_init
    - ConstPointer::as_const_ptr
    - Option::len
    - <&[u8]>::try_from
    - bool::validate_key_material
    - as_ref
    - EVP_CIPHER_CTX_new
    - Ok
    - bool::evp_cipher
    - Some
    linkageType: ''
    returnType: Result
    signature: 'fn new(key: UnboundCipherKey,mode: OperatingMode,context: EncryptionContext,)
      -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:185,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:186,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:189,1
    - Dst: usize::try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:189,1
    - Dst: EVP_EncryptUpdate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:192,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:193,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:194,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:196,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:200,1
    - Dst: try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:202,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:207,1
    - Dst: BufferUpdate::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:207,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 3
    argNames:
    - input
    - output
    - min_outsize
    argTypes:
    - '&[u8]'
    - '&''a mut [u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 208
      start: 179
    functionDepth: 4
    functionLinenumber: 179
    functionLinenumberEnd: 208
    functionName: StreamingEncryptingKey::update_internal
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs
    functionUses: 2
    functionsReached:
    - usize::try_into
    - EVP_EncryptUpdate
    - Err
    - as_mut_ptr
    - as_ptr
    - len
    - BufferUpdate::new
    - try_into
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn update_internal<''a>(&mut self,input: &[u8],output: &''a mut [u8],min_outsize:
      usize,) -> Result<BufferUpdate<''a>, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:225,1
    - Dst: usize::checked_add
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:225,1
    - Dst: StreamingEncryptingKey::algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:227,1
    - Dst: '&''static Algorithm::block_len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:227,1
    - Dst: ok_or
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:225,1
    - Dst: checked_sub
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:225,1
    - Dst: ok_or
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:225,1
    - Dst: StreamingEncryptingKey::update_internal
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - input
    - output
    argTypes:
    - '&[u8]'
    - '&''a mut [u8]'
    constantsTouched: []
    func_position:
      end: 232
      start: 220
    functionDepth: 5
    functionLinenumber: 220
    functionLinenumberEnd: 232
    functionName: StreamingEncryptingKey::update
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs
    functionUses: 1
    functionsReached:
    - StreamingEncryptingKey::algorithm
    - StreamingEncryptingKey::update_internal
    - usize::checked_add
    - ok_or
    - checked_sub
    - len
    - '&''static Algorithm::block_len'
    linkageType: ''
    returnType: Result
    signature: 'pub fn update<''a>(&mut self,input: &[u8],output: &''a mut [u8],)
      -> Result<BufferUpdate<''a>, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checked_add
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:260,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:262,1
    - Dst: ok_or
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:260,1
    - Dst: StreamingEncryptingKey::algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:264,1
    - Dst: rem_euclid
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:265,1
    - Dst: StreamingEncryptingKey::algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:265,1
    - Dst: rem_euclid
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:264,1
    - Dst: StreamingEncryptingKey::algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:266,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:267,1
    - Dst: usize::checked_add
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:267,1
    - Dst: ok_or
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:267,1
    - Dst: StreamingEncryptingKey::update_internal
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 2
    argNames:
    - input
    - output
    argTypes:
    - '&[u8]'
    - '&''a mut [u8]'
    constantsTouched: []
    func_position:
      end: 272
      start: 255
    functionDepth: 5
    functionLinenumber: 255
    functionLinenumberEnd: 272
    functionName: StreamingEncryptingKey::less_safe_update
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs
    functionUses: 0
    functionsReached:
    - StreamingEncryptingKey::algorithm
    - StreamingEncryptingKey::update_internal
    - rem_euclid
    - ok_or
    - usize::checked_add
    - len
    - checked_add
    linkageType: ''
    returnType: Result
    signature: 'pub fn less_safe_update<''a>(&mut self,input: &[u8],output: &''a mut
      [u8],) -> Result<BufferUpdate<''a>, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:287,1
    - Dst: StreamingEncryptingKey::algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:287,1
    - Dst: '&''static Algorithm::block_len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:287,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:288,1
    - Dst: fips::indicator_check
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:292,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:299,1
    - Dst: try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:301,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:303,1
    - Dst: into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:303,1
    - Dst: BufferUpdate::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 1
    argNames:
    - output
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 304
      start: 283
    functionDepth: 5
    functionLinenumber: 283
    functionLinenumberEnd: 304
    functionName: StreamingEncryptingKey::finish
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs
    functionUses: 2
    functionsReached:
    - StreamingEncryptingKey::algorithm
    - into
    - Err
    - fips::indicator_check
    - len
    - '&''static Algorithm::block_len'
    - BufferUpdate::new
    - try_into
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn finish(mut self,output: &mut [u8],) -> Result<(DecryptionContext,
      BufferUpdate<''_>), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 310
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 310
    functionName: StreamingEncryptingKey::mode
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: OperatingMode
    signature: pub fn mode(&self) -> OperatingMode
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 316
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 316
    functionName: StreamingEncryptingKey::algorithm
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: '&''static Algorithm'
    signature: pub fn algorithm(&self) -> &'static Algorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:327,1
    - Dst: new_encryption_context
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:327,1
    - Dst: Self::less_safe_ctr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - UnboundCipherKey
    constantsTouched: []
    func_position:
      end: 329
      start: 326
    functionDepth: 8
    functionLinenumber: 326
    functionLinenumberEnd: 329
    functionName: StreamingEncryptingKey::ctr
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs
    functionUses: 2
    functionsReached:
    - bool::algorithm
    - new_encryption_context
    - Self::less_safe_ctr
    linkageType: ''
    returnType: Result
    signature: 'pub fn ctr(key: UnboundCipherKey) -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - key
    - context
    argTypes:
    - UnboundCipherKey
    - EncryptionContext
    constantsTouched: []
    func_position:
      end: 347
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 347
    functionName: StreamingEncryptingKey::less_safe_ctr
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs
    functionUses: 0
    functionsReached:
    - Self::new
    linkageType: ''
    returnType: Result
    signature: 'pub fn less_safe_ctr(key: UnboundCipherKey,context: EncryptionContext,)
      -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:362,1
    - Dst: new_encryption_context
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:362,1
    - Dst: Self::less_safe_cbc_pkcs7
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - UnboundCipherKey
    constantsTouched: []
    func_position:
      end: 364
      start: 361
    functionDepth: 8
    functionLinenumber: 361
    functionLinenumberEnd: 364
    functionName: StreamingEncryptingKey::cbc_pkcs7
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs
    functionUses: 2
    functionsReached:
    - bool::algorithm
    - new_encryption_context
    - Self::less_safe_cbc_pkcs7
    linkageType: ''
    returnType: Result
    signature: 'pub fn cbc_pkcs7(key: UnboundCipherKey) -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:375,1
    - Dst: new_encryption_context
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:375,1
    - Dst: Self::less_safe_cfb128
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - UnboundCipherKey
    constantsTouched: []
    func_position:
      end: 379
      start: 374
    functionDepth: 8
    functionLinenumber: 374
    functionLinenumberEnd: 379
    functionName: StreamingEncryptingKey::cfb128
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs
    functionUses: 2
    functionsReached:
    - bool::algorithm
    - new_encryption_context
    - Self::less_safe_cfb128
    linkageType: ''
    returnType: Result
    signature: 'pub fn cfb128(key: UnboundCipherKey) -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:396,1
    - Dst: new_encryption_context
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:396,1
    - Dst: Self::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - UnboundCipherKey
    constantsTouched: []
    func_position:
      end: 398
      start: 395
    functionDepth: 8
    functionLinenumber: 395
    functionLinenumberEnd: 398
    functionName: StreamingEncryptingKey::ecb_pkcs7
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs
    functionUses: 2
    functionsReached:
    - bool::algorithm
    - new_encryption_context
    - Self::new
    linkageType: ''
    returnType: Result
    signature: 'pub fn ecb_pkcs7(key: UnboundCipherKey) -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - key
    - context
    argTypes:
    - UnboundCipherKey
    - EncryptionContext
    constantsTouched: []
    func_position:
      end: 416
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 416
    functionName: StreamingEncryptingKey::less_safe_cfb128
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs
    functionUses: 0
    functionsReached:
    - Self::new
    linkageType: ''
    returnType: Result
    signature: 'pub fn less_safe_cfb128(key: UnboundCipherKey,context: EncryptionContext,)
      -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - key
    - context
    argTypes:
    - UnboundCipherKey
    - EncryptionContext
    constantsTouched: []
    func_position:
      end: 438
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 438
    functionName: StreamingEncryptingKey::less_safe_cbc_pkcs7
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs
    functionUses: 0
    functionsReached:
    - Self::new
    linkageType: ''
    returnType: Result
    signature: 'pub fn less_safe_cbc_pkcs7(key: UnboundCipherKey,context: EncryptionContext,)
      -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:458,1
    - Dst: supports_mode
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:459,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:460,1
    - Dst: bool::validate_key_material
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:463,1
    - Dst: LcPtr::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:464,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:464,1
    - Dst: bool::evp_cipher
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:465,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:466,1
    - Dst: Option::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:467,1
    - Dst: <usize>::try_from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:468,1
    - Dst: aws_lc::EVP_CIPHER_key_length
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:468,1
    - Dst: ConstPointer::as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:468,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:468,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:470,1
    - Dst: <&[u8]>::try_from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:475,1
    - Dst: evp_decrypt_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:481,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:481,1
    - Dst: <&[u8]>::try_from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:485,1
    - Dst: evp_decrypt_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:491,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:491,1
    - Dst: evp_decrypt_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:494,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:498,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 65
    argCount: 3
    argNames:
    - key
    - mode
    - context
    argTypes:
    - UnboundCipherKey
    - OperatingMode
    - DecryptionContext
    constantsTouched: []
    func_position:
      end: 504
      start: 453
    functionDepth: 8
    functionLinenumber: 453
    functionLinenumberEnd: 504
    functionName: StreamingDecryptingKey::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs
    functionUses: 0
    functionsReached:
    - LcPtr::new
    - supports_mode
    - evp_decrypt_init
    - Err
    - <usize>::try_from
    - bool::algorithm
    - Result::unwrap
    - aws_lc::EVP_CIPHER_key_length
    - ConstPointer::as_const_ptr
    - Option::len
    - <&[u8]>::try_from
    - bool::validate_key_material
    - as_ref
    - EVP_CIPHER_CTX_new
    - Ok
    - bool::evp_cipher
    - Some
    linkageType: ''
    returnType: Result
    signature: 'fn new(key: UnboundCipherKey,mode: OperatingMode,context: DecryptionContext,)
      -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:512,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:513,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:516,1
    - Dst: usize::try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:516,1
    - Dst: aws_lc::EVP_DecryptUpdate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:519,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:520,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:521,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:523,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:527,1
    - Dst: try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:529,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:534,1
    - Dst: BufferUpdate::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:534,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 3
    argNames:
    - input
    - output
    - min_outsize
    argTypes:
    - '&[u8]'
    - '&''a mut [u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 535
      start: 506
    functionDepth: 4
    functionLinenumber: 506
    functionLinenumberEnd: 535
    functionName: StreamingDecryptingKey::update_internal
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs
    functionUses: 2
    functionsReached:
    - usize::try_into
    - aws_lc::EVP_DecryptUpdate
    - Err
    - as_mut_ptr
    - as_ptr
    - len
    - BufferUpdate::new
    - try_into
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn update_internal<''a>(&mut self,input: &[u8],output: &''a mut [u8],min_outsize:
      usize,) -> Result<BufferUpdate<''a>, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:552,1
    - Dst: usize::checked_add
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:552,1
    - Dst: StreamingDecryptingKey::algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:554,1
    - Dst: '&''static Algorithm::block_len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:554,1
    - Dst: ok_or
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:552,1
    - Dst: checked_sub
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:552,1
    - Dst: ok_or
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:552,1
    - Dst: StreamingDecryptingKey::update_internal
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:558,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - input
    - output
    argTypes:
    - '&[u8]'
    - '&''a mut [u8]'
    constantsTouched: []
    func_position:
      end: 559
      start: 547
    functionDepth: 5
    functionLinenumber: 547
    functionLinenumberEnd: 559
    functionName: StreamingDecryptingKey::update
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs
    functionUses: 1
    functionsReached:
    - usize::checked_add
    - ok_or
    - checked_sub
    - StreamingDecryptingKey::algorithm
    - len
    - '&''static Algorithm::block_len'
    - StreamingDecryptingKey::update_internal
    linkageType: ''
    returnType: Result
    signature: 'pub fn update<''a>(&mut self,input: &[u8],output: &''a mut [u8],)
      -> Result<BufferUpdate<''a>, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checked_add
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:587,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:589,1
    - Dst: ok_or
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:587,1
    - Dst: StreamingDecryptingKey::algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:591,1
    - Dst: rem_euclid
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:592,1
    - Dst: StreamingDecryptingKey::algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:592,1
    - Dst: rem_euclid
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:591,1
    - Dst: StreamingDecryptingKey::algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:593,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:594,1
    - Dst: usize::checked_add
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:594,1
    - Dst: ok_or
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:594,1
    - Dst: StreamingDecryptingKey::update_internal
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:598,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 2
    argNames:
    - input
    - output
    argTypes:
    - '&[u8]'
    - '&''a mut [u8]'
    constantsTouched: []
    func_position:
      end: 599
      start: 582
    functionDepth: 5
    functionLinenumber: 582
    functionLinenumberEnd: 599
    functionName: StreamingDecryptingKey::less_safe_update
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs
    functionUses: 0
    functionsReached:
    - rem_euclid
    - ok_or
    - usize::checked_add
    - StreamingDecryptingKey::algorithm
    - len
    - StreamingDecryptingKey::update_internal
    - checked_add
    linkageType: ''
    returnType: Result
    signature: 'pub fn less_safe_update<''a>(&mut self,input: &[u8],output: &''a mut
      [u8],) -> Result<BufferUpdate<''a>, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:610,1
    - Dst: StreamingDecryptingKey::algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:610,1
    - Dst: '&''static Algorithm::block_len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:610,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:611,1
    - Dst: fips::indicator_check
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:615,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:622,1
    - Dst: try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:624,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:626,1
    - Dst: BufferUpdate::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:626,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - output
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 627
      start: 609
    functionDepth: 5
    functionLinenumber: 609
    functionLinenumberEnd: 627
    functionName: StreamingDecryptingKey::finish
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs
    functionUses: 2
    functionsReached:
    - Err
    - fips::indicator_check
    - StreamingDecryptingKey::algorithm
    - len
    - '&''static Algorithm::block_len'
    - BufferUpdate::new
    - try_into
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn finish(mut self, output: &mut [u8]) -> Result<BufferUpdate<''_>,
      Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 633
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 633
    functionName: StreamingDecryptingKey::mode
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: OperatingMode
    signature: pub fn mode(&self) -> OperatingMode
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 639
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 639
    functionName: StreamingDecryptingKey::algorithm
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: '&''static Algorithm'
    signature: pub fn algorithm(&self) -> &'static Algorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - key
    - context
    argTypes:
    - UnboundCipherKey
    - DecryptionContext
    constantsTouched: []
    func_position:
      end: 651
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 651
    functionName: StreamingDecryptingKey::ctr
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs
    functionUses: 2
    functionsReached:
    - Self::new
    linkageType: ''
    returnType: Result
    signature: 'pub fn ctr(key: UnboundCipherKey, context: DecryptionContext) -> Result<Self,
      Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - key
    - context
    argTypes:
    - UnboundCipherKey
    - DecryptionContext
    constantsTouched: []
    func_position:
      end: 668
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 668
    functionName: StreamingDecryptingKey::cbc_pkcs7
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs
    functionUses: 2
    functionsReached:
    - Self::new
    linkageType: ''
    returnType: Result
    signature: 'pub fn cbc_pkcs7(key: UnboundCipherKey,context: DecryptionContext,)
      -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - key
    - context
    argTypes:
    - UnboundCipherKey
    - DecryptionContext
    constantsTouched: []
    func_position:
      end: 680
      start: 678
    functionDepth: 1
    functionLinenumber: 678
    functionLinenumberEnd: 680
    functionName: StreamingDecryptingKey::cfb128
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs
    functionUses: 2
    functionsReached:
    - Self::new
    linkageType: ''
    returnType: Result
    signature: 'pub fn cfb128(key: UnboundCipherKey, context: DecryptionContext) ->
      Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - key
    - context
    argTypes:
    - UnboundCipherKey
    - DecryptionContext
    constantsTouched: []
    func_position:
      end: 701
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 701
    functionName: StreamingDecryptingKey::ecb_pkcs7
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs
    functionUses: 2
    functionsReached:
    - Self::new
    linkageType: ''
    returnType: Result
    signature: 'pub fn ecb_pkcs7(key: UnboundCipherKey,context: DecryptionContext,)
      -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StreamingEncryptingKey::algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:727,1
    - Dst: StreamingEncryptingKey::mode
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:728,1
    - Dst: Option::block_len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:729,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:730,1
    - Dst: updater
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:740,1
    - Dst: StreamingEncryptingKey::finish
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:755,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:755,1
    - Dst: written
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:758,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:758,1
    - Dst: truncate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:759,1
    - Dst: into_boxed_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:770,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 53
    argCount: 4
    argNames:
    - encrypting_key
    - plaintext
    - step
    - updater
    argTypes:
    - StreamingEncryptingKey
    - '&[u8]'
    - usize
    - F
    constantsTouched: []
    func_position:
      end: 771
      start: 718
    functionDepth: 5
    functionLinenumber: 718
    functionLinenumberEnd: 771
    functionName: tests::step_encrypt_with_updater
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs
    functionUses: 0
    functionsReached:
    - StreamingEncryptingKey::algorithm
    - '&[u8]::len'
    - written
    - StreamingEncryptingKey::finish
    - updater
    - truncate
    - StreamingEncryptingKey::mode
    - Result::unwrap
    - len
    - into_boxed_slice
    - Option::block_len
    linkageType: ''
    returnType: (Box
    signature: 'fn step_encrypt_with_updater<F>(mut encrypting_key: StreamingEncryptingKey,plaintext:
      &[u8],step: usize,mut updater: F,) -> (Box<[u8]>, DecryptionContext)whereF:
      FnMut(&mut StreamingEncryptingKey, &[u8], &mut [u8], usize, usize, usize) ->
      usize,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StreamingDecryptingKey::algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:785,1
    - Dst: StreamingDecryptingKey::mode
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:786,1
    - Dst: Option::block_len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:787,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:788,1
    - Dst: updater
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:798,1
    - Dst: StreamingDecryptingKey::finish
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:813,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:813,1
    - Dst: written
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:816,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:816,1
    - Dst: truncate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:817,1
    - Dst: into_boxed_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:827,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 52
    argCount: 4
    argNames:
    - decrypting_key
    - ciphertext
    - step
    - updater
    argTypes:
    - StreamingDecryptingKey
    - '&[u8]'
    - usize
    - F
    constantsTouched: []
    func_position:
      end: 828
      start: 776
    functionDepth: 5
    functionLinenumber: 776
    functionLinenumberEnd: 828
    functionName: tests::step_decrypt_with_updater
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs
    functionUses: 0
    functionsReached:
    - StreamingDecryptingKey::finish
    - '&[u8]::len'
    - written
    - StreamingDecryptingKey::mode
    - updater
    - truncate
    - Result::unwrap
    - StreamingDecryptingKey::algorithm
    - len
    - into_boxed_slice
    - Option::block_len
    linkageType: ''
    returnType: Box
    signature: 'fn step_decrypt_with_updater<F>(mut decrypting_key: StreamingDecryptingKey,ciphertext:
      &[u8],step: usize,mut updater: F,) -> Box<[u8]>whereF: FnMut(&mut StreamingDecryptingKey,
      &[u8], &mut [u8], usize, usize, usize) -> usize,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: step_encrypt_with_updater
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:835,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:840,1
    - Dst: bool::update
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:841,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:841,1
    - Dst: written
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:842,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 3
    argNames:
    - encrypting_key
    - plaintext
    - step
    argTypes:
    - StreamingEncryptingKey
    - '&[u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 845
      start: 830
    functionDepth: 11
    functionLinenumber: 830
    functionLinenumberEnd: 845
    functionName: tests::step_encrypt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::len'
    - unwrap
    - written
    - step_encrypt_with_updater
    - len
    - bool::update
    linkageType: ''
    returnType: (Box
    signature: 'fn step_encrypt(encrypting_key: StreamingEncryptingKey,plaintext:
      &[u8],step: usize,) -> (Box<[u8]>, DecryptionContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: step_decrypt_with_updater
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:852,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:857,1
    - Dst: bool::update
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:858,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:858,1
    - Dst: written
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:859,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 3
    argNames:
    - decrypting_key
    - ciphertext
    - step
    argTypes:
    - StreamingDecryptingKey
    - '&[u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 862
      start: 847
    functionDepth: 11
    functionLinenumber: 847
    functionLinenumberEnd: 862
    functionName: tests::step_decrypt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs
    functionUses: 0
    functionsReached:
    - step_decrypt_with_updater
    - '&[u8]::len'
    - unwrap
    - written
    - len
    - bool::update
    linkageType: ''
    returnType: Box
    signature: 'fn step_decrypt(decrypting_key: StreamingDecryptingKey,ciphertext:
      &[u8],step: usize,) -> Box<[u8]>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: step_encrypt_with_updater
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:869,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:874,1
    - Dst: bool::less_safe_update
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:883,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:883,1
    - Dst: written
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:886,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:886,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 3
    argNames:
    - encrypting_key
    - plaintext
    - step
    argTypes:
    - StreamingEncryptingKey
    - '&[u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 889
      start: 864
    functionDepth: 6
    functionLinenumber: 864
    functionLinenumberEnd: 889
    functionName: tests::step_encrypt_less_safe
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::len'
    - written
    - step_encrypt_with_updater
    - Result::unwrap
    - len
    - bool::less_safe_update
    linkageType: ''
    returnType: (Box
    signature: 'fn step_encrypt_less_safe(encrypting_key: StreamingEncryptingKey,plaintext:
      &[u8],step: usize,) -> (Box<[u8]>, DecryptionContext)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: step_decrypt_with_updater
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:896,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:901,1
    - Dst: bool::less_safe_update
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:910,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:910,1
    - Dst: written
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:913,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:913,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 3
    argNames:
    - decrypting_key
    - ciphertext
    - step
    argTypes:
    - StreamingDecryptingKey
    - '&[u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 916
      start: 891
    functionDepth: 6
    functionLinenumber: 891
    functionLinenumberEnd: 916
    functionName: tests::step_decrypt_less_safe
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs
    functionUses: 0
    functionsReached:
    - step_decrypt_with_updater
    - '&[u8]::len'
    - written
    - Result::unwrap
    - len
    - bool::less_safe_update
    linkageType: ''
    returnType: Box
    signature: 'fn step_decrypt_less_safe(decrypting_key: StreamingDecryptingKey,ciphertext:
      &[u8],step: usize,) -> Box<[u8]>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SystemRandom::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:981,1
    - Dst: i32::fill
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:983,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:983,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:987,1
    - Dst: bool::clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:987,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:987,1
    - Dst: StreamingEncryptingKey::cbc_pkcs7
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:988,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:988,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:991,1
    - Dst: bool::clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:991,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:991,1
    - Dst: StreamingDecryptingKey::cbc_pkcs7
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:992,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:992,1
    - Dst: helper_test_cbc_pkcs7_stream_encrypt_step_n_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:997,1
    - Dst: helper_test_cbc_pkcs7_stream_encrypt_step_n_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1005,1
    - Dst: helper_test_cbc_pkcs7_stream_encrypt_step_n_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1014,1
    - Dst: helper_test_cbc_pkcs7_stream_encrypt_step_n_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1020,1
    - Dst: helper_test_cbc_pkcs7_stream_encrypt_step_n_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1026,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 980
    functionDepth: 7
    functionLinenumber: 980
    functionLinenumberEnd: 1033
    functionName: tests::test_step_cbc
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs
    functionUses: 0
    functionsReached:
    - StreamingEncryptingKey::cbc_pkcs7
    - SystemRandom::new
    - StreamingDecryptingKey::cbc_pkcs7
    - unwrap
    - bool::clone
    - Result::unwrap
    - i32::fill
    - UnboundCipherKey::new
    - helper_test_cbc_pkcs7_stream_encrypt_step_n_bytes
    linkageType: ''
    returnType: void
    signature: fn test_step_cbc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SystemRandom::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1037,1
    - Dst: i32::fill
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1039,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1039,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1042,1
    - Dst: bool::clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1042,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1042,1
    - Dst: StreamingEncryptingKey::ctr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1043,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1043,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1046,1
    - Dst: bool::clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1046,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1046,1
    - Dst: StreamingDecryptingKey::ctr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1047,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1047,1
    - Dst: helper_test_ctr_stream_encrypt_step_n_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1052,1
    - Dst: helper_test_ctr_stream_encrypt_step_n_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1060,1
    - Dst: helper_test_ctr_stream_encrypt_step_n_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1069,1
    - Dst: helper_test_ctr_stream_encrypt_step_n_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1075,1
    - Dst: helper_test_ctr_stream_encrypt_step_n_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1081,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1036
    functionDepth: 7
    functionLinenumber: 1036
    functionLinenumberEnd: 1088
    functionName: tests::test_step_ctr
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs
    functionUses: 0
    functionsReached:
    - SystemRandom::new
    - helper_test_ctr_stream_encrypt_step_n_bytes
    - unwrap
    - bool::clone
    - StreamingDecryptingKey::ctr
    - Result::unwrap
    - i32::fill
    - StreamingEncryptingKey::ctr
    - UnboundCipherKey::new
    linkageType: ''
    returnType: void
    signature: fn test_step_ctr()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SystemRandom::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1092,1
    - Dst: i32::fill
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1094,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1094,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1097,1
    - Dst: bool::clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1097,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1097,1
    - Dst: StreamingEncryptingKey::cfb128
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1098,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1098,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1101,1
    - Dst: bool::clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1101,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1101,1
    - Dst: StreamingDecryptingKey::cfb128
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1102,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1102,1
    - Dst: helper_test_cfb128_stream_encrypt_step_n_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1107,1
    - Dst: helper_test_cfb128_stream_encrypt_step_n_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1115,1
    - Dst: helper_test_cfb128_stream_encrypt_step_n_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1124,1
    - Dst: helper_test_cfb128_stream_encrypt_step_n_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1130,1
    - Dst: helper_test_cfb128_stream_encrypt_step_n_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1091
    functionDepth: 7
    functionLinenumber: 1091
    functionLinenumberEnd: 1143
    functionName: tests::test_step_cfb128
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs
    functionUses: 0
    functionsReached:
    - StreamingDecryptingKey::cfb128
    - SystemRandom::new
    - unwrap
    - bool::clone
    - Result::unwrap
    - i32::fill
    - UnboundCipherKey::new
    - StreamingEncryptingKey::cfb128
    - helper_test_cfb128_stream_encrypt_step_n_bytes
    linkageType: ''
    returnType: void
    signature: fn test_step_cfb128()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SystemRandom::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1147,1
    - Dst: i32::fill
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1149,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1149,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1152,1
    - Dst: bool::clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1152,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1152,1
    - Dst: StreamingEncryptingKey::ecb_pkcs7
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1153,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1153,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1156,1
    - Dst: bool::clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1156,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1156,1
    - Dst: StreamingDecryptingKey::ecb_pkcs7
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1157,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1157,1
    - Dst: helper_test_ecb_pkcs7_stream_encrypt_step_n_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1162,1
    - Dst: helper_test_ecb_pkcs7_stream_encrypt_step_n_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1170,1
    - Dst: helper_test_ecb_pkcs7_stream_encrypt_step_n_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1179,1
    - Dst: helper_test_ecb_pkcs7_stream_encrypt_step_n_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1185,1
    - Dst: helper_test_ecb_pkcs7_stream_encrypt_step_n_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1146
    functionDepth: 7
    functionLinenumber: 1146
    functionLinenumberEnd: 1198
    functionName: tests::test_step_ecb_pkcs7
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs
    functionUses: 0
    functionsReached:
    - SystemRandom::new
    - unwrap
    - bool::clone
    - StreamingDecryptingKey::ecb_pkcs7
    - Result::unwrap
    - i32::fill
    - StreamingEncryptingKey::ecb_pkcs7
    - UnboundCipherKey::new
    - helper_test_ecb_pkcs7_stream_encrypt_step_n_bytes
    linkageType: ''
    returnType: void
    signature: fn test_step_ecb_pkcs7()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SystemRandom::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1202,1
    - Dst: i32::fill
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1204,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1204,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1208,1
    - Dst: bool::clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1208,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1208,1
    - Dst: StreamingEncryptingKey::cbc_pkcs7
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1209,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1209,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1212,1
    - Dst: bool::clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1212,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1212,1
    - Dst: StreamingDecryptingKey::cbc_pkcs7
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1213,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1213,1
    - Dst: helper_test_cbc_pkcs7_stream_encrypt_step_n_bytes_less_safe
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1218,1
    - Dst: helper_test_cbc_pkcs7_stream_encrypt_step_n_bytes_less_safe
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1226,1
    - Dst: helper_test_cbc_pkcs7_stream_encrypt_step_n_bytes_less_safe
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1235,1
    - Dst: helper_test_cbc_pkcs7_stream_encrypt_step_n_bytes_less_safe
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1241,1
    - Dst: helper_test_cbc_pkcs7_stream_encrypt_step_n_bytes_less_safe
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1201
    functionDepth: 7
    functionLinenumber: 1201
    functionLinenumberEnd: 1254
    functionName: tests::test_step_cbc_less_safe
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs
    functionUses: 0
    functionsReached:
    - StreamingEncryptingKey::cbc_pkcs7
    - SystemRandom::new
    - StreamingDecryptingKey::cbc_pkcs7
    - unwrap
    - bool::clone
    - Result::unwrap
    - i32::fill
    - UnboundCipherKey::new
    - helper_test_cbc_pkcs7_stream_encrypt_step_n_bytes_less_safe
    linkageType: ''
    returnType: void
    signature: fn test_step_cbc_less_safe()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SystemRandom::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1258,1
    - Dst: i32::fill
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1260,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1260,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1263,1
    - Dst: bool::clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1263,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1263,1
    - Dst: StreamingEncryptingKey::ctr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1264,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1264,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1267,1
    - Dst: bool::clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1267,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1267,1
    - Dst: StreamingDecryptingKey::ctr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1268,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1268,1
    - Dst: helper_test_ctr_stream_encrypt_step_n_bytes_less_safe
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1273,1
    - Dst: helper_test_ctr_stream_encrypt_step_n_bytes_less_safe
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1281,1
    - Dst: helper_test_ctr_stream_encrypt_step_n_bytes_less_safe
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1290,1
    - Dst: helper_test_ctr_stream_encrypt_step_n_bytes_less_safe
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1296,1
    - Dst: helper_test_ctr_stream_encrypt_step_n_bytes_less_safe
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1302,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1257
    functionDepth: 7
    functionLinenumber: 1257
    functionLinenumberEnd: 1309
    functionName: tests::test_step_ctr_less_safe
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs
    functionUses: 0
    functionsReached:
    - SystemRandom::new
    - unwrap
    - bool::clone
    - StreamingDecryptingKey::ctr
    - Result::unwrap
    - i32::fill
    - StreamingEncryptingKey::ctr
    - UnboundCipherKey::new
    - helper_test_ctr_stream_encrypt_step_n_bytes_less_safe
    linkageType: ''
    returnType: void
    signature: fn test_step_ctr_less_safe()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SystemRandom::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1313,1
    - Dst: i32::fill
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1315,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1315,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1318,1
    - Dst: bool::clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1318,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1318,1
    - Dst: StreamingEncryptingKey::cfb128
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1319,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1319,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1322,1
    - Dst: bool::clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1322,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1322,1
    - Dst: StreamingDecryptingKey::cfb128
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1323,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1323,1
    - Dst: helper_test_cfb128_stream_encrypt_step_n_bytes_less_safe
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1328,1
    - Dst: helper_test_cfb128_stream_encrypt_step_n_bytes_less_safe
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1336,1
    - Dst: helper_test_cfb128_stream_encrypt_step_n_bytes_less_safe
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1345,1
    - Dst: helper_test_cfb128_stream_encrypt_step_n_bytes_less_safe
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1351,1
    - Dst: helper_test_cfb128_stream_encrypt_step_n_bytes_less_safe
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1357,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1364
      start: 1312
    functionDepth: 7
    functionLinenumber: 1312
    functionLinenumberEnd: 1364
    functionName: tests::test_step_cfb128_less_safe
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs
    functionUses: 0
    functionsReached:
    - StreamingDecryptingKey::cfb128
    - helper_test_cfb128_stream_encrypt_step_n_bytes_less_safe
    - SystemRandom::new
    - unwrap
    - bool::clone
    - Result::unwrap
    - i32::fill
    - UnboundCipherKey::new
    - StreamingEncryptingKey::cfb128
    linkageType: ''
    returnType: void
    signature: fn test_step_cfb128_less_safe()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SystemRandom::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1368,1
    - Dst: i32::fill
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1370,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1370,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1373,1
    - Dst: bool::clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1373,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1373,1
    - Dst: StreamingEncryptingKey::ecb_pkcs7
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1374,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1374,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1377,1
    - Dst: bool::clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1377,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1377,1
    - Dst: StreamingDecryptingKey::ecb_pkcs7
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1378,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1378,1
    - Dst: helper_test_ecb_pkcs7_stream_encrypt_step_n_bytes_less_safe
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1383,1
    - Dst: helper_test_ecb_pkcs7_stream_encrypt_step_n_bytes_less_safe
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1391,1
    - Dst: helper_test_ecb_pkcs7_stream_encrypt_step_n_bytes_less_safe
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1400,1
    - Dst: helper_test_ecb_pkcs7_stream_encrypt_step_n_bytes_less_safe
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1406,1
    - Dst: helper_test_ecb_pkcs7_stream_encrypt_step_n_bytes_less_safe
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs:1412,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1419
      start: 1367
    functionDepth: 7
    functionLinenumber: 1367
    functionLinenumberEnd: 1419
    functionName: tests::test_step_ecb_pkcs7_less_safe
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs
    functionUses: 0
    functionsReached:
    - SystemRandom::new
    - unwrap
    - bool::clone
    - StreamingDecryptingKey::ecb_pkcs7
    - Result::unwrap
    - helper_test_ecb_pkcs7_stream_encrypt_step_n_bytes_less_safe
    - i32::fill
    - StreamingEncryptingKey::ecb_pkcs7
    - UnboundCipherKey::new
    linkageType: ''
    returnType: void
    signature: fn test_step_ecb_pkcs7_less_safe()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut InOut::as_mut'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:32,1
    - Dst: '&mut [u8]::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:32,1
    - Dst: try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:36,1
    - Dst: map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:36,1
    - Dst: fill
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:37,1
    - Dst: '&mut InOut::extend'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:39,1
    - Dst: iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:39,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 2
    argNames:
    - block_len
    - in_out
    argTypes:
    - usize
    - '&mut InOut'
    constantsTouched: []
    func_position:
      end: 43
      start: 23
    functionDepth: 4
    functionLinenumber: 23
    functionLinenumberEnd: 43
    functionName: PaddingStrategy::add_padding
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs
    functionUses: 0
    functionsReached:
    - map_err
    - iter
    - '&mut [u8]::len'
    - '&mut InOut::extend'
    - try_into
    - Ok
    - fill
    - '&mut InOut::as_mut'
    linkageType: ''
    returnType: Result
    signature: 'fn add_padding<InOut>(self, block_len: usize, in_out: &mut InOut)
      -> Result<(), Unspecified>whereInOut: AsMut<[u8]> + for<''in_out> Extend<&''in_out
      u8>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut [u8]::is_empty'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:46,1
    - Dst: '&mut [u8]::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:46,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:47,1
    - Dst: '&mut [u8]::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:51,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:53,1
    - Dst: '&mut [u8]::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:57,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:58,1
    - Dst: usize::try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:61,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:61,1
    - Dst: '&mut [u8]::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:63,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:65,1
    - Dst: '&mut [u8]::iter'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:68,1
    - Dst: Self::IntoIter::skip
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:68,1
    - Dst: '&mut [u8]::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:68,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:70,1
    - Dst: '&mut [u8]::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:74,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:75,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 77
    argCount: 2
    argNames:
    - block_len
    - in_out
    argTypes:
    - usize
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 78
      start: 45
    functionDepth: 4
    functionLinenumber: 45
    functionLinenumberEnd: 78
    functionName: PaddingStrategy::remove_padding
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs
    functionUses: 0
    functionsReached:
    - usize::try_into
    - '&mut [u8]::is_empty'
    - Err
    - '&mut [u8]::len'
    - Result::map_err
    - Self::IntoIter::skip
    - '&mut [u8]::iter'
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn remove_padding(self, block_len: usize, in_out: &mut [u8]) -> Result<&mut
      [u8], Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key
    argTypes:
    - UnboundCipherKey
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: PaddedBlockEncryptingKey::cbc_pkcs7
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs
    functionUses: 2
    functionsReached:
    - Self::new
    linkageType: ''
    returnType: Result
    signature: 'pub fn cbc_pkcs7(key: UnboundCipherKey) -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key
    argTypes:
    - UnboundCipherKey
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: PaddedBlockEncryptingKey::ecb_pkcs7
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs
    functionUses: 2
    functionsReached:
    - Self::new
    linkageType: ''
    returnType: Result
    signature: 'pub fn ecb_pkcs7(key: UnboundCipherKey) -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:134,1
    - Dst: supports_mode
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:135,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:136,1
    - Dst: bool::try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:138,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - key
    - mode
    - padding
    argTypes:
    - UnboundCipherKey
    - OperatingMode
    - PaddingStrategy
    constantsTouched: []
    func_position:
      end: 145
      start: 129
    functionDepth: 8
    functionLinenumber: 129
    functionLinenumberEnd: 145
    functionName: PaddedBlockEncryptingKey::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs
    functionUses: 1
    functionsReached:
    - supports_mode
    - bool::try_into
    - Err
    - bool::algorithm
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn new(key: UnboundCipherKey,mode: OperatingMode,padding: PaddingStrategy,)
      -> Result<PaddedBlockEncryptingKey, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: PaddedBlockEncryptingKey::algorithm
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: '&Algorithm'
    signature: pub fn algorithm(&self) -> &Algorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 157
    functionName: PaddedBlockEncryptingKey::mode
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OperatingMode
    signature: pub fn mode(&self) -> OperatingMode
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_encryption_context
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:168,1
    - Dst: PaddedBlockEncryptingKey::less_safe_encrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - in_out
    argTypes:
    - '&mut InOut'
    constantsTouched: []
    func_position:
      end: 170
      start: 164
    functionDepth: 6
    functionLinenumber: 164
    functionLinenumberEnd: 170
    functionName: PaddedBlockEncryptingKey::encrypt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs
    functionUses: 0
    functionsReached:
    - new_encryption_context
    - PaddedBlockEncryptingKey::less_safe_encrypt
    linkageType: ''
    returnType: Result
    signature: 'pub fn encrypt<InOut>(&self, in_out: &mut InOut) -> Result<DecryptionContext,
      Unspecified>whereInOut: AsMut<[u8]> + for<''a> Extend<&''a u8>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PaddedBlockEncryptingKey::algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:185,1
    - Dst: '&Algorithm::is_valid_encryption_context'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:185,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:189,1
    - Dst: add_padding
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:192,1
    - Dst: PaddedBlockEncryptingKey::algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:193,1
    - Dst: '&Algorithm::block_len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:193,1
    - Dst: cipher::encrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:194,1
    - Dst: PaddedBlockEncryptingKey::algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:195,1
    - Dst: '&mut InOut::as_mut'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 2
    argNames:
    - in_out
    - context
    argTypes:
    - '&mut InOut'
    - EncryptionContext
    constantsTouched: []
    func_position:
      end: 201
      start: 177
    functionDepth: 5
    functionLinenumber: 177
    functionLinenumberEnd: 201
    functionName: PaddedBlockEncryptingKey::less_safe_encrypt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs
    functionUses: 1
    functionsReached:
    - PaddedBlockEncryptingKey::algorithm
    - add_padding
    - Err
    - cipher::encrypt
    - '&Algorithm::block_len'
    - '&Algorithm::is_valid_encryption_context'
    - '&mut InOut::as_mut'
    linkageType: ''
    returnType: Result
    signature: 'pub fn less_safe_encrypt<InOut>(&self,in_out: &mut InOut,context:
      EncryptionContext,) -> Result<DecryptionContext, Unspecified>whereInOut: AsMut<[u8]>
      + for<''a> Extend<&''a u8>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::debug_struct
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:206,1
    - Dst: field
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:206,1
    - Dst: field
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:206,1
    - Dst: field
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:206,1
    - Dst: finish_non_exhaustive
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 211
      start: 205
    functionDepth: 5
    functionLinenumber: 205
    functionLinenumberEnd: 211
    functionName: PaddedBlockEncryptingKey::fmt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs
    functionUses: 0
    functionsReached:
    - finish_non_exhaustive
    - SpdmCertChainBuffer::debug_struct
    - field
    linkageType: ''
    returnType: core::fmt::Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter<''_>) -> core::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key
    argTypes:
    - UnboundCipherKey
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: PaddedBlockDecryptingKey::cbc_pkcs7
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs
    functionUses: 2
    functionsReached:
    - Self::new
    linkageType: ''
    returnType: Result
    signature: 'pub fn cbc_pkcs7(key: UnboundCipherKey) -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key
    argTypes:
    - UnboundCipherKey
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: PaddedBlockDecryptingKey::cbc_iso10126
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs
    functionUses: 0
    functionsReached:
    - Self::new
    linkageType: ''
    returnType: Result
    signature: 'pub fn cbc_iso10126(key: UnboundCipherKey) -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key
    argTypes:
    - UnboundCipherKey
    constantsTouched: []
    func_position:
      end: 288
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 288
    functionName: PaddedBlockDecryptingKey::ecb_pkcs7
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs
    functionUses: 2
    functionsReached:
    - Self::new
    linkageType: ''
    returnType: Result
    signature: 'pub fn ecb_pkcs7(key: UnboundCipherKey) -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:295,1
    - Dst: supports_mode
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:296,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:297,1
    - Dst: bool::try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:299,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - key
    - mode
    - padding
    argTypes:
    - UnboundCipherKey
    - OperatingMode
    - PaddingStrategy
    constantsTouched: []
    func_position:
      end: 306
      start: 290
    functionDepth: 8
    functionLinenumber: 290
    functionLinenumberEnd: 306
    functionName: PaddedBlockDecryptingKey::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs
    functionUses: 1
    functionsReached:
    - supports_mode
    - bool::try_into
    - Err
    - bool::algorithm
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn new(key: UnboundCipherKey,mode: OperatingMode,padding: PaddingStrategy,)
      -> Result<PaddedBlockDecryptingKey, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 312
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 312
    functionName: PaddedBlockDecryptingKey::algorithm
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: '&Algorithm'
    signature: pub fn algorithm(&self) -> &Algorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 318
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 318
    functionName: PaddedBlockDecryptingKey::mode
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OperatingMode
    signature: pub fn mode(&self) -> OperatingMode
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PaddedBlockDecryptingKey::algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:330,1
    - Dst: '&Algorithm::is_valid_decryption_context'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:330,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:334,1
    - Dst: PaddedBlockDecryptingKey::algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:337,1
    - Dst: '&Algorithm::block_len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:337,1
    - Dst: cipher::decrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:339,1
    - Dst: Result::remove_padding
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:340,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 2
    argNames:
    - in_out
    - context
    argTypes:
    - '&''in_out mut [u8]'
    - DecryptionContext
    constantsTouched: []
    func_position:
      end: 342
      start: 325
    functionDepth: 5
    functionLinenumber: 325
    functionLinenumberEnd: 342
    functionName: PaddedBlockDecryptingKey::decrypt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs
    functionUses: 0
    functionsReached:
    - PaddedBlockDecryptingKey::algorithm
    - Result::remove_padding
    - Err
    - cipher::decrypt
    - '&Algorithm::is_valid_decryption_context'
    - '&Algorithm::block_len'
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn decrypt<''in_out>(&self,in_out: &''in_out mut [u8],context:
      DecryptionContext,) -> Result<&''in_out mut [u8], Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::debug_struct
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:347,1
    - Dst: field
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:347,1
    - Dst: field
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:347,1
    - Dst: field
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:347,1
    - Dst: finish_non_exhaustive
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 352
      start: 346
    functionDepth: 5
    functionLinenumber: 346
    functionLinenumberEnd: 352
    functionName: PaddedBlockDecryptingKey::fmt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs
    functionUses: 0
    functionsReached:
    - finish_non_exhaustive
    - SpdmCertChainBuffer::debug_struct
    - field
    linkageType: ''
    returnType: core::fmt::Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter<''_>) -> core::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::with_capacity
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:372,1
    - Dst: Vec::try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:374,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:374,1
    - Dst: push
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:375,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:378,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:378,1
    - Dst: PaddedBlockEncryptingKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:379,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:379,1
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:381,1
    - Dst: Result::encrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:382,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:382,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:389,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:389,1
    - Dst: PaddedBlockDecryptingKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:390,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:390,1
    - Dst: Result::decrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:392,1
    - Dst: SpdmResult::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 40
    argCount: 5
    argNames:
    - key
    - alg
    - mode
    - padding
    - n
    argTypes:
    - '&[u8]'
    - '&''static Algorithm'
    - OperatingMode
    - PaddingStrategy
    - usize
    constantsTouched: []
    func_position:
      end: 394
      start: 365
    functionDepth: 6
    functionLinenumber: 365
    functionLinenumberEnd: 394
    functionName: tests::helper_test_padded_cipher_n_bytes
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs
    functionUses: 0
    functionsReached:
    - SpdmResult::unwrap
    - PaddedBlockEncryptingKey::new
    - PaddedBlockDecryptingKey::new
    - clone
    - Vec::with_capacity
    - Vec::try_into
    - Result::unwrap
    - Result::encrypt
    - Result::decrypt
    - push
    - UnboundCipherKey::new
    linkageType: ''
    returnType: void
    signature: 'fn helper_test_padded_cipher_n_bytes(key: &[u8],alg: &''static Algorithm,mode:
      OperatingMode,padding: PaddingStrategy,n: usize,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:398,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:398,1
    - Dst: Result::remove_padding
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:402,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 404
      start: 397
    functionDepth: 5
    functionLinenumber: 397
    functionLinenumberEnd: 404
    functionName: tests::test_unpad_iso10126
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - Result::remove_padding
    - from_hex
    linkageType: ''
    returnType: void
    signature: fn test_unpad_iso10126()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prefixed_extern
      Src: /src/spdm-rs/external/ring/src/aead/aes/ffi.rs:3,1
    - Dst: encrypt_block
      Src: /src/spdm-rs/external/ring/src/aead/aes/ffi.rs:6,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 111
    functionName: encrypt_block
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/aes/ffi.rs
    functionUses: 11
    functionsReached:
    - prefixed_extern
    - encrypt_block
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::copy_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/aes.rs:61,1
    - Dst: try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/aes.rs:61,1
    - Dst: aes_ctr128_encrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/aes.rs:67,1
    - Dst: Result::zeroize
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/aes.rs:68,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/aes.rs:70,1
    - Dst: bool::into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/aes.rs:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 3
    argNames:
    - key
    - context
    - in_out
    argTypes:
    - '&SymmetricCipherKey'
    - EncryptionContext
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 71
      start: 47
    functionDepth: 4
    functionLinenumber: 47
    functionLinenumberEnd: 71
    functionName: encrypt_ctr_mode
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/aes.rs
    functionUses: 2
    functionsReached:
    - aes_ctr128_encrypt
    - Result::copy_from_slice
    - Result::zeroize
    - bool::into
    - try_into
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn encrypt_ctr_mode(key: &SymmetricCipherKey,context: EncryptionContext,in_out:
      &mut [u8],) -> Result<DecryptionContext, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encrypt_ctr_mode
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/aes.rs:79,1
    - Dst: bool::into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/aes.rs:79,1
    - Dst: Result::map
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/aes.rs:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - key
    - context
    - in_out
    argTypes:
    - '&SymmetricCipherKey'
    - DecryptionContext
    - '&''in_out mut [u8]'
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 6
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: decrypt_ctr_mode
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/aes.rs
    functionUses: 1
    functionsReached:
    - encrypt_ctr_mode
    - Result::map
    - bool::into
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn decrypt_ctr_mode<''in_out>(key: &SymmetricCipherKey,context:
      DecryptionContext,in_out: &''in_out mut [u8],) -> Result<&''in_out mut [u8],
      Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/des.rs:44,1
    - Dst: Result::copy_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/des.rs:46,1
    - Dst: des_cbc_encrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/des.rs:50,1
    - Dst: des3_cbc_encrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/des.rs:53,1
    - Dst: Result::zeroize
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/des.rs:65,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/des.rs:66,1
    - Dst: bool::into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/des.rs:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    argCount: 3
    argNames:
    - key
    - context
    - in_out
    argTypes:
    - '&SymmetricCipherKey'
    - EncryptionContext
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 67
      start: 39
    functionDepth: 4
    functionLinenumber: 39
    functionLinenumberEnd: 67
    functionName: encrypt_cbc_mode
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/des.rs
    functionUses: 1
    functionsReached:
    - Result::copy_from_slice
    - Result::zeroize
    - des_cbc_encrypt
    - bool::into
    - des3_cbc_encrypt
    - try_into
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn encrypt_cbc_mode(key: &SymmetricCipherKey,context: EncryptionContext,in_out:
      &mut [u8],) -> Result<DecryptionContext, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/des.rs:74,1
    - Dst: Result::copy_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/des.rs:76,1
    - Dst: des_cbc_encrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/des.rs:80,1
    - Dst: des3_cbc_encrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/des.rs:83,1
    - Dst: Result::zeroize
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/des.rs:95,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/des.rs:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 3
    argNames:
    - key
    - context
    - in_out
    argTypes:
    - '&SymmetricCipherKey'
    - DecryptionContext
    - '&''in_out mut [u8]'
    constantsTouched: []
    func_position:
      end: 97
      start: 69
    functionDepth: 4
    functionLinenumber: 69
    functionLinenumberEnd: 97
    functionName: decrypt_cbc_mode
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/des.rs
    functionUses: 1
    functionsReached:
    - Result::copy_from_slice
    - Result::zeroize
    - des_cbc_encrypt
    - des3_cbc_encrypt
    - try_into
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn decrypt_cbc_mode<''in_out>(key: &SymmetricCipherKey,context:
      DecryptionContext,in_out: &''in_out mut [u8],) -> Result<&''in_out mut [u8],
      Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::copy_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/aes.rs:147,1
    - Dst: try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/aes.rs:147,1
    - Dst: cfb_encrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/aes.rs:157,1
    - Dst: Result::zeroize
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/aes.rs:158,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/aes.rs:160,1
    - Dst: bool::into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/aes.rs:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 4
    argNames:
    - key
    - mode
    - context
    - in_out
    argTypes:
    - '&SymmetricCipherKey'
    - OperatingMode
    - EncryptionContext
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 161
      start: 132
    functionDepth: 4
    functionLinenumber: 132
    functionLinenumberEnd: 161
    functionName: encrypt_cfb_mode
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/aes.rs
    functionUses: 1
    functionsReached:
    - Result::copy_from_slice
    - Result::zeroize
    - cfb_encrypt
    - bool::into
    - try_into
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn encrypt_cfb_mode(key: &SymmetricCipherKey,mode: OperatingMode,context:
      EncryptionContext,in_out: &mut [u8],) -> Result<DecryptionContext, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::copy_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/aes.rs:179,1
    - Dst: try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/aes.rs:179,1
    - Dst: cfb_decrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/aes.rs:189,1
    - Dst: Result::zeroize
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/aes.rs:191,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/aes.rs:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - key
    - mode
    - context
    - in_out
    argTypes:
    - '&SymmetricCipherKey'
    - OperatingMode
    - DecryptionContext
    - '&''in_out mut [u8]'
    constantsTouched: []
    func_position:
      end: 194
      start: 164
    functionDepth: 4
    functionLinenumber: 164
    functionLinenumberEnd: 194
    functionName: decrypt_cfb_mode
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/aes.rs
    functionUses: 1
    functionsReached:
    - Result::copy_from_slice
    - cfb_decrypt
    - Result::zeroize
    - try_into
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn decrypt_cfb_mode<''in_out>(key: &SymmetricCipherKey,mode:
      OperatingMode,context: DecryptionContext,in_out: &''in_out mut [u8],) -> Result<&''in_out
      mut [u8], Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut [u8]::chunks_exact_mut'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/des.rs:108,1
    - Dst: by_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/des.rs:111,1
    - Dst: des_ecb_encrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/des.rs:112,1
    - Dst: by_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/des.rs:116,1
    - Dst: des3_ecb_encrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/des.rs:117,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/des.rs:126,1
    - Dst: bool::into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/des.rs:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 3
    argNames:
    - key
    - context
    - in_out
    argTypes:
    - '&SymmetricCipherKey'
    - EncryptionContext
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 127
      start: 99
    functionDepth: 8
    functionLinenumber: 99
    functionLinenumberEnd: 127
    functionName: encrypt_ecb_mode
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/des.rs
    functionUses: 1
    functionsReached:
    - bool::into
    - des_ecb_encrypt
    - by_ref
    - '&mut [u8]::chunks_exact_mut'
    - Ok
    - des3_ecb_encrypt
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn encrypt_ecb_mode(key: &SymmetricCipherKey,context: EncryptionContext,in_out:
      &mut [u8],) -> Result<DecryptionContext, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&''in_out mut [u8]::chunks_exact_mut'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/des.rs:145,1
    - Dst: by_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/des.rs:148,1
    - Dst: des_ecb_encrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/des.rs:149,1
    - Dst: by_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/des.rs:153,1
    - Dst: des3_ecb_encrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/des.rs:154,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/des.rs:164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 3
    argNames:
    - key
    - context
    - in_out
    argTypes:
    - '&SymmetricCipherKey'
    - DecryptionContext
    - '&''in_out mut [u8]'
    constantsTouched: []
    func_position:
      end: 165
      start: 129
    functionDepth: 8
    functionLinenumber: 129
    functionLinenumberEnd: 165
    functionName: decrypt_ecb_mode
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/des.rs
    functionUses: 1
    functionsReached:
    - des_ecb_encrypt
    - by_ref
    - '&''in_out mut [u8]::chunks_exact_mut'
    - Ok
    - des3_ecb_encrypt
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn decrypt_ecb_mode<''in_out>(key: &SymmetricCipherKey,context:
      DecryptionContext,in_out: &''in_out mut [u8],) -> Result<&''in_out mut [u8],
      Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fips::indicator_check
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/aes.rs:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - key
    - in_out
    argTypes:
    - '&AES_KEY'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 262
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 262
    functionName: aes_ecb_encrypt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/aes.rs
    functionUses: 0
    functionsReached:
    - fips::indicator_check
    linkageType: ''
    returnType: void
    signature: 'fn aes_ecb_encrypt(key: &AES_KEY, in_out: &mut [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fips::indicator_check
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/aes.rs:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - key
    - in_out
    argTypes:
    - '&AES_KEY'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 268
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 268
    functionName: aes_ecb_decrypt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/aes.rs
    functionUses: 0
    functionsReached:
    - fips::indicator_check
    linkageType: ''
    returnType: void
    signature: 'fn aes_ecb_decrypt(key: &AES_KEY, in_out: &mut [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fips::indicator_check
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/aes.rs:273,1
    - Dst: Zeroize::zeroize
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/aes.rs:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - key
    - iv
    - block_buffer
    - in_out
    argTypes:
    - '&AES_KEY'
    - '&mut [u8]'
    - '&mut [u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 286
      start: 270
    functionDepth: 3
    functionLinenumber: 270
    functionLinenumberEnd: 286
    functionName: aes_ctr128_encrypt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/aes.rs
    functionUses: 1
    functionsReached:
    - fips::indicator_check
    - Zeroize::zeroize
    linkageType: ''
    returnType: void
    signature: 'fn aes_ctr128_encrypt(key: &AES_KEY, iv: &mut [u8], block_buffer:
      &mut [u8], in_out: &mut [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: construct_key_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:197,1
    - Dst: hex::encode
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:198,1
    - Dst: Option::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:198,1
    - Dst: new_unbound_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:199,1
    - Dst: Option::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:199,1
    - Dst: PaddedBlockEncryptingKey::cbc_pkcs7
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:201,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:201,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:204,1
    - Dst: hex::decode
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:209,1
    - Dst: der::Result::map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:209,1
    - Dst: SimpleLogger::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:211,1
    - Dst: '&[P::T]::try_into'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:211,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:211,1
    - Dst: EncryptionContext::Iv128
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:212,1
    - Dst: bool::less_safe_encrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:214,1
    - Dst: bool::encrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:216,1
    - Dst: map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:206,1
    - Dst: try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:220,1
    - Dst: map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:220,1
    - Dst: hex::encode
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:224,1
    - Dst: as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:224,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:230,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 56
    argCount: 3
    argNames:
    - key
    - iv
    - plaintext
    argTypes:
    - Option<String>
    - Option<String>
    - String
    constantsTouched: []
    func_position:
      end: 231
      start: 192
    functionDepth: 9
    functionLinenumber: 192
    functionLinenumberEnd: 231
    functionName: aes_cbc_encrypt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs
    functionUses: 0
    functionsReached:
    - '&[P::T]::try_into'
    - construct_key_bytes
    - EncryptionContext::Iv128
    - bool::encrypt
    - map_err
    - PaddedBlockEncryptingKey::cbc_pkcs7
    - hex::decode
    - as_slice
    - Result::map_err
    - der::Result::map_err
    - Option::as_slice
    - new_unbound_key
    - Vec::from
    - try_into
    - SimpleLogger::as_slice
    - hex::encode
    - Ok
    - bool::less_safe_encrypt
    linkageType: ''
    returnType: Result
    signature: 'fn aes_cbc_encrypt(key: Option<String>,iv: Option<String>,plaintext:
      String,) -> Result<(), &''static str>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: construct_key_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:234,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:234,1
    - Dst: new_unbound_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:235,1
    - Dst: Option::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:235,1
    - Dst: hex::decode
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:237,1
    - Dst: der::Result::map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:237,1
    - Dst: SimpleLogger::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:238,1
    - Dst: '&[P::T]::try_into'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:238,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:238,1
    - Dst: PaddedBlockDecryptingKey::cbc_pkcs7
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:242,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:242,1
    - Dst: hex::decode
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:246,1
    - Dst: der::Result::map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:246,1
    - Dst: bool::decrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:248,1
    - Dst: as_mut
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:249,1
    - Dst: DecryptionContext::Iv128
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:249,1
    - Dst: SpdmResult::map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:248,1
    - Dst: String::from_utf8
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:253,1
    - Dst: into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:253,1
    - Dst: map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:253,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:257,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 49
    argCount: 3
    argNames:
    - key
    - iv
    - ciphertext
    argTypes:
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 258
      start: 233
    functionDepth: 6
    functionLinenumber: 233
    functionLinenumberEnd: 258
    functionName: aes_cbc_decrypt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs
    functionUses: 0
    functionsReached:
    - bool::decrypt
    - '&[P::T]::try_into'
    - PaddedBlockDecryptingKey::cbc_pkcs7
    - construct_key_bytes
    - String::from_utf8
    - as_mut
    - SpdmResult::map_err
    - hex::decode
    - into
    - map_err
    - Result::map_err
    - DecryptionContext::Iv128
    - der::Result::map_err
    - Option::as_slice
    - new_unbound_key
    - SimpleLogger::as_slice
    - Ok
    - Some
    linkageType: ''
    returnType: Result
    signature: 'fn aes_cbc_decrypt(key: String, iv: String, ciphertext: String) ->
      Result<(), &''static str>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fips::indicator_check
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/aes.rs:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - key
    - iv
    - in_out
    argTypes:
    - '&AES_KEY'
    - '&mut [u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 327
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 327
    functionName: aes_cfb128_encrypt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/aes.rs
    functionUses: 0
    functionsReached:
    - fips::indicator_check
    linkageType: ''
    returnType: void
    signature: 'fn aes_cfb128_encrypt(key: &AES_KEY, iv: &mut [u8], in_out: &mut [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fips::indicator_check
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/aes.rs:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - key
    - iv
    - in_out
    argTypes:
    - '&AES_KEY'
    - '&mut [u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 342
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 342
    functionName: aes_cfb128_decrypt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/aes.rs
    functionUses: 0
    functionsReached:
    - fips::indicator_check
    linkageType: ''
    returnType: void
    signature: 'fn aes_cfb128_decrypt(key: &AES_KEY, iv: &mut [u8], in_out: &mut [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size_of::<AES_KEY>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:64,1
    - Dst: size_of::<AES_KEY>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:65,1
    - Dst: cast::<[u8; size_of::<AES_KEY>()]>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:64,1
    - Dst: as_mut
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:64,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:64,1
    - Dst: zeroize
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:68,1
    - Dst: size_of::<AES_KEY>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:69,1
    - Dst: size_of::<AES_KEY>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:70,1
    - Dst: cast::<[u8; size_of::<AES_KEY>()]>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:69,1
    - Dst: as_mut
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:69,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:69,1
    - Dst: zeroize
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:73,1
    - Dst: size_of::<DesKey>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:80,1
    - Dst: size_of::<DesKey>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:81,1
    - Dst: cast::<[u8; size_of::<DesKey>()]>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:80,1
    - Dst: as_mut
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:80,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:80,1
    - Dst: Option::zeroize
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 58
    functionDepth: 5
    functionLinenumber: 58
    functionLinenumberEnd: 87
    functionName: SymmetricCipherKey::drop
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs
    functionUses: 0
    functionsReached:
    - as_mut
    - size_of::<AES_KEY>
    - unwrap
    - size_of::<DesKey>
    - cast::<[u8; size_of::<AES_KEY>()]>
    - Option::zeroize
    - zeroize
    - cast::<[u8; size_of::<DesKey>()]>
    linkageType: ''
    returnType: void
    signature: fn drop(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MaybeUninit::<AES_KEY>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:92,1
    - Dst: MaybeUninit::<AES_KEY>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:93,1
    - Dst: aws_lc::AES_set_encrypt_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:96,1
    - Dst: Option::as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:97,1
    - Dst: Option::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:98,1
    - Dst: DigestContext::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:99,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:102,1
    - Dst: aws_lc::AES_set_decrypt_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:107,1
    - Dst: Option::as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:108,1
    - Dst: Option::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:109,1
    - Dst: DigestContext::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:110,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:113,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:115,1
    - Dst: DigestContext::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:115,1
    - Dst: DigestContext::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 41
    argCount: 1
    argNames:
    - key_bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 116
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 116
    functionName: SymmetricCipherKey::aes
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs
    functionUses: 3
    functionsReached:
    - Option::as_ptr
    - MaybeUninit::<AES_KEY>::uninit
    - Err
    - aws_lc::AES_set_decrypt_key
    - DigestContext::as_mut_ptr
    - aws_lc::AES_set_encrypt_key
    - Option::len
    - DigestContext::assume_init
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn aes(key_bytes: &[u8]) -> Result<(AES_KEY, AES_KEY), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:119,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:120,1
    - Dst: KeyRejected::unspecified
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:120,1
    - Dst: SymmetricCipherKey::aes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:122,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - key_bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: SymmetricCipherKey::aes128
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs
    functionUses: 2
    functionsReached:
    - Err
    - KeyRejected::unspecified
    - Option::len
    - SymmetricCipherKey::aes
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn aes128(key_bytes: &[u8]) -> Result<Self, KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:127,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:128,1
    - Dst: KeyRejected::unspecified
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:128,1
    - Dst: SymmetricCipherKey::aes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:130,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - key_bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: SymmetricCipherKey::aes192
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs
    functionUses: 1
    functionsReached:
    - Err
    - KeyRejected::unspecified
    - Option::len
    - SymmetricCipherKey::aes
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn aes192(key_bytes: &[u8]) -> Result<Self, KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:135,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:136,1
    - Dst: KeyRejected::unspecified
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:136,1
    - Dst: SymmetricCipherKey::aes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:138,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - key_bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: SymmetricCipherKey::aes256
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs
    functionUses: 2
    functionsReached:
    - Err
    - KeyRejected::unspecified
    - Option::len
    - SymmetricCipherKey::aes
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn aes256(key_bytes: &[u8]) -> Result<Self, KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:143,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:144,1
    - Dst: KeyRejected::unspecified
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:144,1
    - Dst: MaybeUninit::<[u8; 32]>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:146,1
    - Dst: core::ptr::copy_nonoverlapping
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:148,1
    - Dst: Option::as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:148,1
    - Dst: DigestContext::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:148,1
    - Dst: '*mut EVP_MD_CTX::cast'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:148,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:149,1
    - Dst: cipher::chacha::ChaCha20Key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:150,1
    - Dst: DigestContext::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 1
    argNames:
    - key_bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 153
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 153
    functionName: SymmetricCipherKey::chacha20
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs
    functionUses: 0
    functionsReached:
    - MaybeUninit::<[u8; 32]>::uninit
    - Option::as_ptr
    - Ok
    - Err
    - cipher::chacha::ChaCha20Key
    - DigestContext::as_mut_ptr
    - KeyRejected::unspecified
    - Option::len
    - DigestContext::assume_init
    - core::ptr::copy_nonoverlapping
    - '*mut EVP_MD_CTX::cast'
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn chacha20(key_bytes: &[u8]) -> Result<Self, KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:163,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:164,1
    - Dst: KeyRejected::unspecified
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:164,1
    - Dst: Option::try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:166,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:166,1
    - Dst: Self::des_set_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:167,1
    - Dst: MaybeUninit::<DES_key_schedule>::zeroed
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:168,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:169,1
    - Dst: '&''a [u8]::assume_init'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:169,1
    - Dst: '&''a [u8]::assume_init'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - key_bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 170
      start: 162
    functionDepth: 4
    functionLinenumber: 162
    functionLinenumberEnd: 170
    functionName: SymmetricCipherKey::prepare_des
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs
    functionUses: 1
    functionsReached:
    - Option::try_into
    - '&''a [u8]::assume_init'
    - Err
    - KeyRejected::unspecified
    - Option::len
    - MaybeUninit::<DES_key_schedule>::zeroed
    - Self::des_set_key
    - Result::expect
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn prepare_des(key_bytes: &[u8]) -> Result<[DES_key_schedule;
      3], KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:174,1
    - Dst: cipher::des::DesKey
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:175,1
    - Dst: Self::prepare_des
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key_bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 5
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: SymmetricCipherKey::des
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs
    functionUses: 1
    functionsReached:
    - Self::prepare_des
    - Ok
    - cipher::des::DesKey
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn des(key_bytes: &[u8]) -> Result<Self, KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:187,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:188,1
    - Dst: KeyRejected::unspecified
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:188,1
    - Dst: try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:192,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:192,1
    - Dst: try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:193,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:193,1
    - Dst: constant_time::verify_slices_are_equal
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:197,1
    - Dst: Result::is_ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:197,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:198,1
    - Dst: KeyRejected::inconsistent_components
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:198,1
    - Dst: Self::des_set_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:204,1
    - Dst: Self::des_set_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:205,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:206,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 1
    argNames:
    - key_bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 207
      start: 186
    functionDepth: 4
    functionLinenumber: 186
    functionLinenumberEnd: 207
    functionName: SymmetricCipherKey::prepare_des_ede
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs
    functionUses: 1
    functionsReached:
    - KeyRejected::inconsistent_components
    - Ok
    - Result::is_ok
    - Err
    - KeyRejected::unspecified
    - Option::len
    - Self::des_set_key
    - try_into
    - expect
    - constant_time::verify_slices_are_equal
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn prepare_des_ede(key_bytes: &[u8]) -> Result<[DES_key_schedule;
      3], KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:211,1
    - Dst: cipher::des::DesKey
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:212,1
    - Dst: Self::prepare_des_ede
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key_bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 5
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: SymmetricCipherKey::des_ede
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs
    functionUses: 1
    functionsReached:
    - Self::prepare_des_ede
    - Ok
    - cipher::des::DesKey
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn des_ede(key_bytes: &[u8]) -> Result<Self, KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MaybeUninit::<DES_key_schedule>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:218,1
    - Dst: aws_lc::DES_set_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:225,1
    - Dst: Option::as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:225,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:225,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:226,1
    - Dst: assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:226,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:227,1
    - Dst: KeyRejected::unspecified
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - key_bytes
    argTypes:
    - '&[u8; 8]'
    constantsTouched: []
    func_position:
      end: 229
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 229
    functionName: SymmetricCipherKey::des_set_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs
    functionUses: 0
    functionsReached:
    - Option::as_ptr
    - MaybeUninit::<DES_key_schedule>::uninit
    - as_mut_ptr
    - Err
    - aws_lc::DES_set_key
    - KeyRejected::unspecified
    - Ok
    - assume_init
    linkageType: ''
    returnType: Result
    signature: 'fn des_set_key(key_bytes: &[u8; 8]) -> Result<DES_key_schedule, KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:238,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:239,1
    - Dst: KeyRejected::unspecified
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:239,1
    - Dst: try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:243,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:243,1
    - Dst: try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:244,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:244,1
    - Dst: try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:245,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:245,1
    - Dst: u8::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:261,1
    - Dst: constant_time::verify_slices_are_equal
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:261,1
    - Dst: Result::is_ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:261,1
    - Dst: core::hint::black_box
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:262,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:265,1
    - Dst: KeyRejected::inconsistent_components
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:265,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:268,1
    - Dst: Self::des_set_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:269,1
    - Dst: Self::des_set_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:270,1
    - Dst: Self::des_set_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:271,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 56
    argCount: 1
    argNames:
    - key_bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 273
      start: 237
    functionDepth: 4
    functionLinenumber: 237
    functionLinenumberEnd: 273
    functionName: SymmetricCipherKey::prepare_des_ede3
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs
    functionUses: 1
    functionsReached:
    - KeyRejected::inconsistent_components
    - Ok
    - core::hint::black_box
    - Result::is_ok
    - Err
    - u8::from
    - KeyRejected::unspecified
    - Option::len
    - Self::des_set_key
    - try_into
    - expect
    - constant_time::verify_slices_are_equal
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn prepare_des_ede3(key_bytes: &[u8]) -> Result<[DES_key_schedule;
      3], KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:277,1
    - Dst: cipher::des::DesKey
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:278,1
    - Dst: Self::prepare_des_ede3
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key_bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 280
      start: 276
    functionDepth: 5
    functionLinenumber: 276
    functionLinenumberEnd: 280
    functionName: SymmetricCipherKey::des_ede3
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs
    functionUses: 1
    functionsReached:
    - Self::prepare_des_ede3
    - Ok
    - cipher::des::DesKey
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn des_ede3(key_bytes: &[u8]) -> Result<Self, KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::aes::encrypt_block
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - block
    argTypes:
    - Block
    constantsTouched: []
    func_position:
      end: 301
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 301
    functionName: SymmetricCipherKey::encrypt_block
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs
    functionUses: 0
    functionsReached:
    - super::aes::encrypt_block
    linkageType: ''
    returnType: Block
    signature: 'pub(crate) fn encrypt_block(&self, block: Block) -> Block'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:312,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:312,1
    - Dst: from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:313,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:313,1
    - Dst: from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:314,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:314,1
    - Dst: <[u8; BLOCK_LEN]>::try_from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:315,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:315,1
    - Dst: SymmetricCipherKey::aes128
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:317,1
    - Dst: bool::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:317,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:317,1
    - Dst: Result::encrypt_block
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:318,1
    - Dst: Block::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 311
    functionDepth: 5
    functionLinenumber: 311
    functionLinenumberEnd: 321
    functionName: tests::test_encrypt_block_aes_128
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs
    functionUses: 0
    functionsReached:
    - <[u8; BLOCK_LEN]>::try_from
    - bool::as_slice
    - Result::unwrap
    - Result::encrypt_block
    - from_hex
    - SymmetricCipherKey::aes128
    - Block::from
    linkageType: ''
    returnType: void
    signature: fn test_encrypt_block_aes_128()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:326,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:326,1
    - Dst: from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:327,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:327,1
    - Dst: from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:328,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:328,1
    - Dst: <[u8; BLOCK_LEN]>::try_from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:329,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:329,1
    - Dst: SymmetricCipherKey::aes256
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:331,1
    - Dst: bool::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:331,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:331,1
    - Dst: Result::encrypt_block
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:332,1
    - Dst: Block::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 335
      start: 324
    functionDepth: 5
    functionLinenumber: 324
    functionLinenumberEnd: 335
    functionName: tests::test_encrypt_block_aes_256
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs
    functionUses: 0
    functionsReached:
    - <[u8; BLOCK_LEN]>::try_from
    - bool::as_slice
    - SymmetricCipherKey::aes256
    - Result::unwrap
    - Result::encrypt_block
    - from_hex
    - Block::from
    linkageType: ''
    returnType: void
    signature: fn test_encrypt_block_aes_256()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fips::indicator_check
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/des.rs:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - ks1
    - ks2
    - ks3
    - iv
    - in_out
    - enc
    argTypes:
    - '&DES_key_schedule'
    - '&DES_key_schedule'
    - '&DES_key_schedule'
    - '&mut [u8; DES_CBC_IV_LEN]'
    - '&mut [u8]'
    - i32
    constantsTouched: []
    func_position:
      end: 196
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 196
    functionName: des3_cbc_encrypt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/des.rs
    functionUses: 2
    functionsReached:
    - fips::indicator_check
    linkageType: ''
    returnType: void
    signature: 'fn des3_cbc_encrypt(ks1: &DES_key_schedule,ks2: &DES_key_schedule,ks3:
      &DES_key_schedule,iv: &mut [u8; DES_CBC_IV_LEN],in_out: &mut [u8],enc: i32,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmSupportedAlgorithmsBlock::as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/des.rs:205,1
    - Dst: SpdmSupportedAlgorithmsBlock::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/des.rs:206,1
    - Dst: fips::indicator_check
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/des.rs:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - ks1
    - ks2
    - ks3
    - block
    - enc
    argTypes:
    - '&DES_key_schedule'
    - '&DES_key_schedule'
    - '&DES_key_schedule'
    - '&mut [u8]'
    - i32
    constantsTouched: []
    func_position:
      end: 216
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 216
    functionName: des3_ecb_encrypt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/des.rs
    functionUses: 2
    functionsReached:
    - fips::indicator_check
    - SpdmSupportedAlgorithmsBlock::as_mut_ptr
    - SpdmSupportedAlgorithmsBlock::as_ptr
    linkageType: ''
    returnType: void
    signature: 'fn des3_ecb_encrypt(ks1: &DES_key_schedule,ks2: &DES_key_schedule,ks3:
      &DES_key_schedule,block: &mut [u8],enc: i32,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fips::indicator_check
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/des.rs:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ks
    - iv
    - in_out
    - enc
    argTypes:
    - '&DES_key_schedule'
    - '&mut [u8; DES_CBC_IV_LEN]'
    - '&mut [u8]'
    - i32
    constantsTouched: []
    func_position:
      end: 243
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 243
    functionName: des_cbc_encrypt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/des.rs
    functionUses: 2
    functionsReached:
    - fips::indicator_check
    linkageType: ''
    returnType: void
    signature: 'fn des_cbc_encrypt(ks: &DES_key_schedule,iv: &mut [u8; DES_CBC_IV_LEN],in_out:
      &mut [u8],enc: i32,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmSupportedAlgorithmsBlock::as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/des.rs:246,1
    - Dst: SpdmSupportedAlgorithmsBlock::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/des.rs:247,1
    - Dst: fips::indicator_check
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/des.rs:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ks
    - block
    - enc
    argTypes:
    - '&DES_key_schedule'
    - '&mut [u8]'
    - i32
    constantsTouched: []
    func_position:
      end: 257
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 257
    functionName: des_ecb_encrypt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/des.rs
    functionUses: 2
    functionsReached:
    - fips::indicator_check
    - SpdmSupportedAlgorithmsBlock::as_mut_ptr
    - SpdmSupportedAlgorithmsBlock::as_ptr
    linkageType: ''
    returnType: void
    signature: 'fn des_ecb_encrypt(ks: &DES_key_schedule, block: &mut [u8], enc: i32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/tests/fips.rs:5,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/tests/fips.rs:5,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/tests/fips.rs:5,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/tests/fips.rs:7,1
    - Dst: fips::assert_fips_status_indicator
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/tests/fips.rs:9,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/tests/fips.rs:9,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/tests/fips.rs:11,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/tests/fips.rs:11,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/tests/fips.rs:11,1
    - Dst: fips::assert_fips_status_indicator
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/tests/fips.rs:14,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/tests/fips.rs:14,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 47
    functionDepth: 5
    functionLinenumber: 47
    functionLinenumberEnd: 66
    functionName: block_api
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/tests/fips.rs
    functionUses: 0
    functionsReached:
    - Vec::from
    - unwrap
    - Result::unwrap
    - fips::assert_fips_status_indicator
    - UnboundCipherKey::new
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/tests/fips.rs:5,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/tests/fips.rs:5,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/tests/fips.rs:5,1
    - Dst: as_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/tests/fips.rs:7,1
    - Dst: bool::update
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/tests/fips.rs:10,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/tests/fips.rs:10,1
    - Dst: Result::written
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/tests/fips.rs:12,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/tests/fips.rs:12,1
    - Dst: fips::assert_fips_status_indicator
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/tests/fips.rs:14,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/tests/fips.rs:14,1
    - Dst: Result::written
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/tests/fips.rs:17,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/tests/fips.rs:17,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/tests/fips.rs:22,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/tests/fips.rs:22,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/tests/fips.rs:22,1
    - Dst: bool::update
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/tests/fips.rs:24,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/tests/fips.rs:24,1
    - Dst: Result::written
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/tests/fips.rs:26,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/tests/fips.rs:26,1
    - Dst: fips::assert_fips_status_indicator
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/tests/fips.rs:28,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/tests/fips.rs:28,1
    - Dst: Result::written
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/tests/fips.rs:31,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/tests/fips.rs:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 68
    functionDepth: 11
    functionLinenumber: 68
    functionLinenumberEnd: 105
    functionName: streaming_api
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/tests/fips.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::len'
    - unwrap
    - Result::written
    - Result::unwrap
    - fips::assert_fips_status_indicator
    - as_bytes
    - UnboundCipherKey::new
    - bool::update
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AeadCtx::aes_128_gcm_tls12
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs:52,1
    - Dst: tag_len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs:54,1
    - Dst: AeadCtx::aes_128_gcm_tls13
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs:57,1
    - Dst: tag_len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs:59,1
    - Dst: AeadCtx::aes_256_gcm_tls12
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs:62,1
    - Dst: tag_len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs:64,1
    - Dst: AeadCtx::aes_256_gcm_tls13
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs:67,1
    - Dst: tag_len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs:69,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs:78,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs:80,1
    - Dst: UnboundKey::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - algorithm
    - protocol
    - key_bytes
    argTypes:
    - '&''static Algorithm'
    - TlsProtocolId
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 84
      start: 46
    functionDepth: 15
    functionLinenumber: 46
    functionLinenumberEnd: 84
    functionName: TlsRecordSealingKey::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs
    functionUses: 0
    functionsReached:
    - tag_len
    - AeadCtx::aes_128_gcm_tls13
    - Err
    - AeadCtx::aes_256_gcm_tls12
    - UnboundKey::from
    - AeadCtx::aes_128_gcm_tls12
    - Ok
    - AeadCtx::aes_256_gcm_tls13
    linkageType: ''
    returnType: Result
    signature: 'pub fn new(algorithm: &''static Algorithm,protocol: TlsProtocolId,key_bytes:
      &[u8],) -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: seal_in_place_append_tag
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs:106,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs:107,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs:107,1
    - Dst: map
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - nonce
    - aad
    - in_out
    argTypes:
    - Nonce
    - Aad<A>
    - '&mut InOut'
    constantsTouched: []
    func_position:
      end: 109
      start: 96
    functionDepth: 10
    functionLinenumber: 96
    functionLinenumberEnd: 109
    functionName: TlsRecordSealingKey::seal_in_place_append_tag
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs
    functionUses: 0
    functionsReached:
    - seal_in_place_append_tag
    - as_ref
    - map
    - Some
    linkageType: ''
    returnType: Result
    signature: 'pub fn seal_in_place_append_tag<A, InOut>(&mut self,nonce: Nonce,aad:
      Aad<A>,in_out: &mut InOut,) -> Result<(), Unspecified>whereA: AsRef<[u8]>,InOut:
      AsMut<[u8]> + for<''in_out> Extend<&''in_out u8>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: seal_in_place_separate_tag
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs:138,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs:139,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs:139,1
    - Dst: map
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - nonce
    - aad
    - in_out
    argTypes:
    - Nonce
    - Aad<A>
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 141
      start: 129
    functionDepth: 16
    functionLinenumber: 129
    functionLinenumberEnd: 141
    functionName: TlsRecordSealingKey::seal_in_place_separate_tag
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs
    functionUses: 0
    functionsReached:
    - as_ref
    - seal_in_place_separate_tag
    - map
    - Some
    linkageType: ''
    returnType: Result
    signature: 'pub fn seal_in_place_separate_tag<A>(&mut self,nonce: Nonce,aad: Aad<A>,in_out:
      &mut [u8],) -> Result<Tag, Unspecified>whereA: AsRef<[u8]>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 8
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: TlsRecordSealingKey::algorithm
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs
    functionUses: 0
    functionsReached:
    - algorithm
    linkageType: ''
    returnType: '&''static Algorithm'
    signature: pub fn algorithm(&self) -> &'static Algorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: TlsRecordSealingKey::tls_protocol_id
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TlsProtocolId
    signature: pub fn tls_protocol_id(&self) -> TlsProtocolId
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::debug_struct
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs:160,1
    - Dst: field
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs:160,1
    - Dst: field
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs:160,1
    - Dst: finish
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 164
      start: 159
    functionDepth: 11
    functionLinenumber: 159
    functionLinenumberEnd: 164
    functionName: TlsRecordSealingKey::fmt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs
    functionUses: 0
    functionsReached:
    - SpdmCertChainBuffer::debug_struct
    - finish
    - field
    linkageType: ''
    returnType: core::fmt::Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter<''_>) -> core::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AeadCtx::aes_128_gcm_tls12
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs:196,1
    - Dst: tag_len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs:198,1
    - Dst: AeadCtx::aes_128_gcm_tls13
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs:201,1
    - Dst: tag_len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs:203,1
    - Dst: AeadCtx::aes_256_gcm_tls12
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs:206,1
    - Dst: tag_len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs:208,1
    - Dst: AeadCtx::aes_256_gcm_tls13
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs:211,1
    - Dst: tag_len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs:213,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs:222,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs:224,1
    - Dst: UnboundKey::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - algorithm
    - protocol
    - key_bytes
    argTypes:
    - '&''static Algorithm'
    - TlsProtocolId
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 228
      start: 190
    functionDepth: 15
    functionLinenumber: 190
    functionLinenumberEnd: 228
    functionName: TlsRecordOpeningKey::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs
    functionUses: 0
    functionsReached:
    - tag_len
    - AeadCtx::aes_128_gcm_tls13
    - Err
    - AeadCtx::aes_256_gcm_tls12
    - UnboundKey::from
    - AeadCtx::aes_128_gcm_tls12
    - Ok
    - AeadCtx::aes_256_gcm_tls13
    linkageType: ''
    returnType: Result
    signature: 'pub fn new(algorithm: &''static Algorithm,protocol: TlsProtocolId,key_bytes:
      &[u8],) -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: open_within
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs:245,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - nonce
    - aad
    - in_out
    argTypes:
    - Nonce
    - Aad<A>
    - '&''in_out mut [u8]'
    constantsTouched: []
    func_position:
      end: 246
      start: 236
    functionDepth: 10
    functionLinenumber: 236
    functionLinenumberEnd: 246
    functionName: TlsRecordOpeningKey::open_in_place
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs
    functionUses: 0
    functionsReached:
    - as_ref
    - open_within
    linkageType: ''
    returnType: Result
    signature: 'pub fn open_in_place<''in_out, A>(&self,nonce: Nonce,aad: Aad<A>,in_out:
      &''in_out mut [u8],) -> Result<&''in_out mut [u8], Unspecified>whereA: AsRef<[u8]>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: open_within
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs:264,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - nonce
    - aad
    - in_out
    - ciphertext_and_tag
    argTypes:
    - Nonce
    - Aad<A>
    - '&''in_out mut [u8]'
    - RangeFrom<usize>
    constantsTouched: []
    func_position:
      end: 266
      start: 254
    functionDepth: 10
    functionLinenumber: 254
    functionLinenumberEnd: 266
    functionName: TlsRecordOpeningKey::open_within
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs
    functionUses: 0
    functionsReached:
    - as_ref
    - open_within
    linkageType: ''
    returnType: Result
    signature: 'pub fn open_within<''in_out, A>(&self,nonce: Nonce,aad: Aad<A>,in_out:
      &''in_out mut [u8],ciphertext_and_tag: RangeFrom<usize>,) -> Result<&''in_out
      mut [u8], Unspecified>whereA: AsRef<[u8]>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 8
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionName: TlsRecordOpeningKey::algorithm
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs
    functionUses: 0
    functionsReached:
    - algorithm
    linkageType: ''
    returnType: '&''static Algorithm'
    signature: pub fn algorithm(&self) -> &'static Algorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 279
    functionName: TlsRecordOpeningKey::tls_protocol_id
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TlsProtocolId
    signature: pub fn tls_protocol_id(&self) -> TlsProtocolId
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::debug_struct
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs:285,1
    - Dst: field
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs:285,1
    - Dst: field
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs:285,1
    - Dst: finish
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 289
      start: 284
    functionDepth: 11
    functionLinenumber: 284
    functionLinenumberEnd: 289
    functionName: TlsRecordOpeningKey::fmt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs
    functionUses: 0
    functionsReached:
    - SpdmCertChainBuffer::debug_struct
    - finish
    - field
    linkageType: ''
    returnType: core::fmt::Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter<''_>) -> core::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt_debug
      Src: /src/spdm-rs/external/ring/src/aead/unbound_key.rs:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 12
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: UnboundKey::fmt
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/unbound_key.rs
    functionUses: 0
    functionsReached:
    - fmt_debug
    linkageType: ''
    returnType: Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter) -> Result<(), core::fmt::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/aead/unbound_key.rs:41,1
    - Dst: LessSafeKey::new_
      Src: /src/spdm-rs/external/ring/src/aead/unbound_key.rs:42,1
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/aead/unbound_key.rs:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - algorithm
    - key_bytes
    argTypes:
    - '&''static Algorithm'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 14
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: UnboundKey::new
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/unbound_key.rs
    functionUses: 12
    functionsReached:
    - Ok
    - LessSafeKey::new_
    - cpu::features
    linkageType: ''
    returnType: Result
    signature: 'pub fn new(algorithm: &''static Algorithm,key_bytes: &[u8],) -> Result<Self,
      error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&''in_out mut [u8]::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:62,1
    - Dst: usize::checked_sub
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:62,1
    - Dst: ok_or
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:62,1
    - Dst: checked_sub
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:63,1
    - Dst: UnboundKey::algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:64,1
    - Dst: '&''static Algorithm::tag_len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:64,1
    - Dst: ok_or
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:63,1
    - Dst: UnboundKey::check_per_nonce_max_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:66,1
    - Dst: UnboundKey::open_combined_randnonce
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:70,1
    - Dst: UnboundKey::open_combined
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:72,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:72,1
    - Dst: '&''in_out mut [u8]::copy_within'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:76,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:79,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 46
    argCount: 4
    argNames:
    - nonce
    - aad
    - in_out
    - ciphertext_and_tag
    argTypes:
    - Nonce
    - '&[u8]'
    - '&''in_out mut [u8]'
    - RangeFrom<usize>
    constantsTouched: []
    func_position:
      end: 80
      start: 54
    functionDepth: 9
    functionLinenumber: 54
    functionLinenumberEnd: 80
    functionName: UnboundKey::open_within
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs
    functionUses: 0
    functionsReached:
    - UnboundKey::open_combined
    - UnboundKey::algorithm
    - '&''static Algorithm::tag_len'
    - UnboundKey::open_combined_randnonce
    - ok_or
    - checked_sub
    - UnboundKey::check_per_nonce_max_bytes
    - '&''in_out mut [u8]::len'
    - usize::checked_sub
    - '&''in_out mut [u8]::copy_within'
    - as_ref
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn open_within<''in_out>(&self,nonce: Nonce,aad: &[u8],in_out:
      &''in_out mut [u8],ciphertext_and_tag: RangeFrom<usize>,) -> Result<&''in_out
      mut [u8], Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnboundKey::open_separate_gather_impl
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:91,1
    - Dst: '&[u8]::as_ptr'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:94,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:95,1
    - Dst: '&mut [u8]::as_mut_ptr'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:97,1
    - Dst: '&mut [u8]::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 5
    argNames:
    - nonce
    - aad
    - in_ciphertext
    - in_tag
    - out_plaintext
    argTypes:
    - '&Nonce'
    - '&[u8]'
    - '&[u8]'
    - '&[u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 100
      start: 83
    functionDepth: 11
    functionLinenumber: 83
    functionLinenumberEnd: 100
    functionName: UnboundKey::open_separate_gather
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::as_ptr'
    - '&mut [u8]::as_mut_ptr'
    - '&[u8]::len'
    - '&mut [u8]::len'
    - UnboundKey::open_separate_gather_impl
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn open_separate_gather(&self,nonce: &Nonce,aad: &[u8],in_ciphertext:
      &[u8],in_tag: &[u8],out_plaintext: &mut [u8],) -> Result<(), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut [u8]::as_mut_ptr'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:110,1
    - Dst: '&mut [u8]::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:111,1
    - Dst: UnboundKey::open_separate_gather_impl
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:112,1
    - Dst: '*mut c_void::cast_const'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - nonce
    - aad
    - in_tag
    - in_out
    argTypes:
    - '&Nonce'
    - '&[u8]'
    - '&[u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 113
      start: 103
    functionDepth: 11
    functionLinenumber: 103
    functionLinenumberEnd: 113
    functionName: UnboundKey::open_in_place_separate_tag
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs
    functionUses: 0
    functionsReached:
    - '*mut c_void::cast_const'
    - '&mut [u8]::as_mut_ptr'
    - '&mut [u8]::len'
    - UnboundKey::open_separate_gather_impl
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn open_in_place_separate_tag(&self,nonce: &Nonce,aad:
      &[u8],in_tag: &[u8],in_out: &mut [u8],) -> Result<(), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnboundKey::check_per_nonce_max_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:137,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:141,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:145,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:146,1
    - Dst: aws_lc::EVP_AEAD_CTX_open_gather
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:148,1
    - Dst: as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:149,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:151,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:152,1
    - Dst: '&[u8]::as_ptr'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:155,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:156,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:157,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:158,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:160,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:162,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 7
    argNames:
    - nonce
    - aad
    - in_ciphertext
    - in_ciphertext_len
    - in_tag
    - out_plaintext
    - out_plaintext_len
    argTypes:
    - '&Nonce'
    - '&[u8]'
    - '*const u8'
    - usize
    - '&[u8]'
    - '*mut u8'
    - usize
    constantsTouched: []
    func_position:
      end: 164
      start: 127
    functionDepth: 10
    functionLinenumber: 127
    functionLinenumberEnd: 164
    functionName: UnboundKey::open_separate_gather_impl
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs
    functionUses: 2
    functionsReached:
    - '&[u8]::as_ptr'
    - aws_lc::EVP_AEAD_CTX_open_gather
    - '&[u8]::len'
    - Err
    - UnboundKey::check_per_nonce_max_bytes
    - as_ptr
    - len
    - as_const_ptr
    - as_ref
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn open_separate_gather_impl(&self,nonce: &Nonce,aad: &[u8],in_ciphertext:
      *const u8,in_ciphertext_len: usize,in_tag: &[u8],out_plaintext: *mut u8,out_plaintext_len:
      usize,) -> Result<(), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnboundKey::check_per_nonce_max_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:176,1
    - Dst: '&''a mut InOut::as_mut'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:176,1
    - Dst: '&mut [u8]::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:176,1
    - Dst: UnboundKey::seal_combined
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:178,1
    - Dst: UnboundKey::seal_combined_randnonce
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - nonce
    - aad
    - in_out
    argTypes:
    - Option<Nonce>
    - '&[u8]'
    - '&''a mut InOut'
    constantsTouched: []
    func_position:
      end: 181
      start: 167
    functionDepth: 10
    functionLinenumber: 167
    functionLinenumberEnd: 181
    functionName: UnboundKey::seal_in_place_append_tag
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs
    functionUses: 0
    functionsReached:
    - UnboundKey::seal_combined_randnonce
    - '&mut [u8]::len'
    - UnboundKey::check_per_nonce_max_bytes
    - UnboundKey::seal_combined
    - '&''a mut InOut::as_mut'
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn seal_in_place_append_tag<''a, InOut>(&self,nonce: Option<Nonce>,aad:
      &[u8],in_out: &''a mut InOut,) -> Result<Nonce, Unspecified>whereInOut: AsMut<[u8]>
      + for<''in_out> Extend<&''in_out u8>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnboundKey::check_per_nonce_max_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:190,1
    - Dst: '&mut [u8]::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:190,1
    - Dst: UnboundKey::seal_separate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:192,1
    - Dst: UnboundKey::seal_separate_randnonce
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - nonce
    - aad
    - in_out
    argTypes:
    - Option<Nonce>
    - '&[u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 195
      start: 184
    functionDepth: 10
    functionLinenumber: 184
    functionLinenumberEnd: 195
    functionName: UnboundKey::seal_in_place_separate_tag
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs
    functionUses: 0
    functionsReached:
    - UnboundKey::seal_separate
    - UnboundKey::seal_separate_randnonce
    - '&mut [u8]::len'
    - UnboundKey::check_per_nonce_max_bytes
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn seal_in_place_separate_tag(&self,nonce: Option<Nonce>,aad:
      &[u8],in_out: &mut [u8],) -> Result<(Nonce, Tag), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnboundKey::check_per_nonce_max_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:207,1
    - Dst: '&mut [u8]::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:207,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:210,1
    - Dst: UnboundKey::algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:210,1
    - Dst: '&''static Algorithm::tag_len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:210,1
    - Dst: '&mut [u8]::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:211,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:214,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:218,1
    - Dst: '&mut [u8]::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:219,1
    - Dst: aws_lc::EVP_AEAD_CTX_seal_scatter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:222,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:223,1
    - Dst: as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:223,1
    - Dst: '&mut [u8]::as_mut_ptr'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:224,1
    - Dst: '&mut [u8]::as_mut_ptr'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:225,1
    - Dst: '&mut [u8]::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:227,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:228,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:229,1
    - Dst: '&mut [u8]::as_ptr'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:230,1
    - Dst: '&mut [u8]::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:231,1
    - Dst: '&[u8]::as_ptr'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:232,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:233,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:234,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:235,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:238,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 63
    argCount: 5
    argNames:
    - nonce
    - aad
    - in_out
    - extra_in
    - extra_out_and_tag
    argTypes:
    - Nonce
    - '&[u8]'
    - '&mut [u8]'
    - '&[u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 241
      start: 199
    functionDepth: 10
    functionLinenumber: 199
    functionLinenumberEnd: 241
    functionName: UnboundKey::seal_in_place_separate_scatter
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::as_ptr'
    - UnboundKey::algorithm
    - '&mut [u8]::as_mut_ptr'
    - '&[u8]::len'
    - '&''static Algorithm::tag_len'
    - aws_lc::EVP_AEAD_CTX_seal_scatter
    - '&mut [u8]::as_ptr'
    - Err
    - '&mut [u8]::len'
    - UnboundKey::check_per_nonce_max_bytes
    - as_ptr
    - len
    - as_const_ptr
    - as_ref
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn seal_in_place_separate_scatter(&self,nonce: Nonce,aad:
      &[u8],in_out: &mut [u8],extra_in: &[u8],extra_out_and_tag: &mut [u8],) -> Result<(),
      Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: algorithm
      Src: /src/spdm-rs/external/ring/src/aead/unbound_key.rs:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 8
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: UnboundKey::algorithm
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/unbound_key.rs
    functionUses: 8
    functionsReached:
    - algorithm
    linkageType: ''
    returnType: '&''static Algorithm'
    signature: pub fn algorithm(&self) -> &'static Algorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnboundKey::algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:252,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:253,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - in_out_len
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 256
      start: 251
    functionDepth: 9
    functionLinenumber: 251
    functionLinenumberEnd: 256
    functionName: UnboundKey::check_per_nonce_max_bytes
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs
    functionUses: 5
    functionsReached:
    - UnboundKey::algorithm
    - Err
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn check_per_nonce_max_bytes(&self, in_out_len: usize)
      -> Result<(), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:266,1
    - Dst: '&mut [u8]::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:270,1
    - Dst: UnboundKey::algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:270,1
    - Dst: '&''static Algorithm::tag_len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:270,1
    - Dst: MaybeUninit::<usize>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:272,1
    - Dst: fips::indicator_check
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:273,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:287,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 3
    argNames:
    - nonce
    - aad
    - in_out
    argTypes:
    - Nonce
    - '&[u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 291
      start: 260
    functionDepth: 9
    functionLinenumber: 260
    functionLinenumberEnd: 291
    functionName: UnboundKey::open_combined
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs
    functionUses: 1
    functionsReached:
    - UnboundKey::algorithm
    - '&''static Algorithm::tag_len'
    - Err
    - '&mut [u8]::len'
    - MaybeUninit::<usize>::uninit
    - fips::indicator_check
    - as_ref
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn open_combined(&self,nonce: Nonce,aad: &[u8],in_out: &mut [u8],)
      -> Result<(), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:301,1
    - Dst: UnboundKey::algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:303,1
    - Dst: '&''static Algorithm::nonce_len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:303,1
    - Dst: UnboundKey::algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:304,1
    - Dst: '&''static Algorithm::tag_len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:304,1
    - Dst: '&mut [u8]::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:309,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:313,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:315,1
    - Dst: fips::indicator_check
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:319,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:333,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 43
    argCount: 3
    argNames:
    - nonce
    - aad
    - in_out
    argTypes:
    - Nonce
    - '&[u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 337
      start: 295
    functionDepth: 9
    functionLinenumber: 295
    functionLinenumberEnd: 337
    functionName: UnboundKey::open_combined_randnonce
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs
    functionUses: 1
    functionsReached:
    - UnboundKey::algorithm
    - '&''static Algorithm::tag_len'
    - Err
    - '&mut [u8]::len'
    - fips::indicator_check
    - copy_from_slice
    - '&''static Algorithm::nonce_len'
    - as_ref
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn open_combined_randnonce(&self,nonce: Nonce,aad: &[u8],in_out: &mut
      [u8],) -> Result<(), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut InOut::as_mut'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:349,1
    - Dst: '&mut [u8]::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:349,1
    - Dst: UnboundKey::algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:351,1
    - Dst: '&''static Algorithm::tag_len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:351,1
    - Dst: '&mut InOut::extend'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:357,1
    - Dst: iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:357,1
    - Dst: MaybeUninit::<usize>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:359,1
    - Dst: '&mut InOut::as_mut'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:360,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:363,1
    - Dst: fips::indicator_check
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:367,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:381,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 3
    argNames:
    - nonce
    - aad
    - in_out
    argTypes:
    - Nonce
    - '&[u8]'
    - '&mut InOut'
    constantsTouched: []
    func_position:
      end: 386
      start: 340
    functionDepth: 9
    functionLinenumber: 340
    functionLinenumberEnd: 386
    functionName: UnboundKey::seal_combined
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs
    functionUses: 1
    functionsReached:
    - UnboundKey::algorithm
    - '&''static Algorithm::tag_len'
    - '&mut InOut::as_mut'
    - iter
    - Err
    - '&mut [u8]::len'
    - MaybeUninit::<usize>::uninit
    - fips::indicator_check
    - as_ref
    - Ok
    - '&mut InOut::extend'
    linkageType: ''
    returnType: Result
    signature: 'fn seal_combined<InOut>(&self,nonce: Nonce,aad: &[u8],in_out: &mut
      InOut,) -> Result<Nonce, Unspecified>whereInOut: AsMut<[u8]> + for<''in_out>
      Extend<&''in_out u8>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MaybeUninit::<usize>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:399,1
    - Dst: '&mut InOut::as_mut'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:402,1
    - Dst: '&mut [u8]::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:402,1
    - Dst: '&mut [u8]::as_mut'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:403,1
    - Dst: fips::indicator_check
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:405,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:422,1
    - Dst: UnboundKey::algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:426,1
    - Dst: '&''static Algorithm::tag_len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:426,1
    - Dst: UnboundKey::algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:427,1
    - Dst: '&''static Algorithm::nonce_len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:427,1
    - Dst: super::Nonce
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:429,1
    - Dst: FixedLength::<NONCE_LEN>::try_from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:429,1
    - Dst: '&mut [u8]::extend'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:433,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:435,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 2
    argNames:
    - aad
    - in_out
    argTypes:
    - '&[u8]'
    - '&mut InOut'
    constantsTouched: []
    func_position:
      end: 436
      start: 389
    functionDepth: 9
    functionLinenumber: 389
    functionLinenumberEnd: 436
    functionName: UnboundKey::seal_combined_randnonce
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs
    functionUses: 1
    functionsReached:
    - FixedLength::<NONCE_LEN>::try_from
    - UnboundKey::algorithm
    - super::Nonce
    - '&''static Algorithm::tag_len'
    - Err
    - '&mut [u8]::len'
    - MaybeUninit::<usize>::uninit
    - '&mut [u8]::extend'
    - fips::indicator_check
    - '&''static Algorithm::nonce_len'
    - '&mut [u8]::as_mut'
    - Ok
    - '&mut InOut::as_mut'
    linkageType: ''
    returnType: Result
    signature: 'fn seal_combined_randnonce<InOut>(&self,aad: &[u8],in_out: &mut InOut,)
      -> Result<Nonce, Unspecified>whereInOut: AsMut<[u8]> + for<''in_out> Extend<&''in_out
      u8>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MaybeUninit::<usize>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:446,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:448,1
    - Dst: fips::indicator_check
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:452,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:469,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:472,1
    - Dst: super::Tag
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:472,1
    - Dst: DigestContext::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:472,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - nonce
    - aad
    - in_out
    argTypes:
    - Nonce
    - '&[u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 473
      start: 439
    functionDepth: 2
    functionLinenumber: 439
    functionLinenumberEnd: 473
    functionName: UnboundKey::seal_separate
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs
    functionUses: 1
    functionsReached:
    - super::Tag
    - Err
    - MaybeUninit::<usize>::uninit
    - fips::indicator_check
    - as_ref
    - DigestContext::assume_init
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn seal_separate(&self,nonce: Nonce,aad: &[u8],in_out: &mut [u8],)
      -> Result<(Nonce, Tag), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MaybeUninit::<usize>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:487,1
    - Dst: fips::indicator_check
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:489,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:506,1
    - Dst: UnboundKey::algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:509,1
    - Dst: '&''static Algorithm::tag_len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:509,1
    - Dst: UnboundKey::algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:510,1
    - Dst: '&''static Algorithm::nonce_len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:510,1
    - Dst: super::Nonce
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:512,1
    - Dst: FixedLength::<NONCE_LEN>::try_from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:512,1
    - Dst: Tag::copy_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:517,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:519,1
    - Dst: super::Tag
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs:519,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 2
    argNames:
    - aad
    - in_out
    argTypes:
    - '&[u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 520
      start: 476
    functionDepth: 9
    functionLinenumber: 476
    functionLinenumberEnd: 520
    functionName: UnboundKey::seal_separate_randnonce
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs
    functionUses: 1
    functionsReached:
    - UnboundKey::algorithm
    - super::Nonce
    - '&''static Algorithm::tag_len'
    - super::Tag
    - Tag::copy_from_slice
    - Err
    - MaybeUninit::<usize>::uninit
    - fips::indicator_check
    - '&''static Algorithm::nonce_len'
    - FixedLength::<NONCE_LEN>::try_from
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn seal_separate_randnonce(&self,aad: &[u8],in_out: &mut [u8],) ->
      Result<(Nonce, Tag), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::len
      Src: /src/spdm-rs/external/ring/src/aead/unbound_key.rs:67,1
    - Dst: usize::key_len
      Src: /src/spdm-rs/external/ring/src/aead/unbound_key.rs:67,1
    - Dst: Option::len
      Src: /src/spdm-rs/external/ring/src/aead/unbound_key.rs:68,1
    - Dst: Option::fill
      Src: /src/spdm-rs/external/ring/src/aead/unbound_key.rs:69,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/ring/src/aead/unbound_key.rs:69,1
    - Dst: LessSafeKey::new_
      Src: /src/spdm-rs/external/ring/src/aead/unbound_key.rs:71,1
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/aead/unbound_key.rs:71,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/src/aead/unbound_key.rs:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 1
    argNames:
    - okm
    argTypes:
    - hkdf::Okm<&'static Algorithm>
    constantsTouched: []
    func_position:
      end: 73
      start: 65
    functionDepth: 14
    functionLinenumber: 65
    functionLinenumberEnd: 73
    functionName: UnboundKey::from
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/unbound_key.rs
    functionUses: 4
    functionsReached:
    - LessSafeKey::new_
    - unwrap
    - cpu::features
    - usize::key_len
    - Result::unwrap
    - Option::len
    - Option::fill
    linkageType: ''
    returnType: Self
    signature: 'fn from(okm: hkdf::Okm<&''static Algorithm>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::try_into
      Src: /src/spdm-rs/external/ring/src/aead/nonce.rs:32,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/aead/nonce.rs:33,1
    - Dst: Self::assume_unique_for_key
      Src: /src/spdm-rs/external/ring/src/aead/nonce.rs:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 4
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: Nonce::try_assume_unique_for_key
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/nonce.rs
    functionUses: 12
    functionsReached:
    - Self::assume_unique_for_key
    - u8::try_into
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn try_assume_unique_for_key(value: &[u8]) -> Result<Self, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/ring/src/aead/nonce.rs:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - '[u8; NONCE_LEN]'
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: Nonce::assume_unique_for_key
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/nonce.rs
    functionUses: 11
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: 'pub fn assume_unique_for_key(value: [u8; NONCE_LEN]) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: Nonce::as_ref
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/nonce.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8; NONCE_LEN]'
    signature: fn as_ref(&self) -> &[u8; NONCE_LEN]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce.rs:88,1
    - Dst: Nonce
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce.rs:89,1
    - Dst: FixedLength::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce.rs:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&[u8; IV_LEN]'
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: Nonce::from
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce.rs
    functionUses: 3
    functionsReached:
    - Nonce
    - FixedLength::from
    - copy_from_slice
    linkageType: ''
    returnType: Self
    signature: 'fn from(bytes: &[u8; IV_LEN]) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Nonce::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce.rs:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 107
    functionName: tests::test_nonce_from_byte_array
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce.rs
    functionUses: 0
    functionsReached:
    - Nonce::from
    linkageType: ''
    returnType: void
    signature: fn test_nonce_from_byte_array()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AeadCtx::chacha20
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/chacha.rs:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - key
    - tag_len
    argTypes:
    - '&[u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 6
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: init_chacha_aead
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/chacha.rs
    functionUses: 0
    functionsReached:
    - AeadCtx::chacha20
    linkageType: ''
    returnType: Result
    signature: 'fn init_chacha_aead(key: &[u8], tag_len: usize) -> Result<AeadCtx,
      error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::len
      Src: /src/spdm-rs/external/ring/src/aead/quic.rs:39,1
    - Dst: key_len
      Src: /src/spdm-rs/external/ring/src/aead/quic.rs:40,1
    - Dst: Option::fill
      Src: /src/spdm-rs/external/ring/src/aead/quic.rs:41,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/ring/src/aead/quic.rs:41,1
    - Dst: Self::new
      Src: /src/spdm-rs/external/ring/src/aead/quic.rs:42,1
    - Dst: Self::unwrap
      Src: /src/spdm-rs/external/ring/src/aead/quic.rs:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - okm
    argTypes:
    - hkdf::Okm<&'static Algorithm>
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 5
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: HeaderProtectionKey::from
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/quic.rs
    functionUses: 1
    functionsReached:
    - Option::fill
    - Self::unwrap
    - unwrap
    - Option::len
    - key_len
    - Self::new
    linkageType: ''
    returnType: Self
    signature: 'fn from(okm: hkdf::Okm<&''static Algorithm>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/aead/quic.rs:54,1
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/aead/quic.rs:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - algorithm
    - key_bytes
    argTypes:
    - '&''static Algorithm'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 14
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: HeaderProtectionKey::new
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/quic.rs
    functionUses: 6
    functionsReached:
    - Ok
    - cpu::features
    linkageType: ''
    returnType: Result
    signature: 'pub fn new(algorithm: &''static Algorithm,key_bytes: &[u8],) -> Result<Self,
      error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: <&[u8; SAMPLE_LEN]>::try_from
      Src: /src/spdm-rs/external/ring/src/aead/quic.rs:64,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/aead/quic.rs:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - sample
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: HeaderProtectionKey::new_mask
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/quic.rs
    functionUses: 0
    functionsReached:
    - <&[u8; SAMPLE_LEN]>::try_from
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn new_mask(&self, sample: &[u8]) -> Result<[u8; 5], error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: HeaderProtectionKey::algorithm
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/quic.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''static Algorithm'
    signature: pub fn algorithm(&self) -> &'static Algorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: Algorithm::sample_len
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/quic.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub fn sample_len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block::Block::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/quic.rs:148,1
    - Dst: cipher::aes::encrypt_block
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/quic.rs:153,1
    - Dst: SpdmSupportedAlgorithmsBlock::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/quic.rs:155,1
    - Dst: try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/quic.rs:156,1
    - Dst: map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/quic.rs:156,1
    - Dst: try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/quic.rs:159,1
    - Dst: map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/quic.rs:159,1
    - Dst: block::Block::zero
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/quic.rs:162,1
    - Dst: u32::from_ne_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/quic.rs:163,1
    - Dst: to_le
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/quic.rs:163,1
    - Dst: cipher::chacha::encrypt_block_chacha20
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/quic.rs:164,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/quic.rs:180,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/quic.rs:180,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/quic.rs:181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 2
    argNames:
    - cipher_key
    - sample
    argTypes:
    - '&SymmetricCipherKey'
    - Sample
    constantsTouched: []
    func_position:
      end: 182
      start: 144
    functionDepth: 4
    functionLinenumber: 144
    functionLinenumberEnd: 182
    functionName: cipher_new_mask
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/quic.rs
    functionUses: 0
    functionsReached:
    - map_err
    - to_le
    - cipher::chacha::encrypt_block_chacha20
    - SpdmSupportedAlgorithmsBlock::as_ref
    - u32::from_ne_bytes
    - block::Block::zero
    - cipher::aes::encrypt_block
    - copy_from_slice
    - try_into
    - block::Block::from
    - Ok
    - as_ref
    linkageType: ''
    returnType: Result
    signature: 'fn cipher_new_mask(cipher_key: &SymmetricCipherKey,sample: Sample,)
      -> Result<[u8; 5], error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::compile_time_assert_send::<Algorithm>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/quic.rs:191,1
    - Dst: test::compile_time_assert_sync::<Algorithm>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/quic.rs:192,1
    - Dst: test::compile_time_assert_send::<HeaderProtectionKey>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/quic.rs:194,1
    - Dst: test::compile_time_assert_sync::<HeaderProtectionKey>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/quic.rs:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 196
    functionName: test::test_types
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/quic.rs
    functionUses: 0
    functionsReached:
    - test::compile_time_assert_send::<Algorithm>
    - test::compile_time_assert_sync::<Algorithm>
    - test::compile_time_assert_send::<HeaderProtectionKey>
    - test::compile_time_assert_sync::<HeaderProtectionKey>
    linkageType: ''
    returnType: void
    signature: fn test_types()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::Features::get_feature
      Src: /src/spdm-rs/external/ring/src/aead/poly1305.rs:50,1
    - Dst: ffi_arm_neon::State::new_context
      Src: /src/spdm-rs/external/ring/src/aead/poly1305.rs:51,1
    - Dst: ffi_fallback::State::new_context
      Src: /src/spdm-rs/external/ring/src/aead/poly1305.rs:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - key
    - cpu
    argTypes:
    - Key
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 11
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: Context::from_key
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/poly1305.rs
    functionUses: 2
    functionsReached:
    - ffi_fallback::State::new_context
    - ffi_arm_neon::State::new_context
    - cpu::Features::get_feature
    linkageType: ''
    returnType: Self
    signature: 'pub(super) fn from_key(key: Key, cpu: cpu::Features) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/aead/poly1305.rs:100,1
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/src/aead/poly1305.rs:101,1
    - Dst: test_vector_file
      Src: /src/spdm-rs/external/ring/src/aead/poly1305.rs:102,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/src/aead/poly1305.rs:105,1
    - Dst: bool::as_slice
      Src: /src/spdm-rs/external/ring/src/aead/poly1305.rs:106,1
    - Dst: '&[P::T]::try_into'
      Src: /src/spdm-rs/external/ring/src/aead/poly1305.rs:106,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/src/aead/poly1305.rs:106,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/src/aead/poly1305.rs:107,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/src/aead/poly1305.rs:108,1
    - Dst: Key::new
      Src: /src/spdm-rs/external/ring/src/aead/poly1305.rs:109,1
    - Dst: sign
      Src: /src/spdm-rs/external/ring/src/aead/poly1305.rs:110,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/aead/poly1305.rs:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 99
    functionDepth: 14
    functionLinenumber: 99
    functionLinenumberEnd: 116
    functionName: tests::test_poly1305
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/poly1305.rs
    functionUses: 0
    functionsReached:
    - '&[P::T]::try_into'
    - bool::as_slice
    - sign
    - cpu::features
    - Result::unwrap
    - Key::new
    - test_vector_file
    - Option::consume_bytes
    - test::run
    - Ok
    linkageType: ''
    returnType: void
    signature: pub fn test_poly1305()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - AeadDirection
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: evp_aead_direction_t::from
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'fn from(value: AeadDirection) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:65,1
    - Dst: AeadCtx::AES_128_GCM
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:65,1
    - Dst: AeadCtx::aes_128_context
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - key_bytes
    - tag_len
    argTypes:
    - '&[u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 6
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: AeadCtx::aes_128_gcm
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs
    functionUses: 1
    functionsReached:
    - AeadCtx::aes_128_context
    - AeadCtx::AES_128_GCM
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn aes_128_gcm(key_bytes: &[u8], tag_len: usize) -> Result<Self,
      Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:74,1
    - Dst: AeadCtx::AES_128_GCM_SIV
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:74,1
    - Dst: AeadCtx::aes_128_context
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - key_bytes
    - tag_len
    argTypes:
    - '&[u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 6
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: AeadCtx::aes_128_gcm_siv
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs
    functionUses: 2
    functionsReached:
    - AeadCtx::aes_128_context
    - AeadCtx::AES_128_GCM_SIV
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn aes_128_gcm_siv(key_bytes: &[u8], tag_len: usize) ->
      Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:83,1
    - Dst: AeadCtx::AES_192_GCM
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:83,1
    - Dst: AeadCtx::aes_192_context
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - key_bytes
    - tag_len
    argTypes:
    - '&[u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 89
      start: 82
    functionDepth: 6
    functionLinenumber: 82
    functionLinenumberEnd: 89
    functionName: AeadCtx::aes_192_gcm
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs
    functionUses: 1
    functionsReached:
    - AeadCtx::AES_192_GCM
    - Ok
    - AeadCtx::aes_192_context
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn aes_192_gcm(key_bytes: &[u8], tag_len: usize) -> Result<Self,
      Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:92,1
    - Dst: AeadCtx::AES_256_GCM
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:92,1
    - Dst: AeadCtx::aes_256_context
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - key_bytes
    - tag_len
    argTypes:
    - '&[u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 98
      start: 91
    functionDepth: 6
    functionLinenumber: 91
    functionLinenumberEnd: 98
    functionName: AeadCtx::aes_256_gcm
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs
    functionUses: 1
    functionsReached:
    - AeadCtx::AES_256_GCM
    - Ok
    - AeadCtx::aes_256_context
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn aes_256_gcm(key_bytes: &[u8], tag_len: usize) -> Result<Self,
      Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:101,1
    - Dst: AeadCtx::AES_256_GCM_SIV
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:101,1
    - Dst: AeadCtx::aes_256_context
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - key_bytes
    - tag_len
    argTypes:
    - '&[u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 107
      start: 100
    functionDepth: 6
    functionLinenumber: 100
    functionLinenumberEnd: 107
    functionName: AeadCtx::aes_256_gcm_siv
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs
    functionUses: 2
    functionsReached:
    - AeadCtx::AES_256_GCM_SIV
    - Ok
    - AeadCtx::aes_256_context
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn aes_256_gcm_siv(key_bytes: &[u8], tag_len: usize) ->
      Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:114,1
    - Dst: AeadCtx::AES_128_GCM_RANDNONCE
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:114,1
    - Dst: AeadCtx::aes_128_context
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - key_bytes
    - tag_len
    - nonce_len
    argTypes:
    - '&[u8]'
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 120
      start: 109
    functionDepth: 6
    functionLinenumber: 109
    functionLinenumberEnd: 120
    functionName: AeadCtx::aes_128_gcm_randnonce
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs
    functionUses: 1
    functionsReached:
    - AeadCtx::aes_128_context
    - AeadCtx::AES_128_GCM_RANDNONCE
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn aes_128_gcm_randnonce(key_bytes: &[u8],tag_len: usize,nonce_len:
      usize,) -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:127,1
    - Dst: AeadCtx::AES_256_GCM_RANDNONCE
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:127,1
    - Dst: AeadCtx::aes_256_context
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - key_bytes
    - tag_len
    - nonce_len
    argTypes:
    - '&[u8]'
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 133
      start: 122
    functionDepth: 6
    functionLinenumber: 122
    functionLinenumberEnd: 133
    functionName: AeadCtx::aes_256_gcm_randnonce
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs
    functionUses: 1
    functionsReached:
    - AeadCtx::AES_256_GCM_RANDNONCE
    - Ok
    - AeadCtx::aes_256_context
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn aes_256_gcm_randnonce(key_bytes: &[u8],tag_len: usize,nonce_len:
      usize,) -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:140,1
    - Dst: AeadCtx::AES_128_GCM_TLS12
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:140,1
    - Dst: AeadCtx::aes_128_context
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:140,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - key_bytes
    - tag_len
    - direction
    argTypes:
    - '&[u8]'
    - usize
    - AeadDirection
    constantsTouched: []
    func_position:
      end: 146
      start: 135
    functionDepth: 6
    functionLinenumber: 135
    functionLinenumberEnd: 146
    functionName: AeadCtx::aes_128_gcm_tls12
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs
    functionUses: 2
    functionsReached:
    - AeadCtx::aes_128_context
    - AeadCtx::AES_128_GCM_TLS12
    - Ok
    - Some
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn aes_128_gcm_tls12(key_bytes: &[u8],tag_len: usize,direction:
      AeadDirection,) -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:153,1
    - Dst: AeadCtx::AES_256_GCM_TLS12
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:153,1
    - Dst: AeadCtx::aes_256_context
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:153,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - key_bytes
    - tag_len
    - direction
    argTypes:
    - '&[u8]'
    - usize
    - AeadDirection
    constantsTouched: []
    func_position:
      end: 159
      start: 148
    functionDepth: 6
    functionLinenumber: 148
    functionLinenumberEnd: 159
    functionName: AeadCtx::aes_256_gcm_tls12
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs
    functionUses: 2
    functionsReached:
    - AeadCtx::AES_256_GCM_TLS12
    - Ok
    - AeadCtx::aes_256_context
    - Some
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn aes_256_gcm_tls12(key_bytes: &[u8],tag_len: usize,direction:
      AeadDirection,) -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:166,1
    - Dst: AeadCtx::AES_128_GCM_TLS13
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:166,1
    - Dst: AeadCtx::aes_128_context
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:166,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - key_bytes
    - tag_len
    - direction
    argTypes:
    - '&[u8]'
    - usize
    - AeadDirection
    constantsTouched: []
    func_position:
      end: 172
      start: 161
    functionDepth: 6
    functionLinenumber: 161
    functionLinenumberEnd: 172
    functionName: AeadCtx::aes_128_gcm_tls13
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs
    functionUses: 2
    functionsReached:
    - AeadCtx::aes_128_context
    - AeadCtx::AES_128_GCM_TLS13
    - Ok
    - Some
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn aes_128_gcm_tls13(key_bytes: &[u8],tag_len: usize,direction:
      AeadDirection,) -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:179,1
    - Dst: AeadCtx::AES_256_GCM_TLS13
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:179,1
    - Dst: AeadCtx::aes_256_context
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:179,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - key_bytes
    - tag_len
    - direction
    argTypes:
    - '&[u8]'
    - usize
    - AeadDirection
    constantsTouched: []
    func_position:
      end: 185
      start: 174
    functionDepth: 6
    functionLinenumber: 174
    functionLinenumberEnd: 185
    functionName: AeadCtx::aes_256_gcm_tls13
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs
    functionUses: 2
    functionsReached:
    - AeadCtx::AES_256_GCM_TLS13
    - Ok
    - AeadCtx::aes_256_context
    - Some
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn aes_256_gcm_tls13(key_bytes: &[u8],tag_len: usize,direction:
      AeadDirection,) -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:188,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:189,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:191,1
    - Dst: AeadCtx::CHACHA20_POLY1305
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:191,1
    - Dst: AeadCtx::build_context
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - key_bytes
    - tag_len
    argTypes:
    - '&[u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 197
      start: 187
    functionDepth: 5
    functionLinenumber: 187
    functionLinenumberEnd: 197
    functionName: AeadCtx::chacha20
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs
    functionUses: 1
    functionsReached:
    - Err
    - Option::len
    - AeadCtx::CHACHA20_POLY1305
    - Ok
    - AeadCtx::build_context
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn chacha20(key_bytes: &[u8], tag_len: usize) -> Result<Self,
      Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:205,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:206,1
    - Dst: AeadCtx::build_context
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - aead
    - key_bytes
    - tag_len
    - direction
    argTypes:
    - unsafe extern "C" fn() -> *const aws_lc::evp_aead_st
    - '&[u8]'
    - usize
    - Option<AeadDirection>
    constantsTouched: []
    func_position:
      end: 209
      start: 199
    functionDepth: 5
    functionLinenumber: 199
    functionLinenumberEnd: 209
    functionName: AeadCtx::aes_128_context
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs
    functionUses: 5
    functionsReached:
    - AeadCtx::build_context
    - Err
    - Option::len
    linkageType: ''
    returnType: Result
    signature: 'fn aes_128_context(aead: unsafe extern "C" fn() -> *const aws_lc::evp_aead_st,key_bytes:
      &[u8],tag_len: usize,direction: Option<AeadDirection>,) -> Result<LcPtr<EVP_AEAD_CTX>,
      Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:217,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:218,1
    - Dst: AeadCtx::build_context
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - aead
    - key_bytes
    - tag_len
    - direction
    argTypes:
    - unsafe extern "C" fn() -> *const aws_lc::evp_aead_st
    - '&[u8]'
    - usize
    - Option<AeadDirection>
    constantsTouched: []
    func_position:
      end: 221
      start: 211
    functionDepth: 5
    functionLinenumber: 211
    functionLinenumberEnd: 221
    functionName: AeadCtx::aes_192_context
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs
    functionUses: 1
    functionsReached:
    - AeadCtx::build_context
    - Err
    - Option::len
    linkageType: ''
    returnType: Result
    signature: 'fn aes_192_context(aead: unsafe extern "C" fn() -> *const aws_lc::evp_aead_st,key_bytes:
      &[u8],tag_len: usize,direction: Option<AeadDirection>,) -> Result<LcPtr<EVP_AEAD_CTX>,
      Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:229,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:230,1
    - Dst: AeadCtx::build_context
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - aead
    - key_bytes
    - tag_len
    - direction
    argTypes:
    - unsafe extern "C" fn() -> *const aws_lc::evp_aead_st
    - '&[u8]'
    - usize
    - Option<AeadDirection>
    constantsTouched: []
    func_position:
      end: 233
      start: 223
    functionDepth: 5
    functionLinenumber: 223
    functionLinenumberEnd: 233
    functionName: AeadCtx::aes_256_context
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs
    functionUses: 5
    functionsReached:
    - AeadCtx::build_context
    - Err
    - Option::len
    linkageType: ''
    returnType: Result
    signature: 'fn aes_256_context(aead: unsafe extern "C" fn() -> *const aws_lc::evp_aead_st,key_bytes:
      &[u8],tag_len: usize,direction: Option<AeadDirection>,) -> Result<LcPtr<EVP_AEAD_CTX>,
      Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aead_fn
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:241,1
    - Dst: LcPtr::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:246,1
    - Dst: aws_lc::OPENSSL_malloc
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:246,1
    - Dst: size_of::<EVP_AEAD_CTX>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:246,1
    - Dst: cast
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:246,1
    - Dst: aws_lc::EVP_AEAD_CTX_zero
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:248,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:248,1
    - Dst: aws_lc::EVP_AEAD_CTX_init_with_direction
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:252,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:253,1
    - Dst: Option::as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:255,1
    - Dst: Option::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:256,1
    - Dst: Option<AeadDirection>::into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:258,1
    - Dst: EVP_AEAD_CTX_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:262,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:263,1
    - Dst: Option::as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:265,1
    - Dst: Option::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:266,1
    - Dst: core::ptr::null_mut
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:268,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:272,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs:274,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 4
    argNames:
    - aead_fn
    - key_bytes
    - tag_len
    - direction
    argTypes:
    - unsafe extern "C" fn() -> *const aws_lc::evp_aead_st
    - '&[u8]'
    - usize
    - Option<AeadDirection>
    constantsTouched: []
    func_position:
      end: 275
      start: 235
    functionDepth: 4
    functionLinenumber: 235
    functionLinenumberEnd: 275
    functionName: AeadCtx::build_context
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs
    functionUses: 4
    functionsReached:
    - LcPtr::new
    - size_of::<EVP_AEAD_CTX>
    - aws_lc::EVP_AEAD_CTX_zero
    - Option::as_ptr
    - aead_fn
    - as_mut_ptr
    - Err
    - aws_lc::OPENSSL_malloc
    - aws_lc::EVP_AEAD_CTX_init_with_direction
    - cast
    - Option::len
    - Option<AeadDirection>::into
    - EVP_AEAD_CTX_init
    - core::ptr::null_mut
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn build_context(aead_fn: unsafe extern "C" fn() -> *const aws_lc::evp_aead_st,key_bytes:
      &[u8],tag_len: usize,direction: Option<AeadDirection>,) -> Result<LcPtr<EVP_AEAD_CTX>,
      Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 295
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 295
    functionName: AeadCtx::as_ref
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&LcPtr'
    signature: fn as_ref(&self) -> &LcPtr<EVP_AEAD_CTX>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305_openssh.rs:128,1
    - Dst: encrypt_single_block_with_ctr_0
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305_openssh.rs:130,1
    - Dst: make_nonce
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305_openssh.rs:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - sequence_number
    - encrypted_packet_length
    argTypes:
    - u32
    - '[u8; PACKET_LENGTH_LEN]'
    constantsTouched: []
    func_position:
      end: 136
      start: 123
    functionDepth: 14
    functionLinenumber: 123
    functionLinenumberEnd: 136
    functionName: OpeningKey::decrypt_packet_length
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305_openssh.rs
    functionUses: 0
    functionsReached:
    - make_nonce
    - encrypt_single_block_with_ctr_0
    - cpu::features
    linkageType: ''
    returnType: '[u8; PACKET_LENGTH_LEN]'
    signature: 'pub fn decrypt_packet_length(&self,sequence_number: u32,encrypted_packet_length:
      [u8; PACKET_LENGTH_LEN],) -> [u8; PACKET_LENGTH_LEN]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_be_bytes
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305_openssh.rs:200,1
    - Dst: Nonce::assume_unique_for_key
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305_openssh.rs:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sequence_number
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 3
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: make_nonce
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305_openssh.rs
    functionUses: 2
    functionsReached:
    - Nonce::assume_unique_for_key
    - to_be_bytes
    linkageType: ''
    returnType: Nonce
    signature: 'fn make_nonce(sequence_number: u32) -> Nonce'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&ChaCha20Key::encrypt_in_place'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/chacha20_poly1305_openssh.rs:200,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/chacha20_poly1305_openssh.rs:200,1
    - Dst: poly1305::Key::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/chacha20_poly1305_openssh.rs:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - chacha_key
    - nonce
    argTypes:
    - '&ChaCha20Key'
    - Nonce
    constantsTouched: []
    func_position:
      end: 202
      start: 198
    functionDepth: 5
    functionLinenumber: 198
    functionLinenumberEnd: 202
    functionName: derive_poly1305_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/chacha20_poly1305_openssh.rs
    functionUses: 1
    functionsReached:
    - poly1305::Key::new
    - '&ChaCha20Key::encrypt_in_place'
    - as_ref
    linkageType: ''
    returnType: poly1305::Key
    signature: 'pub(super) fn derive_poly1305_key(chacha_key: &ChaCha20Key, nonce:
      Nonce) -> poly1305::Key'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/chacha20_poly1305_openssh.rs:217,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/chacha20_poly1305_openssh.rs:217,1
    - Dst: test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/chacha20_poly1305_openssh.rs:220,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/chacha20_poly1305_openssh.rs:220,1
    - Dst: '&[P::T]::as_slice'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/chacha20_poly1305_openssh.rs:222,1
    - Dst: <[u8; 32]>::try_from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/chacha20_poly1305_openssh.rs:223,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/chacha20_poly1305_openssh.rs:223,1
    - Dst: ChaCha20Key::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/chacha20_poly1305_openssh.rs:224,1
    - Dst: Nonce::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/chacha20_poly1305_openssh.rs:226,1
    - Dst: derive_poly1305_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/chacha20_poly1305_openssh.rs:227,1
    - Dst: Nonce::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/chacha20_poly1305_openssh.rs:232,1
    - Dst: LittleEndian::<u32>::from_array
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/chacha20_poly1305_openssh.rs:232,1
    - Dst: derive_poly1305_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/chacha20_poly1305_openssh.rs:233,1
    - Dst: Nonce::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/chacha20_poly1305_openssh.rs:238,1
    - Dst: BigEndian::<u32>::from_array
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/chacha20_poly1305_openssh.rs:238,1
    - Dst: derive_poly1305_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/chacha20_poly1305_openssh.rs:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 215
    functionDepth: 6
    functionLinenumber: 215
    functionLinenumberEnd: 242
    functionName: tests::derive_poly1305_test
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/chacha20_poly1305_openssh.rs
    functionUses: 0
    functionsReached:
    - derive_poly1305_key
    - LittleEndian::<u32>::from_array
    - '&[P::T]::as_slice'
    - <[u8; 32]>::try_from
    - Result::unwrap
    - Nonce::from
    - BigEndian::<u32>::from_array
    - test::from_hex
    - ChaCha20Key::from
    linkageType: ''
    returnType: void
    signature: fn derive_poly1305_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/chacha20_poly1305_openssh.rs:247,1
    - Dst: try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/chacha20_poly1305_openssh.rs:247,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/chacha20_poly1305_openssh.rs:247,1
    - Dst: SealingKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/chacha20_poly1305_openssh.rs:251,1
    - Dst: OpeningKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/chacha20_poly1305_openssh.rs:252,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/chacha20_poly1305_openssh.rs:255,1
    - Dst: '[u8; PACKET_LENGTH_LEN]::to_be_bytes'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/chacha20_poly1305_openssh.rs:256,1
    - Dst: Vec::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/chacha20_poly1305_openssh.rs:257,1
    - Dst: Self::extend_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/chacha20_poly1305_openssh.rs:259,1
    - Dst: Self::extend_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/chacha20_poly1305_openssh.rs:260,1
    - Dst: Self::seal_in_place
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/chacha20_poly1305_openssh.rs:263,1
    - Dst: to_owned
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/chacha20_poly1305_openssh.rs:265,1
    - Dst: try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/chacha20_poly1305_openssh.rs:265,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/chacha20_poly1305_openssh.rs:265,1
    - Dst: Self::decrypt_packet_length
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/chacha20_poly1305_openssh.rs:266,1
    - Dst: u32::from_be_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/chacha20_poly1305_openssh.rs:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 246
    functionDepth: 10
    functionLinenumber: 246
    functionLinenumberEnd: 269
    functionName: tests::test_decrypt_packet_length
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/chacha20_poly1305_openssh.rs
    functionUses: 0
    functionsReached:
    - SealingKey::new
    - test::from_dirty_hex
    - to_owned
    - unwrap
    - OpeningKey::new
    - u32::from_be_bytes
    - len
    - Self::extend_from_slice
    - '[u8; PACKET_LENGTH_LEN]::to_be_bytes'
    - Self::decrypt_packet_length
    - try_into
    - Self::seal_in_place
    - Vec::new
    linkageType: ''
    returnType: void
    signature: fn test_decrypt_packet_length()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AeadCtx::aes_128_gcm_randnonce
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/rand_nonce.rs:33,1
    - Dst: tag_len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/rand_nonce.rs:35,1
    - Dst: nonce_len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/rand_nonce.rs:36,1
    - Dst: AeadCtx::aes_256_gcm_randnonce
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/rand_nonce.rs:38,1
    - Dst: tag_len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/rand_nonce.rs:40,1
    - Dst: nonce_len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/rand_nonce.rs:41,1
    - Dst: AeadCtx::aes_128_gcm_siv
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/rand_nonce.rs:44,1
    - Dst: tag_len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/rand_nonce.rs:44,1
    - Dst: AeadCtx::aes_256_gcm_siv
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/rand_nonce.rs:47,1
    - Dst: tag_len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/rand_nonce.rs:47,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/rand_nonce.rs:49,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/rand_nonce.rs:51,1
    - Dst: UnboundKey::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/rand_nonce.rs:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 2
    argNames:
    - algorithm
    - key_bytes
    argTypes:
    - '&''static Algorithm'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 55
      start: 31
    functionDepth: 15
    functionLinenumber: 31
    functionLinenumberEnd: 55
    functionName: RandomizedNonceKey::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/rand_nonce.rs
    functionUses: 0
    functionsReached:
    - AeadCtx::aes_256_gcm_siv
    - AeadCtx::aes_128_gcm_siv
    - tag_len
    - Err
    - UnboundKey::from
    - nonce_len
    - AeadCtx::aes_256_gcm_randnonce
    - AeadCtx::aes_128_gcm_randnonce
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn new(algorithm: &''static Algorithm, key_bytes: &[u8]) -> Result<Self,
      Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: open_within
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/rand_nonce.rs:77,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/rand_nonce.rs:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - nonce
    - aad
    - in_out
    argTypes:
    - Nonce
    - Aad<A>
    - '&''in_out mut [u8]'
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 10
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: RandomizedNonceKey::open_in_place
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/rand_nonce.rs
    functionUses: 0
    functionsReached:
    - as_ref
    - open_within
    linkageType: ''
    returnType: Result
    signature: 'pub fn open_in_place<''in_out, A>(&self,nonce: Nonce,aad: Aad<A>,in_out:
      &''in_out mut [u8],) -> Result<&''in_out mut [u8], Unspecified>whereA: AsRef<[u8]>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crate::rand::fill
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/rand_nonce.rs:107,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/rand_nonce.rs:108,1
    - Dst: Nonce::try_assume_unique_for_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/rand_nonce.rs:108,1
    - Dst: as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/rand_nonce.rs:108,1
    - Dst: seal_in_place_append_tag
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/rand_nonce.rs:112,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/rand_nonce.rs:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - aad
    - in_out
    argTypes:
    - Aad<A>
    - '&''a mut InOut'
    constantsTouched: []
    func_position:
      end: 114
      start: 96
    functionDepth: 10
    functionLinenumber: 96
    functionLinenumberEnd: 114
    functionName: RandomizedNonceKey::seal_in_place_append_tag
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/rand_nonce.rs
    functionUses: 0
    functionsReached:
    - crate::rand::fill
    - Nonce::try_assume_unique_for_key
    - seal_in_place_append_tag
    - as_ref
    - as_slice
    - Some
    linkageType: ''
    returnType: Result
    signature: 'pub fn seal_in_place_append_tag<''a, A, InOut>(&self,aad: Aad<A>,in_out:
      &''a mut InOut,) -> Result<Nonce, Unspecified>whereA: AsRef<[u8]>,InOut: AsMut<[u8]>
      + for<''in_out> Extend<&''in_out u8>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crate::rand::fill
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/rand_nonce.rs:144,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/rand_nonce.rs:145,1
    - Dst: Nonce::try_assume_unique_for_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/rand_nonce.rs:145,1
    - Dst: as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/rand_nonce.rs:145,1
    - Dst: seal_in_place_separate_tag
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/rand_nonce.rs:149,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/rand_nonce.rs:150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - aad
    - in_out
    argTypes:
    - Aad<A>
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 151
      start: 134
    functionDepth: 16
    functionLinenumber: 134
    functionLinenumberEnd: 151
    functionName: RandomizedNonceKey::seal_in_place_separate_tag
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/rand_nonce.rs
    functionUses: 0
    functionsReached:
    - crate::rand::fill
    - seal_in_place_separate_tag
    - Nonce::try_assume_unique_for_key
    - as_ref
    - as_slice
    - Some
    linkageType: ''
    returnType: Result
    signature: 'pub fn seal_in_place_separate_tag<A>(&self,aad: Aad<A>,in_out: &mut
      [u8],) -> Result<(Nonce, Tag), Unspecified>whereA: AsRef<[u8]>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: RandomizedNonceKey::algorithm
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/rand_nonce.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''static Algorithm'
    signature: pub fn algorithm(&self) -> &'static Algorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::debug_struct
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/rand_nonce.rs:164,1
    - Dst: field
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/rand_nonce.rs:164,1
    - Dst: finish
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/rand_nonce.rs:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 11
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: RandomizedNonceKey::fmt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/rand_nonce.rs
    functionUses: 0
    functionsReached:
    - SpdmCertChainBuffer::debug_struct
    - finish
    - field
    linkageType: ''
    returnType: core::fmt::Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter<''_>) -> core::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AeadCtx::aes_128_gcm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aes_gcm.rs:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - key
    - tag_len
    argTypes:
    - '&[u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 7
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: init_128_aead
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aes_gcm.rs
    functionUses: 0
    functionsReached:
    - AeadCtx::aes_128_gcm
    linkageType: ''
    returnType: Result
    signature: 'fn init_128_aead(key: &[u8], tag_len: usize) -> Result<AeadCtx, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AeadCtx::aes_192_gcm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aes_gcm.rs:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - key
    - tag_len
    argTypes:
    - '&[u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 7
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: init_192_aead
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aes_gcm.rs
    functionUses: 0
    functionsReached:
    - AeadCtx::aes_192_gcm
    linkageType: ''
    returnType: Result
    signature: 'fn init_192_aead(key: &[u8], tag_len: usize) -> Result<AeadCtx, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AeadCtx::aes_256_gcm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aes_gcm.rs:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - key
    - tag_len
    argTypes:
    - '&[u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 7
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: init_256_aead
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aes_gcm.rs
    functionUses: 0
    functionsReached:
    - AeadCtx::aes_256_gcm
    linkageType: ''
    returnType: Result
    signature: 'fn init_256_aead(key: &[u8], tag_len: usize) -> Result<AeadCtx, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AeadCtx::aes_256_gcm_siv
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aes_gcm.rs:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - key
    - tag_len
    argTypes:
    - '&[u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 7
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: init_256_aead_siv
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aes_gcm.rs
    functionUses: 0
    functionsReached:
    - AeadCtx::aes_256_gcm_siv
    linkageType: ''
    returnType: Result
    signature: 'fn init_256_aead_siv(key: &[u8], tag_len: usize) -> Result<AeadCtx,
      Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AeadCtx::aes_128_gcm_siv
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aes_gcm.rs:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - key
    - tag_len
    argTypes:
    - '&[u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 7
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: init_128_aead_siv
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aes_gcm.rs
    functionUses: 0
    functionsReached:
    - AeadCtx::aes_128_gcm_siv
    linkageType: ''
    returnType: Result
    signature: 'fn init_128_aead_siv(key: &[u8], tag_len: usize) -> Result<AeadCtx,
      Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SealingKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips.rs:5,1
    - Dst: UnboundKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips.rs:6,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips.rs:6,1
    - Dst: Counter64Builder::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips.rs:7,1
    - Dst: Counter64Builder::build
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips.rs:7,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips.rs:10,1
    - Dst: fips::assert_fips_status_indicator
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips.rs:12,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips.rs:12,1
    - Dst: OpeningKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips.rs:18,1
    - Dst: UnboundKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips.rs:19,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips.rs:19,1
    - Dst: Counter64Builder::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips.rs:20,1
    - Dst: Counter64Builder::build
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips.rs:20,1
    - Dst: fips::assert_fips_status_indicator
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips.rs:23,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips.rs:23,1
    - Dst: SealingKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips.rs:33,1
    - Dst: UnboundKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips.rs:34,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips.rs:34,1
    - Dst: Counter64Builder::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips.rs:35,1
    - Dst: Counter64Builder::build
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips.rs:35,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips.rs:38,1
    - Dst: fips::assert_fips_status_indicator
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips.rs:40,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips.rs:40,1
    - Dst: Self::extend
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips.rs:46,1
    - Dst: Tag::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips.rs:46,1
    - Dst: '&[u8]::iter'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips.rs:46,1
    - Dst: OpeningKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips.rs:48,1
    - Dst: UnboundKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips.rs:49,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips.rs:49,1
    - Dst: Counter64Builder::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips.rs:50,1
    - Dst: Counter64Builder::build
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips.rs:50,1
    - Dst: fips::assert_fips_status_indicator
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips.rs:53,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips.rs:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 32
    functionDepth: 15
    functionLinenumber: 32
    functionLinenumberEnd: 95
    functionName: nonce_sequence_api
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips.rs
    functionUses: 0
    functionsReached:
    - SealingKey::new
    - '&[u8]::iter'
    - Tag::as_ref
    - UnboundKey::new
    - Counter64Builder::build
    - unwrap
    - OpeningKey::new
    - Result::unwrap
    - fips::assert_fips_status_indicator
    - Vec::from
    - Self::extend
    - Counter64Builder::new
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 170
    functionName: randnonce_api
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 226
    functionName: tls_nonce_api
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HeaderProtectionKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips/quic.rs:4,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips/quic.rs:4,1
    - Dst: fips::assert_fips_status_indicator
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips/quic.rs:6,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips/quic.rs:6,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 9
    functionDepth: 15
    functionLinenumber: 9
    functionLinenumberEnd: 18
    functionName: quic_api
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips/quic.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - unwrap
    - HeaderProtectionKey::new
    - fips::assert_fips_status_indicator
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Counter64Builder::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: Counter64Builder::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs
    functionUses: 1
    functionsReached:
    - Counter64Builder::new
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: Counter64Builder::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: Counter64Builder
    signature: pub fn new() -> Counter64Builder
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Counter64Builder::into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - identifier
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 4
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: Counter64Builder::identifier
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs
    functionUses: 1
    functionsReached:
    - Counter64Builder::into
    linkageType: ''
    returnType: Counter64Builder
    signature: 'pub fn identifier<T: Into<[u8; 4]>>(mut self, identifier: T) -> Counter64Builder'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - counter
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: Counter64Builder::counter
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: Counter64Builder
    signature: 'pub fn counter(mut self, counter: u64) -> Counter64Builder'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - limit
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: Counter64Builder::limit
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Counter64Builder
    signature: 'pub fn limit(mut self, limit: u64) -> Counter64Builder'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: Counter64Builder::build
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: Counter64
    signature: pub fn build(self) -> Counter64
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: Counter64::identifier
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '[u8; 4]'
    signature: pub fn identifier(&self) -> [u8; 4]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: Counter64::counter
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: pub fn counter(&self) -> u64
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: Counter64::generated
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: pub fn generated(&self) -> u64
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: Counter64::limit
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: pub fn limit(&self) -> u64
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checked_add
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs:112,1
    - Dst: ok_or
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs:112,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs:114,1
    - Dst: to_be_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs:116,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs:118,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs:119,1
    - Dst: wrapping_add
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs:120,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs:121,1
    - Dst: aead::Nonce
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs:121,1
    - Dst: FixedLength::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 122
    functionName: Counter64::advance
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs
    functionUses: 5
    functionsReached:
    - aead::Nonce
    - Err
    - ok_or
    - to_be_bytes
    - FixedLength::from
    - wrapping_add
    - copy_from_slice
    - checked_add
    - Ok
    linkageType: ''
    returnType: Result
    signature: fn advance(&mut self) -> Result<Nonce, Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Counter64Builder::default
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs:132,1
    - Dst: Self::identifier
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs:132,1
    - Dst: Counter64Builder::counter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs:132,1
    - Dst: Counter64Builder::build
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs:132,1
    - Dst: Counter64::advance
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs:137,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs:137,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs:138,1
    - Dst: Counter64::advance
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs:144,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs:144,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 131
    functionDepth: 5
    functionLinenumber: 131
    functionLinenumberEnd: 150
    functionName: tests::test_counter64_identifier
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs
    functionUses: 0
    functionsReached:
    - Self::identifier
    - Counter64Builder::build
    - Counter64Builder::counter
    - Counter64::advance
    - Result::unwrap
    - Counter64Builder::default
    - as_ref
    linkageType: ''
    returnType: void
    signature: fn test_counter64_identifier()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Counter64Builder::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs:154,1
    - Dst: Counter64Builder::counter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs:154,1
    - Dst: Counter64Builder::build
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs:154,1
    - Dst: Counter64::advance
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs:157,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs:157,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs:158,1
    - Dst: Counter64::advance
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs:160,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs:160,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 153
    functionDepth: 5
    functionLinenumber: 153
    functionLinenumberEnd: 163
    functionName: tests::test_counter64
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs
    functionUses: 0
    functionsReached:
    - Counter64Builder::build
    - Counter64Builder::counter
    - Counter64::advance
    - Result::unwrap
    - as_ref
    - Counter64Builder::new
    linkageType: ''
    returnType: void
    signature: fn test_counter64()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Counter64Builder::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs:167,1
    - Dst: Counter64Builder::counter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs:167,1
    - Dst: Counter64Builder::identifier
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs:167,1
    - Dst: to_be_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs:169,1
    - Dst: Counter64Builder::build
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs:167,1
    - Dst: Counter64::advance
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs:171,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs:171,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs:172,1
    - Dst: Counter64::advance
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs:174,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs:174,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 166
    functionDepth: 5
    functionLinenumber: 166
    functionLinenumberEnd: 177
    functionName: tests::test_counter64_id
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs
    functionUses: 0
    functionsReached:
    - Counter64Builder::build
    - Counter64Builder::counter
    - Counter64::advance
    - to_be_bytes
    - Result::unwrap
    - Counter64Builder::identifier
    - as_ref
    - Counter64Builder::new
    linkageType: ''
    returnType: void
    signature: fn test_counter64_id()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Counter64Builder::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs:181,1
    - Dst: Counter64Builder::limit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs:181,1
    - Dst: Counter64Builder::build
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs:181,1
    - Dst: Counter64::advance
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs:184,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 180
    functionDepth: 5
    functionLinenumber: 180
    functionLinenumberEnd: 187
    functionName: tests::test_counter64_limit
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs
    functionUses: 0
    functionsReached:
    - Counter64Builder::build
    - Counter64::advance
    - Counter64Builder::limit
    - Result::unwrap
    - Counter64Builder::new
    linkageType: ''
    returnType: void
    signature: fn test_counter64_limit()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Counter32Builder::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: Counter32Builder::default
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs
    functionUses: 1
    functionsReached:
    - Counter32Builder::new
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: Counter32Builder::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: Counter32Builder
    signature: pub fn new() -> Counter32Builder
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Counter64Builder::into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - identifier
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 4
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: Counter32Builder::identifier
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs
    functionUses: 1
    functionsReached:
    - Counter64Builder::into
    linkageType: ''
    returnType: Counter32Builder
    signature: 'pub fn identifier<T: Into<[u8; 8]>>(mut self, identifier: T) -> Counter32Builder'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - counter
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: Counter32Builder::counter
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Counter32Builder
    signature: 'pub fn counter(mut self, counter: u32) -> Counter32Builder'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - limit
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: Counter32Builder::limit
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Counter32Builder
    signature: 'pub fn limit(mut self, limit: u32) -> Counter32Builder'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: Counter32Builder::build
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: Counter32
    signature: pub fn build(self) -> Counter32
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: Counter32::identifier
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '[u8; 8]'
    signature: pub fn identifier(&self) -> [u8; 8]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: Counter32::counter
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: pub fn counter(&self) -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: Counter32::generated
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: pub fn generated(&self) -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: Counter32::limit
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: pub fn limit(&self) -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checked_add
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs:113,1
    - Dst: ok_or
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs:113,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs:115,1
    - Dst: to_be_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs:117,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs:119,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs:120,1
    - Dst: wrapping_add
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs:121,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs:122,1
    - Dst: aead::Nonce
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs:122,1
    - Dst: FixedLength::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 123
    functionName: Counter32::advance
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs
    functionUses: 3
    functionsReached:
    - aead::Nonce
    - Err
    - ok_or
    - to_be_bytes
    - FixedLength::from
    - wrapping_add
    - copy_from_slice
    - checked_add
    - Ok
    linkageType: ''
    returnType: Result
    signature: fn advance(&mut self) -> Result<Nonce, Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Counter32Builder::default
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs:133,1
    - Dst: Self::identifier
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs:133,1
    - Dst: Counter64Builder::counter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs:133,1
    - Dst: Counter64Builder::build
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs:133,1
    - Dst: Counter64::advance
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs:138,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs:138,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs:139,1
    - Dst: Counter64::advance
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs:151,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs:151,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 132
    functionDepth: 5
    functionLinenumber: 132
    functionLinenumberEnd: 163
    functionName: tests::test_counter32_identifier
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs
    functionUses: 0
    functionsReached:
    - Counter32Builder::default
    - Self::identifier
    - Counter64Builder::build
    - Counter64Builder::counter
    - Counter64::advance
    - Result::unwrap
    - as_ref
    linkageType: ''
    returnType: void
    signature: fn test_counter32_identifier()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Counter32Builder::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs:167,1
    - Dst: Counter32Builder::counter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs:167,1
    - Dst: Counter32Builder::build
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs:167,1
    - Dst: Counter32::advance
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs:168,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs:168,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs:169,1
    - Dst: Counter32::advance
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs:171,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs:171,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 166
    functionDepth: 5
    functionLinenumber: 166
    functionLinenumberEnd: 174
    functionName: tests::test_counter32
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs
    functionUses: 0
    functionsReached:
    - Counter32Builder::build
    - Counter32::advance
    - Result::unwrap
    - Counter32Builder::new
    - Counter32Builder::counter
    - as_ref
    linkageType: ''
    returnType: void
    signature: fn test_counter32()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Counter32Builder::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs:178,1
    - Dst: Counter32Builder::counter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs:178,1
    - Dst: Counter32Builder::identifier
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs:178,1
    - Dst: to_be_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs:180,1
    - Dst: Counter32Builder::build
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs:178,1
    - Dst: Counter32::advance
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs:182,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs:182,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs:183,1
    - Dst: Counter32::advance
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs:185,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs:185,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 177
    functionDepth: 5
    functionLinenumber: 177
    functionLinenumberEnd: 188
    functionName: tests::test_counter32_int_id
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs
    functionUses: 0
    functionsReached:
    - Counter32Builder::build
    - to_be_bytes
    - Counter32::advance
    - Result::unwrap
    - Counter32Builder::new
    - Counter32Builder::counter
    - as_ref
    - Counter32Builder::identifier
    linkageType: ''
    returnType: void
    signature: fn test_counter32_int_id()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Counter32Builder::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs:192,1
    - Dst: Counter32Builder::limit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs:192,1
    - Dst: Counter32Builder::build
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs:192,1
    - Dst: Counter32::advance
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs:195,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 191
    functionDepth: 5
    functionLinenumber: 191
    functionLinenumberEnd: 198
    functionName: tests::test_counter32_limit
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs
    functionUses: 0
    functionsReached:
    - Counter32Builder::build
    - Counter32::advance
    - Result::unwrap
    - Counter32Builder::new
    - Counter32Builder::limit
    linkageType: ''
    returnType: void
    signature: fn test_counter32_limit()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ed25519KeyPair::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:27,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:27,1
    - Dst: Option::public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:28,1
    - Dst: '&[u8]::as_ref'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:28,1
    - Dst: ParsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:30,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:30,1
    - Dst: Option::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 26
    functionDepth: 17
    functionLinenumber: 26
    functionLinenumberEnd: 41
    functionName: test_parsed_public_key_ed25519
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs
    functionUses: 0
    functionsReached:
    - Ed25519KeyPair::generate
    - '&[u8]::as_ref'
    - Result::unwrap
    - ParsedPublicKey::new
    - Option::public_key
    - Option::sign
    linkageType: ''
    returnType: void
    signature: fn test_parsed_public_key_ed25519()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EcdsaKeyPair::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:45,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:45,1
    - Dst: Option::public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:46,1
    - Dst: '&[u8]::as_ref'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:46,1
    - Dst: ParsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:48,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:48,1
    - Dst: rand::SystemRandom::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:55,1
    - Dst: Option::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:57,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 44
    functionDepth: 5
    functionLinenumber: 44
    functionLinenumberEnd: 63
    functionName: test_parsed_public_key_ecdsa_p256
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs
    functionUses: 0
    functionsReached:
    - Option::unwrap
    - '&[u8]::as_ref'
    - Result::unwrap
    - EcdsaKeyPair::generate
    - Option::public_key
    - ParsedPublicKey::new
    - Option::sign
    - rand::SystemRandom::new
    linkageType: ''
    returnType: void
    signature: fn test_parsed_public_key_ecdsa_p256()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EcdsaKeyPair::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:67,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:67,1
    - Dst: Option::public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:68,1
    - Dst: '&[u8]::as_ref'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:68,1
    - Dst: ParsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:70,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:70,1
    - Dst: rand::SystemRandom::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:72,1
    - Dst: Option::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:74,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 66
    functionDepth: 5
    functionLinenumber: 66
    functionLinenumberEnd: 77
    functionName: test_parsed_public_key_ecdsa_p256_fixed
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs
    functionUses: 0
    functionsReached:
    - Option::unwrap
    - '&[u8]::as_ref'
    - Result::unwrap
    - EcdsaKeyPair::generate
    - Option::public_key
    - ParsedPublicKey::new
    - Option::sign
    - rand::SystemRandom::new
    linkageType: ''
    returnType: void
    signature: fn test_parsed_public_key_ecdsa_p256_fixed()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EcdsaKeyPair::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:81,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:81,1
    - Dst: Option::public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:82,1
    - Dst: '&[u8]::as_ref'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:82,1
    - Dst: ParsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:84,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:84,1
    - Dst: rand::SystemRandom::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:86,1
    - Dst: Option::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:88,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 80
    functionDepth: 5
    functionLinenumber: 80
    functionLinenumberEnd: 94
    functionName: test_parsed_public_key_ecdsa_p384
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs
    functionUses: 0
    functionsReached:
    - Option::unwrap
    - '&[u8]::as_ref'
    - Result::unwrap
    - EcdsaKeyPair::generate
    - Option::public_key
    - ParsedPublicKey::new
    - Option::sign
    - rand::SystemRandom::new
    linkageType: ''
    returnType: void
    signature: fn test_parsed_public_key_ecdsa_p384()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RsaKeyPair::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:98,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:98,1
    - Dst: Option::public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:99,1
    - Dst: '&[u8]::as_ref'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:99,1
    - Dst: ParsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:101,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:101,1
    - Dst: rand::SystemRandom::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:103,1
    - Dst: Option::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:106,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 97
    functionDepth: 17
    functionLinenumber: 97
    functionLinenumberEnd: 117
    functionName: test_parsed_public_key_rsa_pkcs1
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs
    functionUses: 0
    functionsReached:
    - Option::unwrap
    - '&[u8]::as_ref'
    - RsaKeyPair::generate
    - ParsedPublicKey::new
    - Option::public_key
    - Result::unwrap
    - Option::sign
    - rand::SystemRandom::new
    linkageType: ''
    returnType: void
    signature: fn test_parsed_public_key_rsa_pkcs1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RsaKeyPair::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:121,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:121,1
    - Dst: Option::public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:122,1
    - Dst: '&[u8]::as_ref'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:122,1
    - Dst: ParsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:124,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:124,1
    - Dst: rand::SystemRandom::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:126,1
    - Dst: Option::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:129,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 120
    functionDepth: 17
    functionLinenumber: 120
    functionLinenumberEnd: 140
    functionName: test_parsed_public_key_rsa_pss
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs
    functionUses: 0
    functionsReached:
    - Option::unwrap
    - '&[u8]::as_ref'
    - RsaKeyPair::generate
    - ParsedPublicKey::new
    - Option::public_key
    - Result::unwrap
    - Option::sign
    - rand::SystemRandom::new
    linkageType: ''
    returnType: void
    signature: fn test_parsed_public_key_rsa_pss()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ed25519KeyPair::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:144,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:144,1
    - Dst: Option::public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:145,1
    - Dst: '&[u8]::as_ref'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:145,1
    - Dst: ParsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:147,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:147,1
    - Dst: digest::digest
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:150,1
    - Dst: Option::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:151,1
    - Dst: Result::verify_digest_sig
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:155,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 143
    functionDepth: 17
    functionLinenumber: 143
    functionLinenumberEnd: 158
    functionName: test_parsed_public_key_verify_digest
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs
    functionUses: 0
    functionsReached:
    - Result::verify_digest_sig
    - Result::as_ref
    - Ed25519KeyPair::generate
    - '&[u8]::as_ref'
    - Result::unwrap
    - ParsedPublicKey::new
    - Option::public_key
    - digest::digest
    - Option::sign
    linkageType: ''
    returnType: void
    signature: fn test_parsed_public_key_verify_digest()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 169
    functionName: test_parsed_public_key_invalid_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_parsed_public_key_invalid_key()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:123,1
    - Dst: UnparsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:124,1
    - Dst: try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:126,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:126,1
    - Dst: Self::try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:130,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 121
    functionDepth: 4
    functionLinenumber: 121
    functionLinenumberEnd: 133
    functionName: test_unparsed_to_parsed_conversion
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs
    functionUses: 0
    functionsReached:
    - UnparsedPublicKey::new
    - test::from_dirty_hex
    - unwrap
    - Result::unwrap
    - Self::try_into
    - try_into
    linkageType: ''
    returnType: void
    signature: fn test_unparsed_to_parsed_conversion()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:162,1
    - Dst: ParsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:163,1
    - Dst: nid
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:163,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 160
    functionDepth: 6
    functionLinenumber: 160
    functionLinenumberEnd: 167
    functionName: test_parsed_public_key_debug
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - ParsedPublicKey::new
    - nid
    - test::from_dirty_hex
    linkageType: ''
    returnType: void
    signature: fn test_parsed_public_key_debug()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ed25519KeyPair::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:204,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:204,1
    - Dst: Option::public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:205,1
    - Dst: '&[u8]::as_ref'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:205,1
    - Dst: Option::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:207,1
    - Dst: ParsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:210,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 203
    functionDepth: 17
    functionLinenumber: 203
    functionLinenumberEnd: 216
    functionName: test_parsed_public_key_efficiency
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs
    functionUses: 0
    functionsReached:
    - Ed25519KeyPair::generate
    - '&[u8]::as_ref'
    - Result::unwrap
    - ParsedPublicKey::new
    - Option::public_key
    - Option::sign
    linkageType: ''
    returnType: void
    signature: fn test_parsed_public_key_efficiency()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ed25519KeyPair::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:220,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:220,1
    - Dst: Option::public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:221,1
    - Dst: '&[u8]::as_ref'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:221,1
    - Dst: Option::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:223,1
    - Dst: UnparsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:225,1
    - Dst: ParsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:226,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:226,1
    - Dst: Self::verify
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:229,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:229,1
    - Dst: Result::verify_sig
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:230,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:230,1
    - Dst: Self::verify
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:235,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:235,1
    - Dst: Result::verify_sig
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:236,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 240
      start: 219
    functionDepth: 17
    functionLinenumber: 219
    functionLinenumberEnd: 240
    functionName: test_parsed_vs_unparsed_equivalence
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs
    functionUses: 0
    functionsReached:
    - UnparsedPublicKey::new
    - Self::verify
    - Result::as_ref
    - Ed25519KeyPair::generate
    - Result::verify_sig
    - '&[u8]::as_ref'
    - Result::unwrap
    - ParsedPublicKey::new
    - Option::public_key
    - Option::sign
    linkageType: ''
    returnType: void
    signature: fn test_parsed_vs_unparsed_equivalence()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ParsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:246,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:246,1
    - Dst: ParsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:250,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:250,1
    - Dst: ParsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:254,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 266
      start: 243
    functionDepth: 6
    functionLinenumber: 243
    functionLinenumberEnd: 266
    functionName: test_parsed_public_key_with_test_data_files
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - ParsedPublicKey::new
    linkageType: ''
    returnType: void
    signature: fn test_parsed_public_key_with_test_data_files()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:272,1
    - Dst: test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:274,1
    - Dst: ParsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:278,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:278,1
    - Dst: Result::clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 285
      start: 269
    functionDepth: 6
    functionLinenumber: 269
    functionLinenumberEnd: 285
    functionName: test_parsed_public_key_with_known_vectors
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - ParsedPublicKey::new
    - test::from_dirty_hex
    - Result::clone
    linkageType: ''
    returnType: void
    signature: fn test_parsed_public_key_with_known_vectors()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ed25519KeyPair::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:289,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:289,1
    - Dst: Result::public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:290,1
    - Dst: '&[u8]::as_ref'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 294
      start: 288
    functionDepth: 17
    functionLinenumber: 288
    functionLinenumberEnd: 294
    functionName: test_parsed_public_key_algorithm_mismatch
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - Ed25519KeyPair::generate
    - Result::public_key
    - '&[u8]::as_ref'
    linkageType: ''
    returnType: void
    signature: fn test_parsed_public_key_algorithm_mismatch()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 302
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 302
    functionName: test_parsed_public_key_empty_bytes
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_parsed_public_key_empty_bytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 312
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 312
    functionName: test_parsed_public_key_wrong_size
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_parsed_public_key_wrong_size()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 320
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 320
    functionName: test_parsed_public_key_malformed_der
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_parsed_public_key_malformed_der()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ed25519KeyPair::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:326,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:326,1
    - Dst: Option::public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:327,1
    - Dst: '&[u8]::as_ref'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:327,1
    - Dst: Option::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:329,1
    - Dst: UnparsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:331,1
    - Dst: ParsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:332,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:332,1
    - Dst: EcdsaKeyPair::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:350,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:350,1
    - Dst: Option::public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:351,1
    - Dst: '&[u8]::as_ref'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:351,1
    - Dst: rand::SystemRandom::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:352,1
    - Dst: Option::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:354,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:354,1
    - Dst: UnparsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:356,1
    - Dst: ParsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:357,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 372
      start: 323
    functionDepth: 17
    functionLinenumber: 323
    functionLinenumberEnd: 372
    functionName: test_parsed_public_key_cross_verification
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs
    functionUses: 0
    functionsReached:
    - UnparsedPublicKey::new
    - Ed25519KeyPair::generate
    - Option::unwrap
    - '&[u8]::as_ref'
    - Result::unwrap
    - ParsedPublicKey::new
    - Option::public_key
    - Option::sign
    - EcdsaKeyPair::generate
    - rand::SystemRandom::new
    linkageType: ''
    returnType: void
    signature: fn test_parsed_public_key_cross_verification()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PqdsaKeyPair::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:381,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:381,1
    - Dst: Option::public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:382,1
    - Dst: '&[u8]::as_ref'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:382,1
    - Dst: ParsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:384,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:384,1
    - Dst: Option::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:390,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:390,1
    - Dst: Result::truncate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 395
      start: 380
    functionDepth: 7
    functionLinenumber: 380
    functionLinenumberEnd: 395
    functionName: test_parsed_public_key_ml_dsa_44
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs
    functionUses: 0
    functionsReached:
    - Result::truncate
    - Option::unwrap
    - '&[u8]::as_ref'
    - Result::unwrap
    - ParsedPublicKey::new
    - Option::public_key
    - Option::sign
    - PqdsaKeyPair::generate
    linkageType: ''
    returnType: void
    signature: fn test_parsed_public_key_ml_dsa_44()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PqdsaKeyPair::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:404,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:404,1
    - Dst: Option::public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:405,1
    - Dst: '&[u8]::as_ref'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:405,1
    - Dst: ParsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:407,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:407,1
    - Dst: Option::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:413,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:413,1
    - Dst: Result::truncate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 418
      start: 403
    functionDepth: 7
    functionLinenumber: 403
    functionLinenumberEnd: 418
    functionName: test_parsed_public_key_ml_dsa_65
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs
    functionUses: 0
    functionsReached:
    - Result::truncate
    - Option::unwrap
    - '&[u8]::as_ref'
    - Result::unwrap
    - ParsedPublicKey::new
    - Option::public_key
    - Option::sign
    - PqdsaKeyPair::generate
    linkageType: ''
    returnType: void
    signature: fn test_parsed_public_key_ml_dsa_65()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PqdsaKeyPair::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:427,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:427,1
    - Dst: Option::public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:428,1
    - Dst: '&[u8]::as_ref'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:428,1
    - Dst: ParsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:430,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:430,1
    - Dst: Option::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:436,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:436,1
    - Dst: Result::truncate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 441
      start: 426
    functionDepth: 7
    functionLinenumber: 426
    functionLinenumberEnd: 441
    functionName: test_parsed_public_key_ml_dsa_87
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs
    functionUses: 0
    functionsReached:
    - Result::truncate
    - Option::unwrap
    - '&[u8]::as_ref'
    - Result::unwrap
    - ParsedPublicKey::new
    - Option::public_key
    - Option::sign
    - PqdsaKeyPair::generate
    linkageType: ''
    returnType: void
    signature: fn test_parsed_public_key_ml_dsa_87()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PqdsaKeyPair::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:452,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:452,1
    - Dst: Option::public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:453,1
    - Dst: '&[u8]::as_der'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:453,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:453,1
    - Dst: ParsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:455,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:455,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:455,1
    - Dst: Option::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:459,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:459,1
    - Dst: Result::truncate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 463
      start: 449
    functionDepth: 11
    functionLinenumber: 449
    functionLinenumberEnd: 463
    functionName: test_parsed_public_key_pqdsa_with_x509_der
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs
    functionUses: 0
    functionsReached:
    - Result::truncate
    - Option::unwrap
    - Result::unwrap
    - ParsedPublicKey::new
    - Option::public_key
    - Option::sign
    - '&[u8]::as_der'
    - as_ref
    - PqdsaKeyPair::generate
    linkageType: ''
    returnType: void
    signature: fn test_parsed_public_key_pqdsa_with_x509_der()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 478
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 478
    functionName: test_parsed_public_key_pqdsa_invalid_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_parsed_public_key_pqdsa_invalid_key()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PqdsaKeyPair::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:487,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:487,1
    - Dst: Option::public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:488,1
    - Dst: '&[u8]::as_ref'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 495
      start: 486
    functionDepth: 7
    functionLinenumber: 486
    functionLinenumberEnd: 495
    functionName: test_parsed_public_key_pqdsa_algorithm_mismatch
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - Option::public_key
    - '&[u8]::as_ref'
    - PqdsaKeyPair::generate
    linkageType: ''
    returnType: void
    signature: fn test_parsed_public_key_pqdsa_algorithm_mismatch()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PqdsaKeyPair::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:504,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:504,1
    - Dst: Option::public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:505,1
    - Dst: '&[u8]::as_ref'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:505,1
    - Dst: Option::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:508,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:508,1
    - Dst: Result::truncate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:509,1
    - Dst: UnparsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:511,1
    - Dst: ParsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:512,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 526
      start: 503
    functionDepth: 7
    functionLinenumber: 503
    functionLinenumberEnd: 526
    functionName: test_parsed_public_key_pqdsa_cross_verification
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs
    functionUses: 0
    functionsReached:
    - UnparsedPublicKey::new
    - Result::truncate
    - Option::unwrap
    - '&[u8]::as_ref'
    - Result::unwrap
    - ParsedPublicKey::new
    - Option::public_key
    - Option::sign
    - PqdsaKeyPair::generate
    linkageType: ''
    returnType: void
    signature: fn test_parsed_public_key_pqdsa_cross_verification()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PqdsaKeyPair::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:535,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:535,1
    - Dst: Option::public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:536,1
    - Dst: '&[u8]::as_ref'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:536,1
    - Dst: ParsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:538,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:538,1
    - Dst: digest::digest
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:541,1
    - Dst: Option::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:543,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:543,1
    - Dst: Result::truncate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:544,1
    - Dst: Result::verify_digest_sig
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 549
      start: 534
    functionDepth: 7
    functionLinenumber: 534
    functionLinenumberEnd: 549
    functionName: test_parsed_public_key_pqdsa_verify_digest
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs
    functionUses: 0
    functionsReached:
    - Result::verify_digest_sig
    - Result::truncate
    - Option::unwrap
    - '&[u8]::as_ref'
    - Result::unwrap
    - ParsedPublicKey::new
    - Option::public_key
    - digest::digest
    - Option::sign
    - PqdsaKeyPair::generate
    linkageType: ''
    returnType: void
    signature: fn test_parsed_public_key_pqdsa_verify_digest()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SystemRandom::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/tests/fips.rs:4,1
    - Dst: fips::assert_fips_status_indicator
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/tests/fips.rs:6,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/tests/fips.rs:6,1
    - Dst: fips::assert_fips_status_indicator
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/tests/fips.rs:12,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/tests/fips.rs:12,1
    - Dst: fips::assert_fips_status_indicator
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/tests/fips.rs:18,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/tests/fips.rs:18,1
    - Dst: public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/tests/fips.rs:24,1
    - Dst: fips::assert_fips_status_indicator
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/tests/fips.rs:26,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/tests/fips.rs:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 31
    functionDepth: 5
    functionLinenumber: 31
    functionLinenumberEnd: 68
    functionName: ecdsa_generate_sign_verify
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/tests/fips.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - public_key
    - SystemRandom::new
    - fips::assert_fips_status_indicator
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SystemRandom::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/tests/fips.rs:143,1
    - Dst: fips::assert_fips_status_indicator
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/tests/fips.rs:145,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/tests/fips.rs:145,1
    - Dst: fips::assert_fips_status_indicator
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/tests/fips.rs:151,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/tests/fips.rs:151,1
    - Dst: fips::assert_fips_status_indicator
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/tests/fips.rs:157,1
    - Dst: public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/tests/fips.rs:162,1
    - Dst: fips::assert_fips_status_indicator
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/tests/fips.rs:164,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/tests/fips.rs:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 142
    functionDepth: 5
    functionLinenumber: 142
    functionLinenumberEnd: 173
    functionName: ed25519
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/tests/fips.rs
    functionUses: 1
    functionsReached:
    - unwrap
    - public_key
    - SystemRandom::new
    - fips::assert_fips_status_indicator
    linkageType: ''
    returnType: void
    signature: fn ed25519()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SystemRandom::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/tests/fips.rs:4,1
    - Dst: RsaKeyPair::from_pkcs8
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/tests/fips.rs:6,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/tests/fips.rs:6,1
    - Dst: fips::assert_fips_status_indicator
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/tests/fips.rs:10,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/tests/fips.rs:10,1
    - Dst: Option::public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/tests/fips.rs:16,1
    - Dst: fips::assert_fips_status_indicator
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/tests/fips.rs:18,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/tests/fips.rs:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 203
    functionDepth: 10
    functionLinenumber: 203
    functionLinenumberEnd: 228
    functionName: rsa_sign_verify
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/tests/fips.rs
    functionUses: 0
    functionsReached:
    - RsaKeyPair::from_pkcs8
    - SystemRandom::new
    - unwrap
    - Option::public_key
    - fips::assert_fips_status_indicator
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fips::assert_fips_status_indicator
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/tests/fips.rs:4,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/tests/fips.rs:4,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 410
      start: 399
    functionDepth: 5
    functionLinenumber: 399
    functionLinenumberEnd: 410
    functionName: rsa_verify
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/tests/fips.rs
    functionUses: 1
    functionsReached:
    - unwrap
    - fips::assert_fips_status_indicator
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ec_group_from_nid
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:37,1
    - Dst: LcPtr::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:38,1
    - Dst: EC_POINT_new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:38,1
    - Dst: as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:38,1
    - Dst: EC_POINT_oct2point
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:41,1
    - Dst: as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:42,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:43,1
    - Dst: Option::as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:44,1
    - Dst: Option::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:45,1
    - Dst: null_mut
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:46,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:49,1
    - Dst: KeyRejected::invalid_encoding
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:49,1
    - Dst: from_ec_public_point
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:51,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - key_bytes
    - expected_curve_nid
    argTypes:
    - '&[u8]'
    - i32
    constantsTouched: []
    func_position:
      end: 52
      start: 33
    functionDepth: 10
    functionLinenumber: 33
    functionLinenumberEnd: 52
    functionName: sec1::parse_sec1_public_point
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs
    functionUses: 2
    functionsReached:
    - LcPtr::new
    - Option::as_ptr
    - EC_POINT_oct2point
    - as_mut_ptr
    - Err
    - null_mut
    - Option::len
    - as_const_ptr
    - KeyRejected::invalid_encoding
    - ec_group_from_nid
    - from_ec_public_point
    - EC_POINT_new
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn parse_sec1_public_point(key_bytes: &[u8],expected_curve_nid:
      i32,) -> Result<LcPtr<EVP_PKEY>, KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_get_curve_name
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:59,1
    - Dst: '&ConstPointer<EC_GROUP>::as_const_ptr'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:59,1
    - Dst: DetachableLcPtr::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:60,1
    - Dst: EC_KEY_new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:60,1
    - Dst: EC_KEY_set_group
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:61,1
    - Dst: Result::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:61,1
    - Dst: '&ConstPointer<EC_GROUP>::as_const_ptr'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:61,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:62,1
    - Dst: KeyRejected::unexpected_error
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:62,1
    - Dst: EC_KEY_set_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:65,1
    - Dst: Result::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:65,1
    - Dst: '&LcPtr<EC_POINT>::as_const_ptr'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:65,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:67,1
    - Dst: KeyRejected::inconsistent_components
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:67,1
    - Dst: LcPtr::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:70,1
    - Dst: EVP_PKEY_new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:70,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:72,1
    - Dst: Result::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:72,1
    - Dst: Result::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:72,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:73,1
    - Dst: KeyRejected::unexpected_error
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:73,1
    - Dst: Result::detach
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:76,1
    - Dst: ec::validate_ec_evp_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:78,1
    - Dst: Result::as_const
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:78,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:80,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 55
    argCount: 2
    argNames:
    - ec_group
    - public_ec_point
    argTypes:
    - '&ConstPointer<EC_GROUP>'
    - '&LcPtr<EC_POINT>'
    constantsTouched: []
    func_position:
      end: 81
      start: 55
    functionDepth: 9
    functionLinenumber: 55
    functionLinenumberEnd: 81
    functionName: sec1::from_ec_public_point
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs
    functionUses: 0
    functionsReached:
    - LcPtr::new
    - EVP_PKEY_assign_EC_KEY
    - KeyRejected::inconsistent_components
    - EC_KEY_set_group
    - Result::detach
    - '&LcPtr<EC_POINT>::as_const_ptr'
    - EVP_PKEY_new
    - Result::as_mut_ptr
    - EC_GROUP_get_curve_name
    - Err
    - Result::as_const
    - KeyRejected::unexpected_error
    - EC_KEY_set_public_key
    - ec::validate_ec_evp_key
    - '&ConstPointer<EC_GROUP>::as_const_ptr'
    - EC_KEY_new
    - Ok
    - DetachableLcPtr::new
    linkageType: ''
    returnType: Result
    signature: 'fn from_ec_public_point(ec_group: &ConstPointer<EC_GROUP>,public_ec_point:
      &LcPtr<EC_POINT>,) -> Result<LcPtr<EVP_PKEY>, KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ec_group_from_nid
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:87,1
    - Dst: LcPtr::<BIGNUM>::try_from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:88,1
    - Dst: from_ec_private_bn
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:90,1
    - Dst: '&[u8]::as_const'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:90,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - priv_key
    - nid
    argTypes:
    - '&[u8]'
    - i32
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 10
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: sec1::parse_sec1_private_bn
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::as_const'
    - LcPtr::<BIGNUM>::try_from
    - ec_group_from_nid
    - Ok
    - from_ec_private_bn
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn parse_sec1_private_bn(priv_key: &[u8],nid: i32,) ->
      Result<LcPtr<EVP_PKEY>, KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DetachableLcPtr::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:99,1
    - Dst: EC_KEY_new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:99,1
    - Dst: EC_KEY_set_group
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:100,1
    - Dst: Result::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:100,1
    - Dst: '&ConstPointer<EC_GROUP>::as_const_ptr'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:100,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:101,1
    - Dst: KeyRejected::unexpected_error
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:101,1
    - Dst: EC_KEY_set_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:104,1
    - Dst: Result::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:104,1
    - Dst: '&ConstPointer<BIGNUM>::as_const_ptr'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:104,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:106,1
    - Dst: KeyRejected::invalid_encoding
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:106,1
    - Dst: LcPtr::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:108,1
    - Dst: EC_POINT_new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:108,1
    - Dst: '&ConstPointer<EC_GROUP>::as_const_ptr'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:108,1
    - Dst: EC_POINT_mul
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:110,1
    - Dst: '&ConstPointer<EC_GROUP>::as_const_ptr'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:111,1
    - Dst: bool::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:112,1
    - Dst: '&ConstPointer<BIGNUM>::as_const_ptr'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:113,1
    - Dst: 'null'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:114,1
    - Dst: 'null'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:115,1
    - Dst: null_mut
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:116,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:119,1
    - Dst: KeyRejected::unexpected_error
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:119,1
    - Dst: EC_KEY_set_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:121,1
    - Dst: Result::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:121,1
    - Dst: bool::as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:121,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:122,1
    - Dst: KeyRejected::unexpected_error
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:122,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:124,1
    - Dst: '&ConstPointer<EC_GROUP>::as_const_ptr'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:124,1
    - Dst: LcPtr::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:126,1
    - Dst: EVP_PKEY_new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:126,1
    - Dst: EVP_PKEY_assign_EC_KEY
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:128,1
    - Dst: Result::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:128,1
    - Dst: Result::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:128,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:129,1
    - Dst: KeyRejected::unexpected_error
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:129,1
    - Dst: Result::detach
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:131,1
    - Dst: ec::validate_ec_evp_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:134,1
    - Dst: Result::as_const
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:134,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:136,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 89
    argCount: 2
    argNames:
    - ec_group
    - private_big_num
    argTypes:
    - '&ConstPointer<EC_GROUP>'
    - '&ConstPointer<BIGNUM>'
    constantsTouched: []
    func_position:
      end: 137
      start: 95
    functionDepth: 9
    functionLinenumber: 95
    functionLinenumberEnd: 137
    functionName: sec1::from_ec_private_bn
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs
    functionUses: 0
    functionsReached:
    - Result::detach
    - Result::as_mut_ptr
    - EC_KEY_set_private_key
    - EC_KEY_new
    - KeyRejected::invalid_encoding
    - EC_POINT_new
    - Result::as_const
    - bool::as_mut_ptr
    - '&ConstPointer<EC_GROUP>::as_const_ptr'
    - ec::validate_ec_evp_key
    - Ok
    - bool::as_const_ptr
    - EC_KEY_set_group
    - Err
    - EC_GROUP_get_curve_name
    - EC_KEY_set_public_key
    - EVP_PKEY_assign_EC_KEY
    - EC_POINT_mul
    - DetachableLcPtr::new
    - LcPtr::new
    - '&ConstPointer<BIGNUM>::as_const_ptr'
    - EVP_PKEY_new
    - KeyRejected::unexpected_error
    - null_mut
    - 'null'
    linkageType: ''
    returnType: Result
    signature: 'fn from_ec_private_bn(ec_group: &ConstPointer<EC_GROUP>,private_big_num:
      &ConstPointer<BIGNUM>,) -> Result<LcPtr<EVP_PKEY>, KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: compressed_public_key_size_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:143,1
    - Dst: Result::as_const
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:143,1
    - Dst: ConstPointer::key_size_bits
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:143,1
    - Dst: uncompressed_public_key_size_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:145,1
    - Dst: Result::as_const
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:145,1
    - Dst: ConstPointer::key_size_bits
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:145,1
    - Dst: LcCBB::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:147,1
    - Dst: marshal_sec1_public_point_into_cbb
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:148,1
    - Dst: Result::into_vec
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - evp_pkey
    - compressed
    argTypes:
    - '&LcPtr<EVP_PKEY>'
    - bool
    constantsTouched: []
    func_position:
      end: 150
      start: 138
    functionDepth: 5
    functionLinenumber: 138
    functionLinenumberEnd: 150
    functionName: sec1::marshal_sec1_public_point
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs
    functionUses: 1
    functionsReached:
    - Result::into_vec
    - marshal_sec1_public_point_into_cbb
    - Result::as_const
    - compressed_public_key_size_bytes
    - ConstPointer::key_size_bits
    - uncompressed_public_key_size_bytes
    - LcCBB::new
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn marshal_sec1_public_point(evp_pkey: &LcPtr<EVP_PKEY>,compressed:
      bool,) -> Result<Vec<u8>, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LcCBB::new_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:157,1
    - Dst: marshal_sec1_public_point_into_cbb
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:158,1
    - Dst: Result::finish
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - buffer
    - evp_pkey
    - compressed
    argTypes:
    - '&mut [u8]'
    - '&LcPtr<EVP_PKEY>'
    - bool
    constantsTouched: []
    func_position:
      end: 160
      start: 152
    functionDepth: 12
    functionLinenumber: 152
    functionLinenumberEnd: 160
    functionName: sec1::marshal_sec1_public_point_into_buffer
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs
    functionUses: 1
    functionsReached:
    - LcCBB::new_from_slice
    - marshal_sec1_public_point_into_cbb
    - Result::finish
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn marshal_sec1_public_point_into_buffer(buffer: &mut [u8],evp_pkey:
      &LcPtr<EVP_PKEY>,compressed: bool,) -> Result<usize, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::project_const_lifetime
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:167,1
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:168,1
    - Dst: Result::as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:168,1
    - Dst: Result::project_const_lifetime
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:170,1
    - Dst: EC_KEY_get0_group
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:171,1
    - Dst: Result::as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:171,1
    - Dst: Result::project_const_lifetime
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:172,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:173,1
    - Dst: Result::as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:173,1
    - Dst: EC_POINT_point2cbb
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:183,1
    - Dst: Result::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:184,1
    - Dst: as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:185,1
    - Dst: as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:186,1
    - Dst: null_mut
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:188,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:191,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:193,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 3
    argNames:
    - cbb
    - evp_pkey
    - compressed
    argTypes:
    - '&mut LcCBB'
    - '&LcPtr<EVP_PKEY>'
    - bool
    constantsTouched: []
    func_position:
      end: 194
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 194
    functionName: sec1::marshal_sec1_public_point_into_cbb
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs
    functionUses: 0
    functionsReached:
    - EC_KEY_get0_group
    - Ok
    - EVP_PKEY_get0_EC_KEY
    - EC_POINT_point2cbb
    - Result::as_mut_ptr
    - Err
    - null_mut
    - EC_KEY_get0_public_key
    - as_const_ptr
    - Result::project_const_lifetime
    - Result::as_const_ptr
    linkageType: ''
    returnType: Result
    signature: 'fn marshal_sec1_public_point_into_cbb(cbb: &mut LcCBB,evp_pkey: &LcPtr<EVP_PKEY>,compressed:
      bool,) -> Result<(), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::project_const_lifetime
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:199,1
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:200,1
    - Dst: Result::as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:200,1
    - Dst: Result::project_const_lifetime
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:202,1
    - Dst: EC_KEY_get0_group
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:203,1
    - Dst: Result::as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:203,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:204,1
    - Dst: as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:204,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:207,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:208,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:209,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:210,1
    - Dst: Result::project_const_lifetime
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:212,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:213,1
    - Dst: Result::as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:213,1
    - Dst: LcCBB::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:216,1
    - Dst: BN_bn2cbb_padded
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:217,1
    - Dst: Result::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:217,1
    - Dst: Result::as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:217,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:218,1
    - Dst: Result::into_vec
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:220,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 1
    argNames:
    - evp_pkey
    argTypes:
    - '&LcPtr<EVP_PKEY>'
    constantsTouched: []
    func_position:
      end: 221
      start: 196
    functionDepth: 5
    functionLinenumber: 196
    functionLinenumberEnd: 221
    functionName: sec1::marshal_sec1_private_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs
    functionUses: 0
    functionsReached:
    - Result::into_vec
    - EC_KEY_get0_group
    - BN_bn2cbb_padded
    - Ok
    - EVP_PKEY_get0_EC_KEY
    - Err
    - EC_GROUP_get_curve_name
    - Result::as_mut_ptr
    - EC_KEY_get0_private_key
    - as_const_ptr
    - Result::project_const_lifetime
    - Result::as_const_ptr
    - LcCBB::new
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn marshal_sec1_private_key(evp_pkey: &LcPtr<EVP_PKEY>,)
      -> Result<Vec<u8>, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ec_group_from_nid
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:240,1
    - Dst: build_CBS
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:241,1
    - Dst: LcPtr::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:243,1
    - Dst: EC_KEY_parse_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:243,1
    - Dst: as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:243,1
    - Dst: LcPtr::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:244,1
    - Dst: EVP_PKEY_new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:244,1
    - Dst: EVP_PKEY_set1_EC_KEY
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:245,1
    - Dst: Result::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:245,1
    - Dst: Result::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:245,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:246,1
    - Dst: KeyRejected::unexpected_error
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:246,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:248,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - key_bytes
    - expected_curve_nid
    argTypes:
    - '&[u8]'
    - i32
    constantsTouched: []
    func_position:
      end: 249
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 249
    functionName: rfc5915::parse_rfc5915_private_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs
    functionUses: 2
    functionsReached:
    - LcPtr::new
    - EVP_PKEY_set1_EC_KEY
    - EC_KEY_parse_private_key
    - EVP_PKEY_new
    - Result::as_mut_ptr
    - Err
    - build_CBS
    - KeyRejected::unexpected_error
    - as_const_ptr
    - ec_group_from_nid
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn parse_rfc5915_private_key(key_bytes: &[u8],expected_curve_nid:
      i32,) -> Result<LcPtr<EVP_PKEY>, KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::project_const_lifetime
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:254,1
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:255,1
    - Dst: Result::as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:255,1
    - Dst: LcCBB::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:257,1
    - Dst: Result::as_const
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:257,1
    - Dst: ConstPointer::key_size_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:257,1
    - Dst: EC_KEY_get_enc_flags
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:258,1
    - Dst: Result::as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:258,1
    - Dst: EC_KEY_marshal_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:260,1
    - Dst: Result::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:260,1
    - Dst: Result::as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:260,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:262,1
    - Dst: Result::into_vec
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:264,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - evp_pkey
    argTypes:
    - '&LcPtr<EVP_PKEY>'
    constantsTouched: []
    func_position:
      end: 265
      start: 251
    functionDepth: 5
    functionLinenumber: 251
    functionLinenumberEnd: 265
    functionName: rfc5915::marshal_rfc5915_private_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs
    functionUses: 1
    functionsReached:
    - Result::into_vec
    - EC_KEY_marshal_private_key
    - ConstPointer::key_size_bytes
    - EVP_PKEY_get0_EC_KEY
    - EC_KEY_get_enc_flags
    - Result::as_mut_ptr
    - Err
    - Result::as_const
    - Result::project_const_lifetime
    - Result::as_const_ptr
    - LcCBB::new
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn marshal_rfc5915_private_key(evp_pkey: &LcPtr<EVP_PKEY>,)
      -> Result<Vec<u8>, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LcPtr::<EVP_PKEY>::parse_rfc5280_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:272,1
    - Dst: Result::or
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:272,1
    - Dst: ec::encoding::sec1::parse_sec1_public_point
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:273,1
    - Dst: SpdmResult::and_then
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:272,1
    - Dst: ec::validate_ec_evp_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:274,1
    - Dst: bool::as_const
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:274,1
    - Dst: Result::map
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - key_bytes
    - expected_curve_nid
    argTypes:
    - '&[u8]'
    - i32
    constantsTouched: []
    func_position:
      end: 275
      start: 268
    functionDepth: 10
    functionLinenumber: 268
    functionLinenumberEnd: 275
    functionName: parse_ec_public_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs
    functionUses: 2
    functionsReached:
    - LcPtr::<EVP_PKEY>::parse_rfc5280_public_key
    - Result::or
    - SpdmResult::and_then
    - bool::as_const
    - ec::validate_ec_evp_key
    - ec::encoding::sec1::parse_sec1_public_point
    - Result::map
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn parse_ec_public_key(key_bytes: &[u8],expected_curve_nid:
      i32,) -> Result<LcPtr<EVP_PKEY>, KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::write_str
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: EcdsaKeyPair::fmt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs
    functionUses: 0
    functionsReached:
    - SpdmCertChainBuffer::write_str
    linkageType: ''
    returnType: Result
    signature: 'fn fmt(&self, f: &mut Formatter<''_>) -> Result<(), fmt::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 375
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 375
    functionName: EcdsaKeyPair::public_key
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&Self::PublicKey'
    signature: fn public_key(&self) -> &Self::PublicKey
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:156,1
    - Dst: Option::split
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:158,1
    - Dst: scalar_modulus
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:159,1
    - Dst: private_key::private_key_as_scalar
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:160,1
    - Dst: to_mont
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:161,1
    - Dst: NonceRandomKey::new
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:163,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:164,1
    - Dst: PublicKey
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 3
    argNames:
    - alg
    - key_pair
    - rng
    argTypes:
    - '&''static EcdsaSigningAlgorithm'
    - ec::KeyPair
    - '&dyn rand::SecureRandom'
    constantsTouched: []
    func_position:
      end: 170
      start: 151
    functionDepth: 14
    functionLinenumber: 151
    functionLinenumberEnd: 170
    functionName: EcdsaKeyPair::new
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs
    functionUses: 0
    functionsReached:
    - PublicKey
    - to_mont
    - cpu::features
    - scalar_modulus
    - NonceRandomKey::new
    - Option::split
    - private_key::private_key_as_scalar
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn new(alg: &''static EcdsaSigningAlgorithm,key_pair: ec::KeyPair,rng:
      &dyn rand::SecureRandom,) -> Result<Self, error::KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ec::evp_key_generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs:79,1
    - Dst: nid
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs:79,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs:81,1
    - Dst: Self::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - alg
    argTypes:
    - '&''static EcdsaSigningAlgorithm'
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: EcdsaKeyPair::generate
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs
    functionUses: 7
    functionsReached:
    - nid
    - ec::evp_key_generate
    - Ok
    - Self::new
    linkageType: ''
    returnType: Result
    signature: 'pub fn generate(alg: &''static EcdsaSigningAlgorithm) -> Result<Self,
      Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ec::suite_b::key_pair_from_pkcs8
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:111,1
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:114,1
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:115,1
    - Dst: Self::new
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - alg
    - pkcs8
    - rng
    argTypes:
    - '&''static EcdsaSigningAlgorithm'
    - '&[u8]'
    - '&dyn rand::SecureRandom'
    constantsTouched: []
    func_position:
      end: 118
      start: 106
    functionDepth: 14
    functionLinenumber: 106
    functionLinenumberEnd: 118
    functionName: EcdsaKeyPair::from_pkcs8
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs
    functionUses: 8
    functionsReached:
    - untrusted::Input::from
    - Self::new
    - ec::suite_b::key_pair_from_pkcs8
    - cpu::features
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_pkcs8(alg: &''static EcdsaSigningAlgorithm,pkcs8: &[u8],rng:
      &dyn rand::SecureRandom,) -> Result<Self, error::KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:86,1
    - Dst: ec::Seed::generate
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:87,1
    - Dst: Option::compute_public_key
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:88,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:89,1
    - Dst: pkcs8::wrap_key
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:89,1
    - Dst: Option::bytes_less_safe
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:91,1
    - Dst: '&[u8]::as_ref'
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - alg
    - rng
    argTypes:
    - '&''static EcdsaSigningAlgorithm'
    - '&dyn rand::SecureRandom'
    constantsTouched: []
    func_position:
      end: 94
      start: 82
    functionDepth: 14
    functionLinenumber: 82
    functionLinenumberEnd: 94
    functionName: EcdsaKeyPair::generate_pkcs8
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs
    functionUses: 3
    functionsReached:
    - ec::Seed::generate
    - pkcs8::wrap_key
    - cpu::features
    - '&[u8]::as_ref'
    - Option::compute_public_key
    - Option::bytes_less_safe
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn generate_pkcs8(alg: &''static EcdsaSigningAlgorithm,rng: &dyn
      rand::SecureRandom,) -> Result<pkcs8::Document, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs:130,1
    - Dst: Document::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs:130,1
    - Dst: as_const
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs:131,1
    - Dst: marshal_rfc5208_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 6
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: EcdsaKeyPair::to_pkcs8v1
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs
    functionUses: 0
    functionsReached:
    - marshal_rfc5208_private_key
    - as_const
    - Ok
    - Document::new
    linkageType: ''
    returnType: Result
    signature: pub fn to_pkcs8v1(&self) -> Result<Document, Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ec::suite_b::key_pair_from_bytes
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:142,1
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:144,1
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:145,1
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:146,1
    - Dst: Self::new
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - alg
    - private_key
    - public_key
    - rng
    argTypes:
    - '&''static EcdsaSigningAlgorithm'
    - '&[u8]'
    - '&[u8]'
    - '&dyn rand::SecureRandom'
    constantsTouched: []
    func_position:
      end: 149
      start: 136
    functionDepth: 14
    functionLinenumber: 136
    functionLinenumberEnd: 149
    functionName: EcdsaKeyPair::from_private_key_and_public_key
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs
    functionUses: 7
    functionsReached:
    - untrusted::Input::from
    - Self::new
    - cpu::features
    - ec::suite_b::key_pair_from_bytes
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_private_key_and_public_key(alg: &''static EcdsaSigningAlgorithm,private_key:
      &[u8],public_key: &[u8],rng: &dyn rand::SecureRandom,) -> Result<Self, error::KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LcPtr::<EVP_PKEY>::parse_rfc5208_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs:188,1
    - Dst: Result::or
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs:188,1
    - Dst: ec::encoding::rfc5915::parse_rfc5915_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs:189,1
    - Dst: nid
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs:189,1
    - Dst: ec::verify_evp_key_nid
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs:191,1
    - Dst: Result::as_const
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs:191,1
    - Dst: nid
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs:191,1
    - Dst: ec::validate_ec_evp_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs:193,1
    - Dst: Result::as_const
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs:193,1
    - Dst: nid
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs:193,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs:195,1
    - Dst: Self::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 2
    argNames:
    - alg
    - private_key
    argTypes:
    - '&''static EcdsaSigningAlgorithm'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 196
      start: 184
    functionDepth: 10
    functionLinenumber: 184
    functionLinenumberEnd: 196
    functionName: EcdsaKeyPair::from_private_key_der
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs
    functionUses: 3
    functionsReached:
    - Result::or
    - nid
    - ec::verify_evp_key_nid
    - LcPtr::<EVP_PKEY>::parse_rfc5208_private_key
    - Result::as_const
    - ec::encoding::rfc5915::parse_rfc5915_private_key
    - ec::validate_ec_evp_key
    - Ok
    - Self::new
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_private_key_der(alg: &''static EcdsaSigningAlgorithm,private_key:
      &[u8],) -> Result<Self, KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PrivateKey
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 202
    functionName: EcdsaKeyPair::private_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs
    functionUses: 0
    functionsReached:
    - PrivateKey
    linkageType: ''
    returnType: PrivateKey
    signature: pub fn private_key(&self) -> PrivateKey<'_>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: EcdsaKeyPair::algorithm
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''static EcdsaSigningAlgorithm'
    signature: pub fn algorithm(&self) -> &'static EcdsaSigningAlgorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:178,1
    - Dst: digest::digest
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:181,1
    - Dst: EcdsaKeyPair::sign_digest
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - rng
    - message
    argTypes:
    - '&dyn rand::SecureRandom'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 193
      start: 173
    functionDepth: 14
    functionLinenumber: 173
    functionLinenumberEnd: 193
    functionName: EcdsaKeyPair::sign
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs
    functionUses: 0
    functionsReached:
    - digest::digest
    - EcdsaKeyPair::sign_digest
    - cpu::features
    linkageType: ''
    returnType: Result
    signature: 'pub fn sign(&self,rng: &dyn rand::SecureRandom,message: &[u8],) ->
      Result<signature::Signature, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_modulus
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:243,1
    - Dst: scalar_modulus
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:244,1
    - Dst: private_key::random_scalar
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:249,1
    - Dst: scalar_inv_to_mont
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:250,1
    - Dst: point_mul_base
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:253,1
    - Dst: private_key::affine_from_jacobian
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:257,1
    - Dst: bool::elem_unencoded
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:258,1
    - Dst: elem_reduced_to_scalar
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:259,1
    - Dst: is_zero
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:261,1
    - Dst: super::digest_scalar::digest_scalar
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:268,1
    - Dst: scalar_product
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:272,1
    - Dst: add_assign
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:273,1
    - Dst: scalar_product
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:274,1
    - Dst: is_zero
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:276,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:281,1
    - Dst: signature::Signature::new
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:281,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:286,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 75
    argCount: 3
    argNames:
    - h
    - rng
    - cpu
    argTypes:
    - digest::Digest
    - '&dyn rand::SecureRandom'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 287
      start: 209
    functionDepth: 14
    functionLinenumber: 209
    functionLinenumberEnd: 287
    functionName: EcdsaKeyPair::sign_digest
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs
    functionUses: 2
    functionsReached:
    - elem_modulus
    - scalar_inv_to_mont
    - is_zero
    - point_mul_base
    - private_key::affine_from_jacobian
    - Ok
    - Err
    - scalar_modulus
    - add_assign
    - elem_reduced_to_scalar
    - super::digest_scalar::digest_scalar
    - signature::Signature::new
    - scalar_product
    - private_key::random_scalar
    - bool::elem_unencoded
    linkageType: ''
    returnType: Result
    signature: 'fn sign_digest(&self,h: digest::Digest,rng: &dyn rand::SecureRandom,cpu:
      cpu::Features,) -> Result<signature::Signature, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EcdsaKeyPair::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs:316,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs:316,1
    - Dst: Option::to_pkcs8v1
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs:317,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs:317,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs:318,1
    - Dst: EcdsaKeyPair::from_private_key_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs:325,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 329
      start: 307
    functionDepth: 18
    functionLinenumber: 307
    functionLinenumberEnd: 329
    functionName: tests::test_reject_wrong_curve
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs
    functionUses: 0
    functionsReached:
    - Result::as_ref
    - Option::to_pkcs8v1
    - unwrap
    - Result::unwrap
    - EcdsaKeyPair::generate
    - EcdsaKeyPair::from_private_key_der
    linkageType: ''
    returnType: void
    signature: fn test_reject_wrong_curve()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EcdsaKeyPair::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs:333,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs:333,1
    - Dst: Option::to_pkcs8v1
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs:335,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs:335,1
    - Dst: Option::private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs:336,1
    - Dst: Option::as_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs:336,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs:336,1
    - Dst: EcdsaKeyPair::from_private_key_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs:338,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs:340,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs:338,1
    - Dst: EcdsaKeyPair::from_private_key_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs:343,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs:345,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 353
      start: 332
    functionDepth: 18
    functionLinenumber: 332
    functionLinenumberEnd: 353
    functionName: tests::test_from_private_key_der
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs
    functionUses: 0
    functionsReached:
    - Option::to_pkcs8v1
    - Result::as_ref
    - unwrap
    - EcdsaKeyPair::from_private_key_der
    - Result::unwrap
    - EcdsaKeyPair::generate
    - Option::as_der
    - Option::private_key
    linkageType: ''
    returnType: void
    signature: fn test_from_private_key_der()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: EcdsaSigningAlgorithm::deref
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&Self::Target'
    signature: fn deref(&self) -> &Self::Target
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: AlgorithmID::private_key_size
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub(crate) fn private_key_size(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ec::compressed_public_key_size_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:91,1
    - Dst: ec::compressed_public_key_size_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:93,1
    - Dst: ec::compressed_public_key_size_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: AlgorithmID::compressed_pub_key_len
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs
    functionUses: 0
    functionsReached:
    - ec::compressed_public_key_size_bytes
    linkageType: ''
    returnType: usize
    signature: const fn compressed_pub_key_len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ec::encoding::sec1::marshal_sec1_public_point
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:112,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:114,1
    - Dst: Result::clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:115,1
    - Dst: into_boxed_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - evp_pkey
    - algorithm
    argTypes:
    - '&LcPtr<EVP_PKEY>'
    - '&''static EcdsaSigningAlgorithm'
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: public_key_from_evp_pkey
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs
    functionUses: 0
    functionsReached:
    - into_boxed_slice
    - ec::encoding::sec1::marshal_sec1_public_point
    - Result::clone
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn public_key_from_evp_pkey(evp_pkey: &LcPtr<EVP_PKEY>,algorithm:
      &''static EcdsaSigningAlgorithm,) -> Result<PublicKey, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:59,1
    - Dst: digest::digest
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:63,1
    - Dst: SpdmResult::as_slice_less_safe
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:63,1
    - Dst: scalar_modulus
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:67,1
    - Dst: super::digest_scalar::digest_scalar
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:68,1
    - Dst: EcdsaVerificationAlgorithm::verify_digest
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - public_key
    - msg
    - signature
    argTypes:
    - untrusted::Input
    - untrusted::Input
    - untrusted::Input
    constantsTouched: []
    func_position:
      end: 72
      start: 53
    functionDepth: 14
    functionLinenumber: 53
    functionLinenumberEnd: 72
    functionName: EcdsaVerificationAlgorithm::verify
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs
    functionUses: 0
    functionsReached:
    - EcdsaVerificationAlgorithm::verify_digest
    - SpdmResult::as_slice_less_safe
    - cpu::features
    - digest::digest
    - scalar_modulus
    - super::digest_scalar::digest_scalar
    linkageType: ''
    returnType: Result
    signature: 'fn verify(&self,public_key: untrusted::Input,msg: untrusted::Input,signature:
      untrusted::Input,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ec::encoding::parse_ec_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:198,1
    - Dst: nid
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:198,1
    - Dst: EcdsaVerificationAlgorithm::verify_ecdsa
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - public_key
    - msg
    - signature
    argTypes:
    - '&[u8]'
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 12
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: EcdsaVerificationAlgorithm::verify_sig
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs
    functionUses: 0
    functionsReached:
    - EcdsaVerificationAlgorithm::verify_ecdsa
    - nid
    - ec::encoding::parse_ec_public_key
    linkageType: ''
    returnType: Result
    signature: 'fn verify_sig(&self,public_key: &[u8],msg: &[u8],signature: &[u8],)
      -> Result<(), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ec::encoding::parse_ec_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:208,1
    - Dst: nid
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:208,1
    - Dst: EcdsaVerificationAlgorithm::verify_digest_ecdsa
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - public_key
    - digest
    - signature
    argTypes:
    - '&[u8]'
    - '&digest::Digest'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 211
      start: 202
    functionDepth: 12
    functionLinenumber: 202
    functionLinenumberEnd: 211
    functionName: EcdsaVerificationAlgorithm::verify_digest_sig
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs
    functionUses: 0
    functionsReached:
    - nid
    - ec::encoding::parse_ec_public_key
    - EcdsaVerificationAlgorithm::verify_digest_ecdsa
    linkageType: ''
    returnType: Result
    signature: 'fn verify_digest_sig(&self,public_key: &[u8],digest: &digest::Digest,signature:
      &[u8],) -> Result<(), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verify_asn1_signature
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:223,1
    - Dst: convert_fixed_signature
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:226,1
    - Dst: verify_asn1_signature
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:227,1
    - Dst: as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - msg
    - signature
    - public_key
    argTypes:
    - '&[u8]'
    - '&[u8]'
    - '&LcPtr<EVP_PKEY>'
    constantsTouched: []
    func_position:
      end: 232
      start: 215
    functionDepth: 11
    functionLinenumber: 215
    functionLinenumberEnd: 232
    functionName: EcdsaVerificationAlgorithm::verify_ecdsa
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs
    functionUses: 2
    functionsReached:
    - verify_asn1_signature
    - as_slice
    - convert_fixed_signature
    linkageType: ''
    returnType: Result
    signature: 'fn verify_ecdsa(&self,msg: &[u8],signature: &[u8],public_key: &LcPtr<EVP_PKEY>,)
      -> Result<(), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Digest::algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:240,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:241,1
    - Dst: verify_asn1_digest_signature
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:245,1
    - Dst: convert_fixed_signature
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:248,1
    - Dst: verify_asn1_digest_signature
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:249,1
    - Dst: as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:250,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - digest
    - signature
    - public_key
    argTypes:
    - '&Digest'
    - '&[u8]'
    - '&LcPtr<EVP_PKEY>'
    constantsTouched: []
    func_position:
      end: 254
      start: 234
    functionDepth: 11
    functionLinenumber: 234
    functionLinenumberEnd: 254
    functionName: EcdsaVerificationAlgorithm::verify_digest_ecdsa
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs
    functionUses: 2
    functionsReached:
    - Digest::algorithm
    - Err
    - convert_fixed_signature
    - verify_asn1_digest_signature
    - as_slice
    linkageType: ''
    returnType: Result
    signature: 'fn verify_digest_ecdsa(&self,digest: &Digest,signature: &[u8],public_key:
      &LcPtr<EVP_PKEY>,) -> Result<(), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EcdsaVerificationAlgorithm::verify_ecdsa
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:264,1
    - Dst: '&[u8]::key'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - public_key
    - msg
    - signature
    argTypes:
    - '&ParsedPublicKey'
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 265
      start: 258
    functionDepth: 12
    functionLinenumber: 258
    functionLinenumberEnd: 265
    functionName: EcdsaVerificationAlgorithm::parsed_verify_sig
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs
    functionUses: 0
    functionsReached:
    - EcdsaVerificationAlgorithm::verify_ecdsa
    - '&[u8]::key'
    linkageType: ''
    returnType: Result
    signature: 'fn parsed_verify_sig(&self,public_key: &ParsedPublicKey,msg: &[u8],signature:
      &[u8],) -> Result<(), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EcdsaVerificationAlgorithm::verify_digest_ecdsa
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:273,1
    - Dst: '&[u8]::key'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - public_key
    - digest
    - signature
    argTypes:
    - '&ParsedPublicKey'
    - '&Digest'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 274
      start: 267
    functionDepth: 12
    functionLinenumber: 267
    functionLinenumberEnd: 274
    functionName: EcdsaVerificationAlgorithm::parsed_verify_digest_sig
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::key'
    - EcdsaVerificationAlgorithm::verify_digest_ecdsa
    linkageType: ''
    returnType: Result
    signature: 'fn parsed_verify_digest_sig(&self,public_key: &ParsedPublicKey,digest:
      &Digest,signature: &[u8],) -> Result<(), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: null_mut::<u8>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:281,1
    - Dst: MaybeUninit::<usize>::uninit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:282,1
    - Dst: ecdsa_sig_from_fixed
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:283,1
    - Dst: aws_lc::ECDSA_SIG_to_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:285,1
    - Dst: DigestContext::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:287,1
    - Dst: Result::as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:288,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:291,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:293,1
    - Dst: LcPtr::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:293,1
    - Dst: DigestContext::assume_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:294,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - alg
    - signature
    argTypes:
    - '&''static AlgorithmID'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 296
      start: 277
    functionDepth: 10
    functionLinenumber: 277
    functionLinenumberEnd: 296
    functionName: convert_fixed_signature
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs
    functionUses: 2
    functionsReached:
    - LcPtr::new
    - Ok
    - aws_lc::ECDSA_SIG_to_bytes
    - Err
    - MaybeUninit::<usize>::uninit
    - null_mut::<u8>
    - DigestContext::as_mut_ptr
    - ecdsa_sig_from_fixed
    - DigestContext::assume_init
    - Result::as_const_ptr
    linkageType: ''
    returnType: Result
    signature: 'fn convert_fixed_signature(alg: &''static AlgorithmID,signature: &[u8],)
      -> Result<(LcPtr<u8>, usize), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::verify'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:304,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - digest_alg
    - public_key
    - msg
    - signature
    argTypes:
    - '&''static digest::Algorithm'
    - '&LcPtr<EVP_PKEY>'
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 305
      start: 298
    functionDepth: 6
    functionLinenumber: 298
    functionLinenumberEnd: 305
    functionName: verify_asn1_signature
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs
    functionUses: 1
    functionsReached:
    - '&[u8]::verify'
    - Some
    linkageType: ''
    returnType: Result
    signature: 'fn verify_asn1_signature(digest_alg: &''static digest::Algorithm,public_key:
      &LcPtr<EVP_PKEY>,msg: &[u8],signature: &[u8],) -> Result<(), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::verify_digest_sig'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - digest
    - public_key
    - signature
    argTypes:
    - '&Digest'
    - '&LcPtr<EVP_PKEY>'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 313
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 313
    functionName: verify_asn1_digest_signature
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs
    functionUses: 1
    functionsReached:
    - '&[u8]::verify_digest_sig'
    linkageType: ''
    returnType: Result
    signature: 'fn verify_asn1_digest_signature(digest: &Digest,public_key: &LcPtr<EVP_PKEY>,signature:
      &[u8],) -> Result<(), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&''static AlgorithmID::private_key_size'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:320,1
    - Dst: Result::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:321,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:322,1
    - Dst: DetachableLcPtr::<BIGNUM>::try_from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:324,1
    - Dst: DetachableLcPtr::<BIGNUM>::try_from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:325,1
    - Dst: LcPtr::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:327,1
    - Dst: ECDSA_SIG_new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:327,1
    - Dst: aws_lc::ECDSA_SIG_set0
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:329,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:329,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:329,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:329,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:330,1
    - Dst: detach
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:332,1
    - Dst: detach
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:333,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs:335,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 46
    argCount: 2
    argNames:
    - alg_id
    - signature
    argTypes:
    - '&''static AlgorithmID'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 336
      start: 316
    functionDepth: 9
    functionLinenumber: 316
    functionLinenumberEnd: 336
    functionName: ecdsa_sig_from_fixed
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs
    functionUses: 1
    functionsReached:
    - LcPtr::new
    - ECDSA_SIG_new
    - Result::len
    - DetachableLcPtr::<BIGNUM>::try_from
    - Err
    - as_mut_ptr
    - aws_lc::ECDSA_SIG_set0
    - '&''static AlgorithmID::private_key_size'
    - detach
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'unsafe fn ecdsa_sig_from_fixed(alg_id: &''static AlgorithmID,signature:
      &[u8],) -> Result<LcPtr<ECDSA_SIG>, ()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:27,1
    - Dst: ParsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:28,1
    - Dst: nid
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:28,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 6
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: test_parsed_public_key_x25519_raw
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - ParsedPublicKey::new
    - nid
    - test::from_dirty_hex
    linkageType: ''
    returnType: void
    signature: fn test_parsed_public_key_x25519_raw()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PrivateKey::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:37,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:37,1
    - Dst: Option::compute_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:38,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:38,1
    - Dst: '&[u8]::as_der'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:39,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:39,1
    - Dst: ParsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:41,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:41,1
    - Dst: nid
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:41,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 36
    functionDepth: 11
    functionLinenumber: 36
    functionLinenumberEnd: 45
    functionName: test_parsed_public_key_x25519_x509
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs
    functionUses: 0
    functionsReached:
    - PrivateKey::generate
    - nid
    - Result::unwrap
    - ParsedPublicKey::new
    - Option::compute_public_key
    - '&[u8]::as_der'
    - as_ref
    linkageType: ''
    returnType: void
    signature: fn test_parsed_public_key_x25519_x509()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:49,1
    - Dst: ParsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:52,1
    - Dst: nid
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:52,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 6
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: test_parsed_public_key_p256_uncompressed
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - ParsedPublicKey::new
    - nid
    - test::from_dirty_hex
    linkageType: ''
    returnType: void
    signature: fn test_parsed_public_key_p256_uncompressed()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PrivateKey::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:60,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:60,1
    - Dst: Option::compute_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:61,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:61,1
    - Dst: '&[u8]::as_be_bytes'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:62,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:62,1
    - Dst: ParsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:64,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:64,1
    - Dst: nid
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:64,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 5
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: test_parsed_public_key_p256_compressed
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::as_be_bytes'
    - PrivateKey::generate
    - nid
    - Result::unwrap
    - ParsedPublicKey::new
    - Option::compute_public_key
    - as_ref
    linkageType: ''
    returnType: void
    signature: fn test_parsed_public_key_p256_compressed()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PrivateKey::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:72,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:72,1
    - Dst: Option::compute_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:73,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:73,1
    - Dst: '&[u8]::as_der'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:74,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:74,1
    - Dst: ParsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:76,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:76,1
    - Dst: nid
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:76,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 71
    functionDepth: 11
    functionLinenumber: 71
    functionLinenumberEnd: 80
    functionName: test_parsed_public_key_p256_x509
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs
    functionUses: 0
    functionsReached:
    - PrivateKey::generate
    - nid
    - Result::unwrap
    - ParsedPublicKey::new
    - Option::compute_public_key
    - '&[u8]::as_der'
    - as_ref
    linkageType: ''
    returnType: void
    signature: fn test_parsed_public_key_p256_x509()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PrivateKey::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:84,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:84,1
    - Dst: Option::compute_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:85,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:85,1
    - Dst: '&[u8]::as_der'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:86,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:86,1
    - Dst: ParsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:88,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:88,1
    - Dst: nid
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:88,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 11
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: test_parsed_public_key_p384
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs
    functionUses: 0
    functionsReached:
    - PrivateKey::generate
    - nid
    - Result::unwrap
    - ParsedPublicKey::new
    - Option::compute_public_key
    - '&[u8]::as_der'
    - as_ref
    linkageType: ''
    returnType: void
    signature: fn test_parsed_public_key_p384()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PrivateKey::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:96,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:96,1
    - Dst: Option::compute_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:97,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:97,1
    - Dst: '&[u8]::as_der'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:98,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:98,1
    - Dst: ParsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:100,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:100,1
    - Dst: nid
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:100,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 11
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: test_parsed_public_key_p521
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs
    functionUses: 0
    functionsReached:
    - PrivateKey::generate
    - nid
    - Result::unwrap
    - ParsedPublicKey::new
    - Option::compute_public_key
    - '&[u8]::as_der'
    - as_ref
    linkageType: ''
    returnType: void
    signature: fn test_parsed_public_key_p521()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: test_parsed_public_key_invalid_empty
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_parsed_public_key_invalid_empty()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: test_parsed_public_key_invalid_nid
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs
    functionUses: 0
    functionsReached:
    - test::from_dirty_hex
    linkageType: ''
    returnType: void
    signature: fn test_parsed_public_key_invalid_nid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PrivateKey::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:137,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:137,1
    - Dst: PrivateKey::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:138,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:138,1
    - Dst: Result::compute_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:139,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:139,1
    - Dst: ParsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:141,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:141,1
    - Dst: nid
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:141,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:141,1
    - Dst: agree
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:143,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 136
    functionDepth: 9
    functionLinenumber: 136
    functionLinenumberEnd: 145
    functionName: test_agree_with_parsed_public_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs
    functionUses: 0
    functionsReached:
    - Result::as_ref
    - PrivateKey::generate
    - nid
    - Result::unwrap
    - ParsedPublicKey::new
    - agree
    - Result::compute_public_key
    - Ok
    linkageType: ''
    returnType: void
    signature: fn test_agree_with_parsed_public_key()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PrivateKey::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:149,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:149,1
    - Dst: PrivateKey::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:150,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:150,1
    - Dst: Result::compute_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:151,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:151,1
    - Dst: ParsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:153,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:153,1
    - Dst: nid
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:153,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:153,1
    - Dst: agree
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:155,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 148
    functionDepth: 9
    functionLinenumber: 148
    functionLinenumberEnd: 157
    functionName: test_agree_with_parsed_public_key_algorithm_mismatch
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs
    functionUses: 0
    functionsReached:
    - Result::as_ref
    - PrivateKey::generate
    - nid
    - Result::unwrap
    - ParsedPublicKey::new
    - agree
    - Result::compute_public_key
    - Ok
    linkageType: ''
    returnType: void
    signature: fn test_agree_with_parsed_public_key_algorithm_mismatch()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 181
    functionName: test_parsed_public_key_format_debug
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_parsed_public_key_format_debug()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: t::e::s::t::_::p::a::r::s::e::d::_::p::u::b::l::i::c::_::k::e::y::_::s::e::n::d::_::s::y::n::c::assert_send
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn assert_send<T: Send>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: t::e::s::t::_::p::a::r::s::e::d::_::p::u::b::l::i::c::_::k::e::y::_::s::e::n::d::_::s::y::n::c::assert_sync
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn assert_sync<T: Sync>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_send::<ParsedPublicKey>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:188,1
    - Dst: assert_sync::<ParsedPublicKey>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: test_parsed_public_key_send_sync
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs
    functionUses: 0
    functionsReached:
    - assert_sync::<ParsedPublicKey>
    - assert_send::<ParsedPublicKey>
    linkageType: ''
    returnType: void
    signature: fn test_parsed_public_key_send_sync()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::write_str
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 22
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 22
    functionName: EphemeralPrivateKey::fmt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs
    functionUses: 0
    functionsReached:
    - SpdmCertChainBuffer::write_str
    linkageType: ''
    returnType: Result
    signature: 'fn fmt(&self, f: &mut Formatter<''_>) -> Result<(), fmt::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/agreement.rs:110,1
    - Dst: ec::Seed::generate
      Src: /src/spdm-rs/external/ring/src/agreement.rs:116,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/agreement.rs:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - alg
    - rng
    argTypes:
    - '&''static Algorithm'
    - '&dyn rand::SecureRandom'
    constantsTouched: []
    func_position:
      end: 121
      start: 106
    functionDepth: 14
    functionLinenumber: 106
    functionLinenumberEnd: 121
    functionName: EphemeralPrivateKey::generate
    functionSourceFile: /src/spdm-rs/external/ring/src/agreement.rs
    functionUses: 11
    functionsReached:
    - ec::Seed::generate
    - Ok
    - cpu::features
    linkageType: ''
    returnType: Result
    signature: 'pub fn generate(alg: &''static Algorithm,rng: &dyn rand::SecureRandom,)
      -> Result<Self, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:49,1
    - Dst: Self
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:49,1
    - Dst: PrivateKey::generate_for_test
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - alg
    - rng
    argTypes:
    - '&''static Algorithm'
    - '&mut dyn SecureRandom'
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 13
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: EphemeralPrivateKey::generate_for_test
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs
    functionUses: 7
    functionsReached:
    - Self
    - PrivateKey::generate_for_test
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn generate_for_test(alg: &''static Algorithm,rng: &mut dyn SecureRandom,)
      -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: compute_public_key
      Src: /src/spdm-rs/external/ring/src/agreement.rs:131,1
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/agreement.rs:132,1
    - Dst: map
      Src: /src/spdm-rs/external/ring/src/agreement.rs:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 125
    functionDepth: 16
    functionLinenumber: 125
    functionLinenumberEnd: 137
    functionName: EphemeralPrivateKey::compute_public_key
    functionSourceFile: /src/spdm-rs/external/ring/src/agreement.rs
    functionUses: 0
    functionsReached:
    - compute_public_key
    - map
    - cpu::features
    linkageType: ''
    returnType: Result
    signature: pub fn compute_public_key(&self) -> Result<PublicKey, error::Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: EphemeralPrivateKey::algorithm
    functionSourceFile: /src/spdm-rs/external/ring/src/agreement.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''static Algorithm'
    signature: pub fn algorithm(&self) -> &'static Algorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::bench_function
      Src: /src/spdm-rs/external/ring/bench/agreement.rs:55,1
    - Dst: bench_name
      Src: /src/spdm-rs/external/ring/bench/agreement.rs:55,1
    - Dst: rand::SystemRandom::new
      Src: /src/spdm-rs/external/ring/bench/agreement.rs:56,1
    - Dst: agreement::EphemeralPrivateKey::generate
      Src: /src/spdm-rs/external/ring/bench/agreement.rs:59,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/bench/agreement.rs:59,1
    - Dst: Result::compute_public_key
      Src: /src/spdm-rs/external/ring/bench/agreement.rs:60,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/bench/agreement.rs:60,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/bench/agreement.rs:62,1
    - Dst: SpdmResult::iter_batched
      Src: /src/spdm-rs/external/ring/bench/agreement.rs:64,1
    - Dst: EphemeralPrivateKey::generate
      Src: /src/spdm-rs/external/ring/bench/agreement.rs:65,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/bench/agreement.rs:65,1
    - Dst: UnparsedPublicKey::new
      Src: /src/spdm-rs/external/ring/bench/agreement.rs:67,1
    - Dst: agreement::agree_ephemeral
      Src: /src/spdm-rs/external/ring/bench/agreement.rs:68,1
    - Dst: criterion::black_box
      Src: /src/spdm-rs/external/ring/bench/agreement.rs:69,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/ring/bench/agreement.rs:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 77
      start: 53
    functionDepth: 15
    functionLinenumber: 53
    functionLinenumberEnd: 77
    functionName: agree_ephemeral
    functionSourceFile: /src/spdm-rs/external/ring/bench/agreement.rs
    functionUses: 12
    functionsReached:
    - UnparsedPublicKey::new
    - bool::bench_function
    - unwrap
    - bench_name
    - EphemeralPrivateKey::generate
    - agreement::agree_ephemeral
    - Result::unwrap
    - criterion::black_box
    - SpdmResult::iter_batched
    - agreement::EphemeralPrivateKey::generate
    - Result::compute_public_key
    - as_ref
    - rand::SystemRandom::new
    linkageType: ''
    returnType: void
    signature: 'fn agree_ephemeral(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: x25519
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:131,1
    - Dst: Result::clone_from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - expected_result
    - range
    - k
    - u
    argTypes:
    - '&str'
    - core::ops::Range<usize>
    - '&mut Vec<u8>'
    - '&mut Vec<u8>'
    constantsTouched: []
    func_position:
      end: 136
      start: 124
    functionDepth: 17
    functionLinenumber: 124
    functionLinenumberEnd: 136
    functionName: t::e::s::t::s::::::::t::e::s::t::_::a::g::r::e::e::m::e::n::t::_::e::c::d::h::_::x::2::5::5::1::9::_::r::f::c::_::i::t::e::r::a::t::e::d::expect_iterated_x25519
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs
    functionUses: 0
    functionsReached:
    - Result::clone_from
    - x25519
    linkageType: ''
    returnType: void
    signature: 'fn expect_iterated_x25519(expected_result: &str,range: core::ops::Range<usize>,k:
      &mut Vec<u8>,u: &mut Vec<u8>,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:138,1
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:139,1
    - Dst: expect_iterated_x25519
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:141,1
    - Dst: expect_iterated_x25519
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:147,1
    - Dst: expect_iterated_x25519
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 123
    functionDepth: 18
    functionLinenumber: 123
    functionLinenumberEnd: 172
    functionName: tests::test_agreement_ecdh_x25519_rfc_iterated
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs
    functionUses: 0
    functionsReached:
    - expect_iterated_x25519
    - clone
    - from_hex
    linkageType: ''
    returnType: void
    signature: fn test_agreement_ecdh_x25519_rfc_iterated()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: agreement::UnparsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:177,1
    - Dst: test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:179,1
    - Dst: test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:184,1
    - Dst: agreement::EphemeralPrivateKey::generate_for_test
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:190,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:190,1
    - Dst: test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:193,1
    - Dst: test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:196,1
    - Dst: compute_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:202,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:202,1
    - Dst: agreement::agree_ephemeral
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:207,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 175
    functionDepth: 14
    functionLinenumber: 175
    functionLinenumberEnd: 212
    functionName: tests::test_agreement_x25519
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs
    functionUses: 0
    functionsReached:
    - agreement::EphemeralPrivateKey::generate_for_test
    - test::from_dirty_hex
    - compute_public_key
    - agreement::UnparsedPublicKey::new
    - unwrap
    - agreement::agree_ephemeral
    - Result::unwrap
    - Ok
    linkageType: ''
    returnType: void
    signature: fn test_agreement_x25519()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: agreement::UnparsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:217,1
    - Dst: test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:219,1
    - Dst: test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:226,1
    - Dst: agreement::EphemeralPrivateKey::generate_for_test
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:232,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:232,1
    - Dst: test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:235,1
    - Dst: test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:238,1
    - Dst: compute_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:244,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:244,1
    - Dst: agreement::agree_ephemeral
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:249,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 215
    functionDepth: 14
    functionLinenumber: 215
    functionLinenumberEnd: 254
    functionName: tests::test_agreement_ecdh_p256
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs
    functionUses: 0
    functionsReached:
    - agreement::EphemeralPrivateKey::generate_for_test
    - test::from_dirty_hex
    - compute_public_key
    - agreement::UnparsedPublicKey::new
    - unwrap
    - agreement::agree_ephemeral
    - Result::unwrap
    - Ok
    linkageType: ''
    returnType: void
    signature: fn test_agreement_ecdh_p256()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: agreement::UnparsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:259,1
    - Dst: test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:261,1
    - Dst: test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:266,1
    - Dst: agreement::EphemeralPrivateKey::generate_for_test
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:272,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:272,1
    - Dst: test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:275,1
    - Dst: test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:278,1
    - Dst: compute_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:284,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:284,1
    - Dst: agreement::agree_ephemeral
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:289,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 294
      start: 257
    functionDepth: 14
    functionLinenumber: 257
    functionLinenumberEnd: 294
    functionName: tests::test_agreement_ecdh_p384
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs
    functionUses: 0
    functionsReached:
    - agreement::EphemeralPrivateKey::generate_for_test
    - test::from_dirty_hex
    - compute_public_key
    - agreement::UnparsedPublicKey::new
    - unwrap
    - agreement::agree_ephemeral
    - Result::unwrap
    - Ok
    linkageType: ''
    returnType: void
    signature: fn test_agreement_ecdh_p384()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: agreement::UnparsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:299,1
    - Dst: test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:301,1
    - Dst: test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:306,1
    - Dst: agreement::EphemeralPrivateKey::generate_for_test
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:312,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:312,1
    - Dst: test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:315,1
    - Dst: test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:318,1
    - Dst: compute_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:324,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:324,1
    - Dst: agreement::agree_ephemeral
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:329,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 334
      start: 297
    functionDepth: 14
    functionLinenumber: 297
    functionLinenumberEnd: 334
    functionName: tests::test_agreement_ecdh_p521
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs
    functionUses: 0
    functionsReached:
    - agreement::EphemeralPrivateKey::generate_for_test
    - test::from_dirty_hex
    - compute_public_key
    - agreement::UnparsedPublicKey::new
    - unwrap
    - agreement::agree_ephemeral
    - Result::unwrap
    - Ok
    linkageType: ''
    returnType: void
    signature: fn test_agreement_ecdh_p521()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand::SystemRandom::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:340,1
    - Dst: agreement::EphemeralPrivateKey::generate_for_test
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:343,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:343,1
    - Dst: test::compile_time_assert_send::<agreement::EphemeralPrivateKey>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:346,1
    - Dst: test::compile_time_assert_sync::<agreement::EphemeralPrivateKey>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 353
      start: 337
    functionDepth: 14
    functionLinenumber: 337
    functionLinenumberEnd: 353
    functionName: tests::agreement_traits
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs
    functionUses: 0
    functionsReached:
    - agreement::EphemeralPrivateKey::generate_for_test
    - test::compile_time_assert_sync::<agreement::EphemeralPrivateKey>
    - Result::unwrap
    - test::compile_time_assert_send::<agreement::EphemeralPrivateKey>
    - rand::SystemRandom::new
    linkageType: ''
    returnType: void
    signature: fn agreement_traits()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AsDer::<PublicKeyX509Der>::as_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:363,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:363,1
    - Dst: AsBigEndian::<EcPublicKeyCompressedBin>::as_be_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:376,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:376,1
    - Dst: AsBigEndian::<EcPublicKeyUncompressedBin>::as_be_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:384,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 4
    argNames:
    - algorithm
    - expected_format
    - expected_public_key_bytes
    - computed_public
    argTypes:
    - '&AlgorithmID'
    - '&str'
    - '&[u8]'
    - '&PublicKey'
    constantsTouched: []
    func_position:
      end: 396
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 396
    functionName: tests::check_computed_public_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs
    functionUses: 0
    functionsReached:
    - AsBigEndian::<EcPublicKeyUncompressedBin>::as_be_bytes
    - Result::expect
    - AsBigEndian::<EcPublicKeyCompressedBin>::as_be_bytes
    - AsDer::<PublicKeyX509Der>::as_der
    linkageType: ''
    returnType: void
    signature: 'fn check_computed_public_key(algorithm: &AlgorithmID,expected_format:
      &str,expected_public_key_bytes: &[u8],computed_public: &PublicKey,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand::SystemRandom::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:400,1
    - Dst: test::run
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:402,1
    - Dst: test_file
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:403,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:407,1
    - Dst: alg_from_curve_name
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:408,1
    - Dst: agreement::UnparsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:410,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:410,1
    - Dst: Option::consume_optional_string
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:412,1
    - Dst: Option::unwrap_or_default
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:412,1
    - Dst: Option::consume_optional_string
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:416,1
    - Dst: Option::is_none
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:416,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:417,1
    - Dst: agreement::EphemeralPrivateKey::generate_for_test
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:422,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:424,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:425,1
    - Dst: compute_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:429,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:429,1
    - Dst: check_computed_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:431,1
    - Dst: agreement::agree_ephemeral
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:436,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:438,1
    - Dst: agreement::EphemeralPrivateKey::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:453,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:463,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 466
      start: 399
    functionDepth: 10
    functionLinenumber: 399
    functionLinenumberEnd: 466
    functionName: tests::agreement_agree_ephemeral
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs
    functionUses: 0
    functionsReached:
    - agreement::EphemeralPrivateKey::generate_for_test
    - Option::consume_string
    - Ok
    - compute_public_key
    - agreement::UnparsedPublicKey::new
    - unwrap
    - alg_from_curve_name
    - check_computed_public_key
    - Option::consume_optional_string
    - Option::is_none
    - agreement::agree_ephemeral
    - agreement::EphemeralPrivateKey::generate
    - Option::consume_bytes
    - test::run
    - test_file
    - rand::SystemRandom::new
    - Option::unwrap_or_default
    linkageType: ''
    returnType: void
    signature: fn agreement_agree_ephemeral()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::from_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:469,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 475
      start: 468
    functionDepth: 5
    functionLinenumber: 468
    functionLinenumberEnd: 475
    functionName: tests::from_hex
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs
    functionUses: 0
    functionsReached:
    - test::from_hex
    linkageType: ''
    returnType: Vec
    signature: 'fn from_hex(s: &str) -> Vec<u8>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - curve_name
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 489
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 489
    functionName: tests::alg_from_curve_name
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''static agreement::Algorithm'
    signature: 'fn alg_from_curve_name(curve_name: &str) -> &''static agreement::Algorithm'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_x25519
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:492,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - private_key
    - public_key
    argTypes:
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 493
      start: 491
    functionDepth: 15
    functionLinenumber: 491
    functionLinenumberEnd: 493
    functionName: tests::x25519
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - try_x25519
    linkageType: ''
    returnType: Vec
    signature: 'fn x25519(private_key: &[u8], public_key: &[u8]) -> Vec<u8>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: agreement::EphemeralPrivateKey::generate_for_test
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:498,1
    - Dst: agreement::UnparsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:499,1
    - Dst: agreement::agree_ephemeral
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:500,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:501,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs:501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - private_key
    - public_key
    argTypes:
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 503
      start: 495
    functionDepth: 14
    functionLinenumber: 495
    functionLinenumberEnd: 503
    functionName: tests::try_x25519
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs
    functionUses: 0
    functionsReached:
    - agreement::EphemeralPrivateKey::generate_for_test
    - agreement::UnparsedPublicKey::new
    - agreement::agree_ephemeral
    - Vec::from
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn try_x25519(private_key: &[u8], public_key: &[u8]) -> Result<Vec<u8>,
      Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnparsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:17,1
    - Dst: test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:19,1
    - Dst: test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:23,1
    - Dst: PrivateKey::generate_for_test
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:27,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:27,1
    - Dst: test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:31,1
    - Dst: test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:33,1
    - Dst: as_be_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:37,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:37,1
    - Dst: PrivateKey::from_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:39,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:39,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:39,1
    - Dst: agree
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:41,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:43,1
    - Dst: compute_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:48,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:48,1
    - Dst: agree
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:53,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:55,1
    - Dst: agree
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:60,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 15
    functionDepth: 13
    functionLinenumber: 15
    functionLinenumberEnd: 66
    functionName: test_agreement_x25519
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs
    functionUses: 0
    functionsReached:
    - UnparsedPublicKey::new
    - test::from_dirty_hex
    - PrivateKey::generate_for_test
    - compute_public_key
    - unwrap
    - as_be_bytes
    - Result::unwrap
    - agree
    - PrivateKey::from_private_key
    - as_ref
    - Ok
    linkageType: ''
    returnType: void
    signature: fn test_agreement_x25519()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - alg
    - my_private_key
    - test_key
    argTypes:
    - '&''static Algorithm'
    - '&PrivateKey'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 80
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 80
    functionName: t::e::s::t::_::a::g::r::e::e::m::e::n::t::_::i::n::v::a::l::i::d::_::k::e::y::s::test_with_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn test_with_key(alg: &''static Algorithm, my_private_key: &PrivateKey,
      test_key: &[u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PrivateKey::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:85,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:85,1
    - Dst: test_with_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:88,1
    - Dst: test_with_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 69
    functionDepth: 5
    functionLinenumber: 69
    functionLinenumberEnd: 96
    functionName: test_agreement_invalid_keys
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - PrivateKey::generate
    - test_with_key
    linkageType: ''
    returnType: void
    signature: fn test_agreement_invalid_keys()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnparsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:101,1
    - Dst: test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:103,1
    - Dst: test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:111,1
    - Dst: PrivateKey::generate_for_test
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:115,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:115,1
    - Dst: test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:118,1
    - Dst: test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:122,1
    - Dst: as_be_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:126,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:126,1
    - Dst: PrivateKey::from_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:128,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:128,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:128,1
    - Dst: agree
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:130,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:132,1
    - Dst: as_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:137,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:137,1
    - Dst: PrivateKey::from_private_key_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:139,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:139,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:139,1
    - Dst: agree
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:141,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:143,1
    - Dst: as_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:148,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:148,1
    - Dst: PrivateKey::from_private_key_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:150,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:150,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:150,1
    - Dst: agree
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:152,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:154,1
    - Dst: compute_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:159,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:159,1
    - Dst: agree
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:165,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:167,1
    - Dst: agree
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:173,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 101
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 99
    functionDepth: 13
    functionLinenumber: 99
    functionLinenumberEnd: 179
    functionName: test_agreement_ecdh_p256
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs
    functionUses: 0
    functionsReached:
    - UnparsedPublicKey::new
    - test::from_dirty_hex
    - PrivateKey::generate_for_test
    - as_der
    - unwrap
    - compute_public_key
    - as_be_bytes
    - PrivateKey::from_private_key_der
    - Result::unwrap
    - agree
    - PrivateKey::from_private_key
    - as_ref
    - Ok
    linkageType: ''
    returnType: void
    signature: fn test_agreement_ecdh_p256()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnparsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:184,1
    - Dst: test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:186,1
    - Dst: test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:191,1
    - Dst: PrivateKey::generate_for_test
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:197,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:197,1
    - Dst: test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:200,1
    - Dst: test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:203,1
    - Dst: as_be_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:209,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:209,1
    - Dst: PrivateKey::from_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:211,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:211,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:211,1
    - Dst: agree
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:213,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:215,1
    - Dst: as_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:220,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:220,1
    - Dst: PrivateKey::from_private_key_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:222,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:222,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:222,1
    - Dst: agree
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:224,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:226,1
    - Dst: compute_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:231,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:231,1
    - Dst: agree
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:237,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 182
    functionDepth: 13
    functionLinenumber: 182
    functionLinenumberEnd: 243
    functionName: test_agreement_ecdh_p384
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs
    functionUses: 0
    functionsReached:
    - UnparsedPublicKey::new
    - test::from_dirty_hex
    - PrivateKey::generate_for_test
    - as_der
    - unwrap
    - compute_public_key
    - as_be_bytes
    - PrivateKey::from_private_key_der
    - Result::unwrap
    - agree
    - PrivateKey::from_private_key
    - as_ref
    - Ok
    linkageType: ''
    returnType: void
    signature: fn test_agreement_ecdh_p384()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnparsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:248,1
    - Dst: test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:250,1
    - Dst: test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:255,1
    - Dst: PrivateKey::generate_for_test
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:261,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:261,1
    - Dst: test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:264,1
    - Dst: test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:267,1
    - Dst: as_be_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:273,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:273,1
    - Dst: PrivateKey::from_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:275,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:275,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:275,1
    - Dst: agree
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:277,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:279,1
    - Dst: as_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:284,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:284,1
    - Dst: PrivateKey::from_private_key_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:286,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:286,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:286,1
    - Dst: agree
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:288,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:290,1
    - Dst: compute_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:295,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:295,1
    - Dst: agree
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:300,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:302,1
    - Dst: agree
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:307,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 79
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 313
      start: 246
    functionDepth: 13
    functionLinenumber: 246
    functionLinenumberEnd: 313
    functionName: test_agreement_ecdh_p521
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs
    functionUses: 0
    functionsReached:
    - UnparsedPublicKey::new
    - test::from_dirty_hex
    - PrivateKey::generate_for_test
    - as_der
    - unwrap
    - compute_public_key
    - as_be_bytes
    - PrivateKey::from_private_key_der
    - Result::unwrap
    - agree
    - PrivateKey::from_private_key
    - as_ref
    - Ok
    linkageType: ''
    returnType: void
    signature: fn test_agreement_ecdh_p521()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand::SystemRandom::new
      Src: /src/spdm-rs/external/ring/tests/agreement_tests.rs:33,1
    - Dst: agreement::EphemeralPrivateKey::generate
      Src: /src/spdm-rs/external/ring/tests/agreement_tests.rs:35,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/tests/agreement_tests.rs:35,1
    - Dst: test::compile_time_assert_send::<agreement::EphemeralPrivateKey>
      Src: /src/spdm-rs/external/ring/tests/agreement_tests.rs:37,1
    - Dst: test::compile_time_assert_sync::<agreement::EphemeralPrivateKey>
      Src: /src/spdm-rs/external/ring/tests/agreement_tests.rs:38,1
    - Dst: Option::compute_public_key
      Src: /src/spdm-rs/external/ring/tests/agreement_tests.rs:45,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/tests/agreement_tests.rs:45,1
    - Dst: test::compile_time_assert_clone::<agreement::PublicKey>
      Src: /src/spdm-rs/external/ring/tests/agreement_tests.rs:47,1
    - Dst: test::compile_time_assert_send::<agreement::PublicKey>
      Src: /src/spdm-rs/external/ring/tests/agreement_tests.rs:48,1
    - Dst: test::compile_time_assert_sync::<agreement::PublicKey>
      Src: /src/spdm-rs/external/ring/tests/agreement_tests.rs:49,1
    - Dst: test::compile_time_assert_clone::<agreement::UnparsedPublicKey<&[u8]>>
      Src: /src/spdm-rs/external/ring/tests/agreement_tests.rs:56,1
    - Dst: test::compile_time_assert_copy::<agreement::UnparsedPublicKey<&[u8]>>
      Src: /src/spdm-rs/external/ring/tests/agreement_tests.rs:57,1
    - Dst: test::compile_time_assert_sync::<agreement::UnparsedPublicKey<&[u8]>>
      Src: /src/spdm-rs/external/ring/tests/agreement_tests.rs:58,1
    - Dst: test::compile_time_assert_clone::<agreement::UnparsedPublicKey<Vec<u8>>>
      Src: /src/spdm-rs/external/ring/tests/agreement_tests.rs:60,1
    - Dst: test::compile_time_assert_sync::<agreement::UnparsedPublicKey<Vec<u8>>>
      Src: /src/spdm-rs/external/ring/tests/agreement_tests.rs:61,1
    - Dst: agreement::UnparsedPublicKey::new
      Src: /src/spdm-rs/external/ring/tests/agreement_tests.rs:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 30
    functionDepth: 15
    functionLinenumber: 30
    functionLinenumberEnd: 73
    functionName: agreement_traits
    functionSourceFile: /src/spdm-rs/external/ring/tests/agreement_tests.rs
    functionUses: 0
    functionsReached:
    - test::compile_time_assert_clone::<agreement::UnparsedPublicKey<&[u8]>>
    - test::compile_time_assert_sync::<agreement::EphemeralPrivateKey>
    - test::compile_time_assert_send::<agreement::PublicKey>
    - test::compile_time_assert_sync::<agreement::UnparsedPublicKey<&[u8]>>
    - test::compile_time_assert_sync::<agreement::PublicKey>
    - agreement::UnparsedPublicKey::new
    - test::compile_time_assert_copy::<agreement::UnparsedPublicKey<&[u8]>>
    - Result::unwrap
    - test::compile_time_assert_clone::<agreement::UnparsedPublicKey<Vec<u8>>>
    - Option::compute_public_key
    - test::compile_time_assert_clone::<agreement::PublicKey>
    - test::compile_time_assert_sync::<agreement::UnparsedPublicKey<Vec<u8>>>
    - agreement::EphemeralPrivateKey::generate
    - test::compile_time_assert_send::<agreement::EphemeralPrivateKey>
    - rand::SystemRandom::new
    linkageType: ''
    returnType: void
    signature: fn agreement_traits()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_agreement_random_helper
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 407
      start: 401
    functionDepth: 10
    functionLinenumber: 401
    functionLinenumberEnd: 407
    functionName: test_agreement_random
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs
    functionUses: 0
    functionsReached:
    - test_agreement_random_helper
    linkageType: ''
    returnType: void
    signature: fn test_agreement_random()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PrivateKey::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:410,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:410,1
    - Dst: PrivateKey::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:411,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:411,1
    - Dst: public_key_formats_helper
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:413,1
    - Dst: Result::compute_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:413,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:413,1
    - Dst: public_key_formats_helper
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:415,1
    - Dst: Result::compute_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:415,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:415,1
    - Dst: Vec::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:417,1
    - Dst: UnparsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:420,1
    - Dst: agree
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:421,1
    - Dst: Self::push
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:422,1
    - Dst: Result::to_vec
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:422,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:423,1
    - Dst: UnparsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:429,1
    - Dst: agree
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:430,1
    - Dst: Self::push
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:431,1
    - Dst: Result::to_vec
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:431,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:432,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 55
    argCount: 1
    argNames:
    - alg
    argTypes:
    - '&''static Algorithm'
    constantsTouched: []
    func_position:
      end: 447
      start: 409
    functionDepth: 9
    functionLinenumber: 409
    functionLinenumberEnd: 447
    functionName: test_agreement_random_helper
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs
    functionUses: 1
    functionsReached:
    - UnparsedPublicKey::new
    - Result::to_vec
    - PrivateKey::generate
    - Self::push
    - Result::unwrap
    - agree
    - public_key_formats_helper
    - Vec::new
    - Result::compute_public_key
    - Ok
    linkageType: ''
    returnType: void
    signature: 'fn test_agreement_random_helper(alg: &''static Algorithm)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::<Vec<u8>>::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:457,1
    - Dst: Self::push
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:458,1
    - Dst: '&[u8]::as_ref'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:458,1
    - Dst: '&[u8]::into'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:458,1
    - Dst: AsBigEndian::<EcPublicKeyCompressedBin>::as_be_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:461,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:461,1
    - Dst: Self::push
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:462,1
    - Dst: ::std::os::raw::c_uint::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:462,1
    - Dst: '&[u8]::into'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:462,1
    - Dst: AsBigEndian::<EcPublicKeyUncompressedBin>::as_be_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:463,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:463,1
    - Dst: Self::push
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:464,1
    - Dst: ::std::os::raw::c_uint::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:464,1
    - Dst: '&[u8]::into'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:464,1
    - Dst: AsDer::<PublicKeyX509Der>::as_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:467,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:467,1
    - Dst: Self::push
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:468,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:468,1
    - Dst: '&[u8]::into'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:468,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 40
    argCount: 1
    argNames:
    - public_key
    argTypes:
    - '&PublicKey'
    constantsTouched: []
    func_position:
      end: 471
      start: 449
    functionDepth: 4
    functionLinenumber: 449
    functionLinenumberEnd: 471
    functionName: public_key_formats_helper
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs
    functionUses: 1
    functionsReached:
    - Vec::<Vec<u8>>::new
    - Result::as_ref
    - AsBigEndian::<EcPublicKeyUncompressedBin>::as_be_bytes
    - ::std::os::raw::c_uint::as_ref
    - Self::push
    - '&[u8]::into'
    - '&[u8]::as_ref'
    - Result::unwrap
    - AsDer::<PublicKeyX509Der>::as_der
    - AsBigEndian::<EcPublicKeyCompressedBin>::as_be_bytes
    linkageType: ''
    returnType: Vec
    signature: 'fn public_key_formats_helper(public_key: &PublicKey) -> Vec<Vec<u8>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PrivateKey::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:475,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:475,1
    - Dst: Option::compute_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:476,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:476,1
    - Dst: drop
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:478,1
    - Dst: AsBigEndian::<EcPublicKeyCompressedBin>::as_be_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:479,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:479,1
    - Dst: AsBigEndian::<EcPublicKeyUncompressedBin>::as_be_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:480,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:480,1
    - Dst: AsDer::<PublicKeyX509Der>::as_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:481,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 482
      start: 474
    functionDepth: 5
    functionLinenumber: 474
    functionLinenumberEnd: 482
    functionName: private_key_drop
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs
    functionUses: 0
    functionsReached:
    - PrivateKey::generate
    - AsBigEndian::<EcPublicKeyUncompressedBin>::as_be_bytes
    - AsDer::<PublicKeyX509Der>::as_der
    - Result::unwrap
    - Option::compute_public_key
    - drop
    - AsBigEndian::<EcPublicKeyCompressedBin>::as_be_bytes
    linkageType: ''
    returnType: void
    signature: fn private_key_drop()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SystemRandom::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/tests/fips.rs:4,1
    - Dst: '{

        agreement::

        },

        error::Unspecified,

        fips::assert_fips_status_indicator'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/tests/fips.rs:7,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/tests/fips.rs:7,1
    - Dst: '{

        agreement::

        },

        error::Unspecified,

        fips::assert_fips_status_indicator'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/tests/fips.rs:10,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/tests/fips.rs:10,1
    - Dst: compute_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/tests/fips.rs:13,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/tests/fips.rs:13,1
    - Dst: UnparsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/tests/fips.rs:14,1
    - Dst: Self::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/tests/fips.rs:14,1
    - Dst: compute_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/tests/fips.rs:15,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/tests/fips.rs:15,1
    - Dst: UnparsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/tests/fips.rs:16,1
    - Dst: Self::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/tests/fips.rs:16,1
    - Dst: '{

        agreement::

        },

        error::Unspecified,

        fips::assert_fips_status_indicator'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/tests/fips.rs:18,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/tests/fips.rs:18,1
    - Dst: '{

        agreement::

        },

        error::Unspecified,

        fips::assert_fips_status_indicator'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/tests/fips.rs:26,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/tests/fips.rs:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 16
    functionDepth: 16
    functionLinenumber: 16
    functionLinenumberEnd: 53
    functionName: agree_ephemeral_api
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/tests/fips.rs
    functionUses: 0
    functionsReached:
    - UnparsedPublicKey::new
    - SystemRandom::new
    - compute_public_key
    - unwrap
    - Self::as_ref
    - '{

      agreement::

      },

      error::Unspecified,

      fips::assert_fips_status_indicator'
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/sskdf.rs:67,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/sskdf.rs:68,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/sskdf.rs:69,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/sskdf.rs:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - id
    argTypes:
    - SskdfHmacAlgorithmId
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: get_sskdf_hmac_algorithm
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/sskdf.rs
    functionUses: 3
    functionsReached:
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub const fn get_sskdf_hmac_algorithm(id: SskdfHmacAlgorithmId,) ->
      Option<&''static SskdfHmacAlgorithm>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/sskdf.rs:82,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/sskdf.rs:83,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/sskdf.rs:84,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/sskdf.rs:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - id
    argTypes:
    - SskdfDigestAlgorithmId
    constantsTouched: []
    func_position:
      end: 88
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 88
    functionName: get_sskdf_digest_algorithm
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/sskdf.rs
    functionUses: 3
    functionsReached:
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub const fn get_sskdf_digest_algorithm(id: SskdfDigestAlgorithmId,)
      -> Option<&''static SskdfDigestAlgorithm>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: SskdfHmacAlgorithm::id
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/sskdf.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SskdfHmacAlgorithmId
    signature: pub fn id(&self) -> SskdfHmacAlgorithmId
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digest::match_digest_type
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/sskdf.rs:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 110
    functionName: SskdfHmacAlgorithm::get_evp_md
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/sskdf.rs
    functionUses: 0
    functionsReached:
    - digest::match_digest_type
    linkageType: ''
    returnType: ConstPointer
    signature: fn get_evp_md(&self) -> ConstPointer<'_, EVP_MD>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - '&Self'
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: SskdfHmacAlgorithm::eq
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/sskdf.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'fn eq(&self, other: &Self) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::fmt::Debug::fmt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/sskdf.rs:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: SskdfHmacAlgorithm::fmt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/sskdf.rs
    functionUses: 0
    functionsReached:
    - core::fmt::Debug::fmt
    linkageType: ''
    returnType: core::fmt::Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter<''_>) -> core::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: SskdfDigestAlgorithm::id
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/sskdf.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SskdfDigestAlgorithmId
    signature: pub fn id(&self) -> SskdfDigestAlgorithmId
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digest::match_digest_type
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/sskdf.rs:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 147
    functionName: SskdfDigestAlgorithm::get_evp_md
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/sskdf.rs
    functionUses: 0
    functionsReached:
    - digest::match_digest_type
    linkageType: ''
    returnType: ConstPointer
    signature: fn get_evp_md(&self) -> ConstPointer<'_, EVP_MD>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - '&Self'
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: SskdfDigestAlgorithm::eq
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/sskdf.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'fn eq(&self, other: &Self) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::fmt::Debug::fmt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/sskdf.rs:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: SskdfDigestAlgorithm::fmt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/sskdf.rs
    functionUses: 0
    functionsReached:
    - core::fmt::Debug::fmt
    linkageType: ''
    returnType: core::fmt::Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter<''_>) -> core::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_evp_md
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/sskdf.rs:226,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/sskdf.rs:227,1
    - Dst: aws_lc::SSKDF_hmac
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/sskdf.rs:229,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/sskdf.rs:230,1
    - Dst: ConstPointer::as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/sskdf.rs:232,1
    - Dst: Option::as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/sskdf.rs:233,1
    - Dst: Option::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/sskdf.rs:234,1
    - Dst: (SpdmConfigInfo, SpdmProvisionInfo)::as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/sskdf.rs:235,1
    - Dst: (SpdmConfigInfo, SpdmProvisionInfo)::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/sskdf.rs:236,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/sskdf.rs:237,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/sskdf.rs:238,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/sskdf.rs:241,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/sskdf.rs:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 5
    argNames:
    - algorithm
    - secret
    - info
    - salt
    - output
    argTypes:
    - '&''static SskdfHmacAlgorithm'
    - '&[u8]'
    - '&[u8]'
    - '&[u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 244
      start: 219
    functionDepth: 3
    functionLinenumber: 219
    functionLinenumberEnd: 244
    functionName: sskdf_hmac
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/sskdf.rs
    functionUses: 3
    functionsReached:
    - Option::as_ptr
    - Ok
    - as_mut_ptr
    - Err
    - as_ptr
    - len
    - ConstPointer::as_const_ptr
    - Option::len
    - (SpdmConfigInfo, SpdmProvisionInfo)::len
    - get_evp_md
    - aws_lc::SSKDF_hmac
    - (SpdmConfigInfo, SpdmProvisionInfo)::as_ptr
    linkageType: ''
    returnType: Result
    signature: 'pub fn sskdf_hmac(algorithm: &''static SskdfHmacAlgorithm,secret:
      &[u8],info: &[u8],salt: &[u8],output: &mut [u8],) -> Result<(), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_evp_md
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/sskdf.rs:271,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/sskdf.rs:272,1
    - Dst: aws_lc::SSKDF_digest
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/sskdf.rs:274,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/sskdf.rs:275,1
    - Dst: ConstPointer::as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/sskdf.rs:277,1
    - Dst: Option::as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/sskdf.rs:278,1
    - Dst: Option::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/sskdf.rs:279,1
    - Dst: (SpdmConfigInfo, SpdmProvisionInfo)::as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/sskdf.rs:280,1
    - Dst: (SpdmConfigInfo, SpdmProvisionInfo)::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/sskdf.rs:281,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/sskdf.rs:284,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/sskdf.rs:286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 4
    argNames:
    - algorithm
    - secret
    - info
    - output
    argTypes:
    - '&''static SskdfDigestAlgorithm'
    - '&[u8]'
    - '&[u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 287
      start: 265
    functionDepth: 3
    functionLinenumber: 265
    functionLinenumberEnd: 287
    functionName: sskdf_digest
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/sskdf.rs
    functionUses: 3
    functionsReached:
    - aws_lc::SSKDF_digest
    - Option::as_ptr
    - Ok
    - as_mut_ptr
    - Err
    - len
    - ConstPointer::as_const_ptr
    - Option::len
    - (SpdmConfigInfo, SpdmProvisionInfo)::len
    - get_evp_md
    - (SpdmConfigInfo, SpdmProvisionInfo)::as_ptr
    linkageType: ''
    returnType: Result
    signature: 'pub fn sskdf_digest(algorithm: &''static SskdfDigestAlgorithm,secret:
      &[u8],info: &[u8],output: &mut [u8],) -> Result<(), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/kbkdf.rs:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - KbkdfCtrHmacAlgorithmId
    constantsTouched: []
    func_position:
      end: 49
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 49
    functionName: get_kbkdf_ctr_hmac_algorithm
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/kbkdf.rs
    functionUses: 3
    functionsReached:
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub const fn get_kbkdf_ctr_hmac_algorithm(id: KbkdfCtrHmacAlgorithmId,)
      -> Option<&''static KbkdfCtrHmacAlgorithm>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: KbkdfCtrHmacAlgorithm::id
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/kbkdf.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: KbkdfCtrHmacAlgorithmId
    signature: pub fn id(&self) -> KbkdfCtrHmacAlgorithmId
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digest::match_digest_type
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/kbkdf.rs:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: KbkdfCtrHmacAlgorithm::get_evp_md
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/kbkdf.rs
    functionUses: 0
    functionsReached:
    - digest::match_digest_type
    linkageType: ''
    returnType: ConstPointer
    signature: fn get_evp_md(&self) -> ConstPointer<'_, EVP_MD>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - '&Self'
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: KbkdfCtrHmacAlgorithm::eq
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/kbkdf.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'fn eq(&self, other: &Self) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::fmt::Debug::fmt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/kbkdf.rs:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: KbkdfCtrHmacAlgorithm::fmt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/kbkdf.rs
    functionUses: 0
    functionsReached:
    - core::fmt::Debug::fmt
    linkageType: ''
    returnType: core::fmt::Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter<''_>) -> core::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_evp_md
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/kbkdf.rs:130,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/kbkdf.rs:131,1
    - Dst: aws_lc::KBKDF_ctr_hmac
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/kbkdf.rs:133,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/kbkdf.rs:134,1
    - Dst: ConstPointer::as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/kbkdf.rs:136,1
    - Dst: Option::as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/kbkdf.rs:137,1
    - Dst: Option::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/kbkdf.rs:138,1
    - Dst: (SpdmConfigInfo, SpdmProvisionInfo)::as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/kbkdf.rs:139,1
    - Dst: (SpdmConfigInfo, SpdmProvisionInfo)::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/kbkdf.rs:140,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/kbkdf.rs:143,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/kbkdf.rs:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 4
    argNames:
    - algorithm
    - secret
    - info
    - output
    argTypes:
    - '&''static KbkdfCtrHmacAlgorithm'
    - '&[u8]'
    - '&[u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 146
      start: 124
    functionDepth: 3
    functionLinenumber: 124
    functionLinenumberEnd: 146
    functionName: kbkdf_ctr_hmac
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/kbkdf.rs
    functionUses: 2
    functionsReached:
    - Option::as_ptr
    - Ok
    - as_mut_ptr
    - Err
    - len
    - ConstPointer::as_const_ptr
    - Option::len
    - (SpdmConfigInfo, SpdmProvisionInfo)::len
    - aws_lc::KBKDF_ctr_hmac
    - get_evp_md
    - (SpdmConfigInfo, SpdmProvisionInfo)::as_ptr
    linkageType: ''
    returnType: Result
    signature: 'pub fn kbkdf_ctr_hmac(algorithm: &''static KbkdfCtrHmacAlgorithm,secret:
      &[u8],info: &[u8],output: &mut [u8],) -> Result<(), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::debug_struct
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:30,1
    - Dst: field
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:30,1
    - Dst: finish
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 11
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: PqdsaKeyPair::fmt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs
    functionUses: 0
    functionsReached:
    - SpdmCertChainBuffer::debug_struct
    - finish
    - field
    linkageType: ''
    returnType: core::fmt::Result
    signature: 'fn fmt(&self, f: &mut Formatter<''_>) -> core::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: PqdsaKeyPair::public_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&Self::PublicKey'
    signature: fn public_key(&self) -> &Self::PublicKey
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:55,1
    - Dst: Pkcs8V1Der::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:55,1
    - Dst: as_const
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:56,1
    - Dst: marshal_rfc5208_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 6
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: PqdsaPrivateKey::as_der
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs
    functionUses: 0
    functionsReached:
    - Pkcs8V1Der::new
    - marshal_rfc5208_private_key
    - as_const
    - Ok
    linkageType: ''
    returnType: Result
    signature: fn as_der(&self) -> Result<Pkcs8V1Der<'static>, Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:69,1
    - Dst: PqdsaPrivateKeyRaw::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:69,1
    - Dst: as_const
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:70,1
    - Dst: marshal_raw_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 5
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: PqdsaPrivateKey::as_raw_bytes
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs
    functionUses: 0
    functionsReached:
    - PqdsaPrivateKeyRaw::new
    - as_const
    - Ok
    - marshal_raw_private_key
    linkageType: ''
    returnType: Result
    signature: fn as_raw_bytes(&self) -> Result<PqdsaPrivateKeyRaw<'static>, Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: evp_key_pqdsa_generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:81,1
    - Dst: nid
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:81,1
    - Dst: PublicKey::from_private_evp_pkey
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:82,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - '&''static PqdsaSigningAlgorithm'
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 6
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: PqdsaKeyPair::generate
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs
    functionUses: 12
    functionsReached:
    - nid
    - evp_key_pqdsa_generate
    - PublicKey::from_private_evp_pkey
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn generate(algorithm: &''static PqdsaSigningAlgorithm) -> Result<Self,
      Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LcPtr::<EVP_PKEY>::parse_rfc5208_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:101,1
    - Dst: pqdsa::validate_pqdsa_evp_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:102,1
    - Dst: PublicKey::from_private_evp_pkey
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:103,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - algorithm
    - pkcs8
    argTypes:
    - '&''static PqdsaSigningAlgorithm'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 109
      start: 97
    functionDepth: 6
    functionLinenumber: 97
    functionLinenumberEnd: 109
    functionName: PqdsaKeyPair::from_pkcs8
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs
    functionUses: 4
    functionsReached:
    - Ok
    - pqdsa::validate_pqdsa_evp_key
    - PublicKey::from_private_evp_pkey
    - LcPtr::<EVP_PKEY>::parse_rfc5208_private_key
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_pkcs8(algorithm: &''static PqdsaSigningAlgorithm,pkcs8:
      &[u8],) -> Result<Self, KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LcPtr::<EVP_PKEY>::parse_raw_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:121,1
    - Dst: pqdsa::validate_pqdsa_evp_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:122,1
    - Dst: PublicKey::from_private_evp_pkey
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:123,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - algorithm
    - raw_private_key
    argTypes:
    - '&''static PqdsaSigningAlgorithm'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 129
      start: 117
    functionDepth: 6
    functionLinenumber: 117
    functionLinenumberEnd: 129
    functionName: PqdsaKeyPair::from_raw_private_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs
    functionUses: 6
    functionsReached:
    - Ok
    - LcPtr::<EVP_PKEY>::parse_raw_private_key
    - PublicKey::from_private_evp_pkey
    - pqdsa::validate_pqdsa_evp_key
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_raw_private_key(algorithm: &''static PqdsaSigningAlgorithm,raw_private_key:
      &[u8],) -> Result<Self, KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: seed_size_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:170,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:171,1
    - Dst: usize::cmp
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:171,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:172,1
    - Dst: KeyRejected::too_small
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:172,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:173,1
    - Dst: KeyRejected::too_large
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:173,1
    - Dst: nid
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:176,1
    - Dst: LcPtr::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:177,1
    - Dst: aws_lc::EVP_PKEY_pqdsa_new_raw_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:178,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:178,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:178,1
    - Dst: Self::map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:177,1
    - Dst: KeyRejected::unspecified
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:180,1
    - Dst: pqdsa::validate_pqdsa_evp_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:181,1
    - Dst: PublicKey::from_private_evp_pkey
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:183,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:183,1
    - Dst: KeyRejected::unspecified
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:183,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:184,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 47
    argCount: 2
    argNames:
    - algorithm
    - seed
    argTypes:
    - '&''static PqdsaSigningAlgorithm'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 189
      start: 166
    functionDepth: 6
    functionLinenumber: 166
    functionLinenumberEnd: 189
    functionName: PqdsaKeyPair::from_seed
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs
    functionUses: 17
    functionsReached:
    - LcPtr::new
    - KeyRejected::too_large
    - Ok
    - Self::map_err
    - nid
    - Err
    - Result::map_err
    - as_ptr
    - aws_lc::EVP_PKEY_pqdsa_new_raw_private_key
    - len
    - PublicKey::from_private_evp_pkey
    - KeyRejected::unspecified
    - KeyRejected::too_small
    - usize::cmp
    - seed_size_bytes
    - pqdsa::validate_pqdsa_evp_key
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_seed(algorithm: &''static PqdsaSigningAlgorithm,seed:
      &[u8],) -> Result<Self, KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:201,1
    - Dst: Document::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:201,1
    - Dst: as_const
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:202,1
    - Dst: marshal_rfc5208_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 6
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: PqdsaKeyPair::to_pkcs8
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs
    functionUses: 0
    functionsReached:
    - marshal_rfc5208_private_key
    - as_const
    - Ok
    - Document::new
    linkageType: ''
    returnType: Result
    signature: pub fn to_pkcs8(&self) -> Result<Document, Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signature_len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:214,1
    - Dst: Result::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:215,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:216,1
    - Dst: sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:218,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:219,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 2
    argNames:
    - msg
    - signature
    argTypes:
    - '&[u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 221
      start: 213
    functionDepth: 16
    functionLinenumber: 213
    functionLinenumberEnd: 221
    functionName: PqdsaKeyPair::sign
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs
    functionUses: 0
    functionsReached:
    - Result::len
    - signature_len
    - Err
    - sign
    - copy_from_slice
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn sign(&self, msg: &[u8], signature: &mut [u8]) -> Result<usize,
      Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: PqdsaKeyPair::algorithm
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''static PqdsaSigningAlgorithm'
    signature: pub fn algorithm(&self) -> &'static PqdsaSigningAlgorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PqdsaPrivateKey
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 233
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 233
    functionName: PqdsaKeyPair::private_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs
    functionUses: 0
    functionsReached:
    - PqdsaPrivateKey
    linkageType: ''
    returnType: PqdsaPrivateKey
    signature: pub fn private_key(&self) -> PqdsaPrivateKey<'_>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_pqdsa_set_params
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:242,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:243,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:245,1
    - Dst: LcPtr::<EVP_PKEY>::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:248,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - nid
    argTypes:
    - c_int
    constantsTouched: []
    func_position:
      end: 249
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 249
    functionName: evp_key_pqdsa_generate
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs
    functionUses: 2
    functionsReached:
    - Err
    - LcPtr::<EVP_PKEY>::generate
    - Ok
    - EVP_PKEY_CTX_pqdsa_set_params
    - Some
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn evp_key_pqdsa_generate(nid: c_int) -> Result<LcPtr<EVP_PKEY>,
      Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PqdsaKeyPair::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:265,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:265,1
    - Dst: Result::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:272,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:272,1
    - Dst: Result::public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:276,1
    - Dst: '&[u8]::as_der'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:278,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:278,1
    - Dst: UnparsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:279,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:279,1
    - Dst: '&[u8]::as_ref'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:286,1
    - Dst: UnparsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 310
      start: 262
    functionDepth: 11
    functionLinenumber: 262
    functionLinenumberEnd: 310
    functionName: tests::test_public_key_serialization
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs
    functionUses: 0
    functionsReached:
    - Result::public_key
    - Result::sign
    - UnparsedPublicKey::new
    - Option::unwrap
    - '&[u8]::as_ref'
    - Result::unwrap
    - '&[u8]::as_der'
    - as_ref
    - PqdsaKeyPair::generate
    linkageType: ''
    returnType: void
    signature: fn test_public_key_serialization()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PqdsaKeyPair::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:316,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:316,1
    - Dst: Result::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:319,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:319,1
    - Dst: Result::public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:322,1
    - Dst: UnparsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:323,1
    - Dst: '&[u8]::as_ref'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:323,1
    - Dst: verify
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:324,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:325,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:324,1
    - Dst: Result::to_pkcs8
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:328,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:328,1
    - Dst: Result::private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:329,1
    - Dst: Option::as_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:329,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:329,1
    - Dst: Result::private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:330,1
    - Dst: Option::as_raw_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:330,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:330,1
    - Dst: PqdsaKeyPair::from_pkcs8
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:334,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:334,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:334,1
    - Dst: PqdsaKeyPair::from_raw_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:335,1
    - Dst: ::std::os::raw::c_uint::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:335,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 339
      start: 313
    functionDepth: 16
    functionLinenumber: 313
    functionLinenumberEnd: 339
    functionName: tests::test_private_key_serialization
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs
    functionUses: 0
    functionsReached:
    - Result::public_key
    - Result::sign
    - UnparsedPublicKey::new
    - Result::to_pkcs8
    - Result::as_ref
    - unwrap
    - ::std::os::raw::c_uint::as_ref
    - Option::unwrap
    - '&[u8]::as_ref'
    - Result::unwrap
    - verify
    - PqdsaKeyPair::from_raw_private_key
    - Option::as_raw_bytes
    - PqdsaKeyPair::from_pkcs8
    - Option::as_der
    - as_ref
    - Result::private_key
    - PqdsaKeyPair::generate
    linkageType: ''
    returnType: void
    signature: fn test_private_key_serialization()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PqdsaKeyPair::from_seed
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:345,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:345,1
    - Dst: Result::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:350,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 353
      start: 342
    functionDepth: 7
    functionLinenumber: 342
    functionLinenumberEnd: 353
    functionName: tests::test_from_seed
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - Result::sign
    - PqdsaKeyPair::from_seed
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn test_from_seed()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PqdsaKeyPair::from_seed
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:359,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:359,1
    - Dst: PqdsaKeyPair::from_seed
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:360,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 363
      start: 356
    functionDepth: 7
    functionLinenumber: 356
    functionLinenumberEnd: 363
    functionName: tests::test_from_seed_deterministic
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - PqdsaKeyPair::from_seed
    linkageType: ''
    returnType: void
    signature: fn test_from_seed_deterministic()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 382
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 382
    functionName: tests::test_from_seed_wrong_size
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_from_seed_wrong_size()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PqdsaKeyPair::from_seed
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:387,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:387,1
    - Dst: PqdsaKeyPair::from_seed
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:388,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 391
      start: 385
    functionDepth: 7
    functionLinenumber: 385
    functionLinenumberEnd: 391
    functionName: tests::test_from_seed_different_seeds_different_keys
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - PqdsaKeyPair::from_seed
    linkageType: ''
    returnType: void
    signature: fn test_from_seed_different_seeds_different_keys()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PqdsaKeyPair::from_seed
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:398,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:398,1
    - Dst: Result::private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:399,1
    - Dst: Option::as_raw_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:399,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:399,1
    - Dst: PqdsaKeyPair::from_raw_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:400,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:400,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 403
      start: 394
    functionDepth: 8
    functionLinenumber: 394
    functionLinenumberEnd: 403
    functionName: tests::test_from_seed_raw_private_key_roundtrip
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs
    functionUses: 0
    functionsReached:
    - Result::as_ref
    - PqdsaKeyPair::from_raw_private_key
    - Result::unwrap
    - PqdsaKeyPair::from_seed
    - Option::as_raw_bytes
    - Result::private_key
    linkageType: ''
    returnType: void
    signature: fn test_from_seed_raw_private_key_roundtrip()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PqdsaKeyPair::from_seed
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:409,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:409,1
    - Dst: Result::to_pkcs8
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:410,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:410,1
    - Dst: PqdsaKeyPair::from_pkcs8
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:411,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:411,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 414
      start: 406
    functionDepth: 16
    functionLinenumber: 406
    functionLinenumberEnd: 414
    functionName: tests::test_from_seed_pkcs8_roundtrip
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs
    functionUses: 0
    functionsReached:
    - Result::to_pkcs8
    - unwrap
    - Result::unwrap
    - PqdsaKeyPair::from_seed
    - PqdsaKeyPair::from_pkcs8
    - as_ref
    linkageType: ''
    returnType: void
    signature: fn test_from_seed_pkcs8_roundtrip()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PqdsaKeyPair::from_seed
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:420,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:420,1
    - Dst: PqdsaKeyPair::from_seed
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:421,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:421,1
    - Dst: PqdsaKeyPair::from_seed
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:422,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 432
      start: 417
    functionDepth: 7
    functionLinenumber: 417
    functionLinenumberEnd: 432
    functionName: tests::test_from_seed_same_seed_different_algorithms
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - PqdsaKeyPair::from_seed
    linkageType: ''
    returnType: void
    signature: fn test_from_seed_same_seed_different_algorithms()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 444
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 444
    functionName: tests::test_from_raw_private_key_rejects_seed
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_from_raw_private_key_rejects_seed()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PqdsaKeyPair::from_seed
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:452,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:452,1
    - Dst: Result::to_pkcs8
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:453,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:453,1
    - Dst: Result::private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:454,1
    - Dst: Option::as_raw_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:454,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 469
      start: 450
    functionDepth: 16
    functionLinenumber: 450
    functionLinenumberEnd: 469
    functionName: tests::test_from_seed_pkcs8_is_seed_form
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs
    functionUses: 0
    functionsReached:
    - Result::to_pkcs8
    - unwrap
    - Result::unwrap
    - PqdsaKeyPair::from_seed
    - Option::as_raw_bytes
    - Result::private_key
    linkageType: ''
    returnType: void
    signature: fn test_from_seed_pkcs8_is_seed_form()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PqdsaKeyPair::from_seed
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:480,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:480,1
    - Dst: Result::private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:481,1
    - Dst: Option::as_raw_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:481,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:481,1
    - Dst: PqdsaKeyPair::from_raw_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:482,1
    - Dst: ::std::os::raw::c_uint::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:482,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 493
      start: 477
    functionDepth: 8
    functionLinenumber: 477
    functionLinenumberEnd: 493
    functionName: tests::test_expanded_key_pkcs8_unavailable
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs
    functionUses: 0
    functionsReached:
    - ::std::os::raw::c_uint::as_ref
    - PqdsaKeyPair::from_raw_private_key
    - Result::unwrap
    - PqdsaKeyPair::from_seed
    - Option::as_raw_bytes
    - Result::private_key
    linkageType: ''
    returnType: void
    signature: fn test_expanded_key_pkcs8_unavailable()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PqdsaKeyPair::from_seed
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:501,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:501,1
    - Dst: Result::to_pkcs8
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:502,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:502,1
    - Dst: PqdsaKeyPair::from_pkcs8
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:503,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:503,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:503,1
    - Dst: Result::to_pkcs8
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:504,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:504,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 510
      start: 499
    functionDepth: 16
    functionLinenumber: 499
    functionLinenumberEnd: 510
    functionName: tests::test_from_seed_pkcs8_roundtrip_preserves_seed_form
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs
    functionUses: 0
    functionsReached:
    - Result::to_pkcs8
    - unwrap
    - Result::unwrap
    - PqdsaKeyPair::from_seed
    - PqdsaKeyPair::from_pkcs8
    - as_ref
    linkageType: ''
    returnType: void
    signature: fn test_from_seed_pkcs8_roundtrip_preserves_seed_form()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PqdsaKeyPair::from_seed
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:518,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:518,1
    - Dst: Result::to_pkcs8
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:519,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:519,1
    - Dst: Result::private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:520,1
    - Dst: Option::as_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:520,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:520,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 523
      start: 516
    functionDepth: 16
    functionLinenumber: 516
    functionLinenumberEnd: 523
    functionName: tests::test_from_seed_as_der_matches_to_pkcs8
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs
    functionUses: 0
    functionsReached:
    - Result::to_pkcs8
    - unwrap
    - Result::unwrap
    - PqdsaKeyPair::from_seed
    - Option::as_der
    - Result::private_key
    linkageType: ''
    returnType: void
    signature: fn test_from_seed_as_der_matches_to_pkcs8()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PqdsaKeyPair::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:529,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs:529,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 532
      start: 527
    functionDepth: 7
    functionLinenumber: 527
    functionLinenumberEnd: 532
    functionName: tests::test_algorithm_getter
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - PqdsaKeyPair::generate
    linkageType: ''
    returnType: void
    signature: fn test_algorithm_getter()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signature_size_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/signature.rs:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: PqdsaSigningAlgorithm::signature_len
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/signature.rs
    functionUses: 1
    functionsReached:
    - signature_size_bytes
    linkageType: ''
    returnType: usize
    signature: pub fn signature_len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::as_const
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/signature.rs:52,1
    - Dst: ConstPointer::marshal_raw_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/signature.rs:52,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/signature.rs:53,1
    - Dst: Result::clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/signature.rs:54,1
    - Dst: into_boxed_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/signature.rs:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - evp_pkey
    argTypes:
    - '&LcPtr<EVP_PKEY>'
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 5
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: PublicKey::from_private_evp_pkey
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/signature.rs
    functionUses: 4
    functionsReached:
    - Result::as_const
    - Result::clone
    - into_boxed_slice
    - ConstPointer::marshal_raw_public_key
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn from_private_evp_pkey(evp_pkey: &LcPtr<EVP_PKEY>) ->
      Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::key'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/signature.rs:67,1
    - Dst: Result::verify
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/signature.rs:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - public_key
    - msg
    - signature
    argTypes:
    - '&ParsedPublicKey'
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 11
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: PqdsaVerificationAlgorithm::parsed_verify_sig
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/signature.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::key'
    - Result::verify
    linkageType: ''
    returnType: Result
    signature: 'fn parsed_verify_sig(&self,public_key: &ParsedPublicKey,msg: &[u8],signature:
      &[u8],) -> Result<(), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::key'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/signature.rs:77,1
    - Dst: Result::verify_digest_sig
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/signature.rs:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - public_key
    - digest
    - signature
    argTypes:
    - '&ParsedPublicKey'
    - '&Digest'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 11
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: PqdsaVerificationAlgorithm::parsed_verify_digest_sig
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/signature.rs
    functionUses: 0
    functionsReached:
    - Result::verify_digest_sig
    - '&[u8]::key'
    linkageType: ''
    returnType: Result
    signature: 'fn parsed_verify_digest_sig(&self,public_key: &ParsedPublicKey,digest:
      &Digest,signature: &[u8],) -> Result<(), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PqdsaVerificationAlgorithm::verify_sig
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/signature.rs:94,1
    - Dst: '&[u8]::as_slice_less_safe'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/signature.rs:95,1
    - Dst: SpdmResult::as_slice_less_safe
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/signature.rs:96,1
    - Dst: Result::as_slice_less_safe
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/signature.rs:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - public_key
    - msg
    - signature
    argTypes:
    - Input<'_>
    - Input<'_>
    - Input<'_>
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 12
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: PqdsaVerificationAlgorithm::verify
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/signature.rs
    functionUses: 0
    functionsReached:
    - SpdmResult::as_slice_less_safe
    - Result::as_slice_less_safe
    - '&[u8]::as_slice_less_safe'
    - PqdsaVerificationAlgorithm::verify_sig
    linkageType: ''
    returnType: Result
    signature: 'fn verify(&self,public_key: Input<''_>,msg: Input<''_>,signature:
      Input<''_>,) -> Result<(), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pqdsa::parse_pqdsa_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/signature.rs:111,1
    - Dst: Result::verify
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/signature.rs:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - public_key
    - msg
    - signature
    argTypes:
    - '&[u8]'
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 114
      start: 105
    functionDepth: 11
    functionLinenumber: 105
    functionLinenumberEnd: 114
    functionName: PqdsaVerificationAlgorithm::verify_sig
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/signature.rs
    functionUses: 1
    functionsReached:
    - pqdsa::parse_pqdsa_public_key
    - Result::verify
    linkageType: ''
    returnType: Result
    signature: 'fn verify_sig(&self,public_key: &[u8],msg: &[u8],signature: &[u8],)
      -> Result<(), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/signature.rs:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - _public_key
    - _digest
    - _signature
    argTypes:
    - '&[u8]'
    - '&digest::Digest'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: PqdsaVerificationAlgorithm::verify_digest_sig
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/signature.rs
    functionUses: 0
    functionsReached:
    - Err
    linkageType: ''
    returnType: Result
    signature: 'fn verify_digest_sig(&self,_public_key: &[u8],_digest: &digest::Digest,_signature:
      &[u8],) -> Result<(), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Secret::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf/tests/fips.rs:4,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf/tests/fips.rs:4,1
    - Dst: fips::assert_fips_status_indicator
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf/tests/fips.rs:6,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf/tests/fips.rs:6,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 9
    functionDepth: 3
    functionLinenumber: 9
    functionLinenumberEnd: 19
    functionName: prf_test
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf/tests/fips.rs
    functionUses: 0
    functionsReached:
    - Result::expect
    - expect
    - Secret::new
    - fips::assert_fips_status_indicator
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NonZeroU32::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pbkdf2/tests/fips.rs:13,1
    - Dst: Self::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pbkdf2/tests/fips.rs:13,1
    - Dst: fips::assert_fips_status_indicator
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pbkdf2/tests/fips.rs:15,1
    - Dst: fips::assert_fips_status_indicator
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pbkdf2/tests/fips.rs:20,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pbkdf2/tests/fips.rs:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 13
    functionDepth: 5
    functionLinenumber: 13
    functionLinenumberEnd: 37
    functionName: pbkdf2_api
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pbkdf2/tests/fips.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - fips::assert_fips_status_indicator
    - NonZeroU32::new
    - Self::unwrap
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fips::assert_fips_status_indicator
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf/tests/fips.rs:8,1
    - Dst: fips::assert_fips_status_indicator
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf/tests/fips.rs:11,1
    - Dst: fips::assert_fips_status_indicator
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf/tests/fips.rs:20,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf/tests/fips.rs:20,1
    - Dst: fips::assert_fips_status_indicator
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf/tests/fips.rs:29,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf/tests/fips.rs:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 15
    functionDepth: 5
    functionLinenumber: 15
    functionLinenumberEnd: 47
    functionName: hkdf_extract_expand_api
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf/tests/fips.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - fips::assert_fips_status_indicator
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Prk::new_less_safe
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf/tests/fips.rs:4,1
    - Dst: fips::assert_fips_status_indicator
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf/tests/fips.rs:10,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf/tests/fips.rs:10,1
    - Dst: fips::assert_fips_status_indicator
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf/tests/fips.rs:19,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf/tests/fips.rs:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 106
    functionDepth: 6
    functionLinenumber: 106
    functionLinenumberEnd: 128
    functionName: hkdf_expand_api
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf/tests/fips.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - Prk::new_less_safe
    - fips::assert_fips_status_indicator
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::validate_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs:48,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs:49,1
    - Dst: Self
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - evp_pkey
    argTypes:
    - LcPtr<EVP_PKEY>
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: PrivateDecryptingKey::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs
    functionUses: 9
    functionsReached:
    - Self
    - Ok
    - Self::validate_key
    linkageType: ''
    returnType: Result
    signature: 'fn new(evp_pkey: LcPtr<EVP_PKEY>) -> Result<Self, KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::key::validate_rsa_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key
    argTypes:
    - '&LcPtr<EVP_PKEY>'
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: PrivateDecryptingKey::validate_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs
    functionUses: 0
    functionsReached:
    - super::key::validate_rsa_key
    linkageType: ''
    returnType: Result
    signature: 'fn validate_key(key: &LcPtr<EVP_PKEY>) -> Result<(), KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::key::generate_rsa_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs:67,1
    - Dst: bits
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs:67,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs:68,1
    - Dst: Self::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - size
    argTypes:
    - KeySize
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 3
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: PrivateDecryptingKey::generate
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs
    functionUses: 6
    functionsReached:
    - super::key::generate_rsa_key
    - Self::new
    - Ok
    - bits
    linkageType: ''
    returnType: Result
    signature: 'pub fn generate(size: KeySize) -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - size
    argTypes:
    - KeySize
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 17
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: PrivateDecryptingKey::generate_fips
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs
    functionUses: 1
    functionsReached:
    - Self::generate
    linkageType: ''
    returnType: Result
    signature: 'pub fn generate_fips(size: KeySize) -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LcPtr::<EVP_PKEY>::parse_rfc5208_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs:98,1
    - Dst: Self::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - pkcs8
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: PrivateDecryptingKey::from_pkcs8
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs
    functionUses: 7
    functionsReached:
    - Self::new
    - LcPtr::<EVP_PKEY>::parse_rfc5208_private_key
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_pkcs8(pkcs8: &[u8]) -> Result<Self, KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::key::is_valid_fips_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: PrivateDecryptingKey::is_valid_fips_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs
    functionUses: 0
    functionsReached:
    - super::key::is_valid_fips_key
    linkageType: ''
    returnType: bool
    signature: pub fn is_valid_fips_key(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_const
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs:112,1
    - Dst: signature_size_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 5
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: PrivateDecryptingKey::key_size_bytes
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs
    functionUses: 2
    functionsReached:
    - signature_size_bytes
    - as_const
    linkageType: ''
    returnType: usize
    signature: pub fn key_size_bytes(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_const
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs:118,1
    - Dst: key_size_bits
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 5
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: PrivateDecryptingKey::key_size_bits
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs
    functionUses: 0
    functionsReached:
    - key_size_bits
    - as_const
    linkageType: ''
    returnType: usize
    signature: pub fn key_size_bits(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PublicEncryptingKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs:125,1
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs:125,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: PrivateDecryptingKey::public_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs
    functionUses: 0
    functionsReached:
    - Result::expect
    - PublicEncryptingKey::new
    - clone
    linkageType: ''
    returnType: PublicEncryptingKey
    signature: pub fn public_key(&self) -> PublicEncryptingKey
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::debug_tuple
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs:133,1
    - Dst: finish
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 13
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: PrivateDecryptingKey::fmt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs
    functionUses: 0
    functionsReached:
    - SpdmCertChainBuffer::debug_tuple
    - finish
    linkageType: ''
    returnType: core::fmt::Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter<''_>) -> core::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs:139,1
    - Dst: Pkcs8V1Der::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs:139,1
    - Dst: as_const
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs:140,1
    - Dst: marshal_rfc5208_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 6
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: PrivateDecryptingKey::as_der
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs
    functionUses: 0
    functionsReached:
    - Pkcs8V1Der::new
    - marshal_rfc5208_private_key
    - as_const
    - Ok
    linkageType: ''
    returnType: Result
    signature: fn as_der(&self) -> Result<Pkcs8V1Der<'static>, Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs:147,1
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: PrivateDecryptingKey::clone
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs
    functionUses: 0
    functionsReached:
    - Self
    - clone
    linkageType: ''
    returnType: Self
    signature: fn clone(&self) -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::validate_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs:160,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs:161,1
    - Dst: Self
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - evp_pkey
    argTypes:
    - LcPtr<EVP_PKEY>
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: PublicEncryptingKey::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs
    functionUses: 12
    functionsReached:
    - Self
    - Ok
    - Self::validate_key
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn new(evp_pkey: LcPtr<EVP_PKEY>) -> Result<Self, KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::key::validate_rsa_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key
    argTypes:
    - '&LcPtr<EVP_PKEY>'
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: PublicEncryptingKey::validate_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs
    functionUses: 0
    functionsReached:
    - super::key::validate_rsa_key
    linkageType: ''
    returnType: Result
    signature: 'fn validate_key(key: &LcPtr<EVP_PKEY>) -> Result<(), KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encoding::rfc5280::decode_public_key_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs:174,1
    - Dst: Self::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 11
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: PublicEncryptingKey::from_der
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs
    functionUses: 6
    functionsReached:
    - encoding::rfc5280::decode_public_key_der
    - Self::new
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_der(value: &[u8]) -> Result<Self, KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_const
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs:181,1
    - Dst: signature_size_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 180
    functionDepth: 5
    functionLinenumber: 180
    functionLinenumberEnd: 182
    functionName: PublicEncryptingKey::key_size_bytes
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs
    functionUses: 4
    functionsReached:
    - signature_size_bytes
    - as_const
    linkageType: ''
    returnType: usize
    signature: pub fn key_size_bytes(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_const
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs:187,1
    - Dst: key_size_bits
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 5
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: PublicEncryptingKey::key_size_bits
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs
    functionUses: 0
    functionsReached:
    - key_size_bits
    - as_const
    linkageType: ''
    returnType: usize
    signature: pub fn key_size_bits(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::debug_tuple
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs:193,1
    - Dst: finish
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 13
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: PublicEncryptingKey::fmt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs
    functionUses: 0
    functionsReached:
    - SpdmCertChainBuffer::debug_tuple
    - finish
    linkageType: ''
    returnType: core::fmt::Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter<''_>) -> core::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs:199,1
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: PublicEncryptingKey::clone
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs
    functionUses: 0
    functionsReached:
    - Self
    - clone
    linkageType: ''
    returnType: Self
    signature: fn clone(&self) -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encoding::rfc5280::encode_public_key_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 208
    functionDepth: 7
    functionLinenumber: 208
    functionLinenumberEnd: 210
    functionName: PublicEncryptingKey::as_der
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs
    functionUses: 0
    functionsReached:
    - encoding::rfc5280::encode_public_key_der
    linkageType: ''
    returnType: Result
    signature: fn as_der(&self) -> Result<PublicKeyX509Der<'static>, Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: null_mut::<u8>
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs:22,1
    - Dst: RSA_public_key_to_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs:25,1
    - Dst: Option::as_const
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs:28,1
    - Dst: ConstPointer::get_rsa
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs:28,1
    - Dst: as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs:28,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs:31,1
    - Dst: LcPtr::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs:33,1
    - Dst: as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs:34,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs:35,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs:36,1
    - Dst: Self::into_boxed_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs:36,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - pubkey
    argTypes:
    - '&LcPtr<EVP_PKEY>'
    constantsTouched: []
    func_position:
      end: 37
      start: 19
    functionDepth: 5
    functionLinenumber: 19
    functionLinenumberEnd: 37
    functionName: rfc8017::encode_public_key_der
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs
    functionUses: 1
    functionsReached:
    - LcPtr::new
    - Vec::from
    - Self::into_boxed_slice
    - Err
    - ConstPointer::get_rsa
    - null_mut::<u8>
    - RSA_public_key_to_bytes
    - as_const_ptr
    - Option::as_const
    - as_slice
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(in crate::rsa) fn encode_public_key_der(pubkey: &LcPtr<EVP_PKEY>,)
      -> Result<Box<[u8]>, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DetachableLcPtr::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs:44,1
    - Dst: RSA_public_key_from_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs:45,1
    - Dst: '&[u8]::as_ptr'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs:45,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs:45,1
    - Dst: LcPtr::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs:48,1
    - Dst: EVP_PKEY_new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs:48,1
    - Dst: EVP_PKEY_assign_RSA
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs:50,1
    - Dst: Result::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs:50,1
    - Dst: Vec::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs:50,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs:51,1
    - Dst: KeyRejected::unspecified
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs:51,1
    - Dst: Vec::detach
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs:54,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs:56,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - public_key
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 57
      start: 41
    functionDepth: 9
    functionLinenumber: 41
    functionLinenumberEnd: 57
    functionName: rfc8017::decode_public_key_der
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs
    functionUses: 4
    functionsReached:
    - LcPtr::new
    - '&[u8]::as_ptr'
    - '&[u8]::len'
    - RSA_public_key_from_bytes
    - EVP_PKEY_new
    - Vec::as_mut_ptr
    - Result::as_mut_ptr
    - Err
    - EVP_PKEY_assign_RSA
    - KeyRejected::unspecified
    - Vec::detach
    - Ok
    - DetachableLcPtr::new
    linkageType: ''
    returnType: Result
    signature: 'pub(in crate::rsa) fn decode_public_key_der(public_key: &[u8],) ->
      Result<LcPtr<EVP_PKEY>, KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cbs::build_CBS
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs:64,1
    - Dst: DetachableLcPtr::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs:66,1
    - Dst: RSA_parse_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs:66,1
    - Dst: LcPtr::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs:68,1
    - Dst: EVP_PKEY_new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs:68,1
    - Dst: EVP_PKEY_assign_RSA
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs:70,1
    - Dst: Result::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs:70,1
    - Dst: Vec::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs:70,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs:71,1
    - Dst: KeyRejected::unspecified
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs:71,1
    - Dst: Vec::detach
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs:74,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs:76,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - private_key
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 77
      start: 61
    functionDepth: 9
    functionLinenumber: 61
    functionLinenumberEnd: 77
    functionName: rfc8017::decode_private_key_der
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs
    functionUses: 0
    functionsReached:
    - LcPtr::new
    - EVP_PKEY_new
    - Vec::as_mut_ptr
    - Result::as_mut_ptr
    - Err
    - cbs::build_CBS
    - EVP_PKEY_assign_RSA
    - KeyRejected::unspecified
    - Vec::detach
    - RSA_parse_private_key
    - Ok
    - DetachableLcPtr::new
    linkageType: ''
    returnType: Result
    signature: 'pub(in crate::rsa) fn decode_private_key_der(private_key: &[u8],)
      -> Result<LcPtr<EVP_PKEY>, KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::as_const
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs:93,1
    - Dst: ConstPointer::marshal_rfc5280_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs:93,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs:94,1
    - Dst: PublicKeyX509Der::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs:94,1
    - Dst: Buffer::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - key
    argTypes:
    - '&LcPtr<EVP_PKEY>'
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 6
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: rfc5280::encode_public_key_der
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs
    functionUses: 3
    functionsReached:
    - PublicKeyX509Der::from
    - Buffer::new
    - bool::as_const
    - ConstPointer::marshal_rfc5280_public_key
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(in crate::rsa) fn encode_public_key_der(key: &LcPtr<EVP_PKEY>,)
      -> Result<PublicKeyX509Der<''static>, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LcPtr::<EVP_PKEY>::parse_rfc5280_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs:100,1
    - Dst: Result::or
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs:100,1
    - Dst: LcPtr::<EVP_PKEY>::parse_rfc5280_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 104
      start: 97
    functionDepth: 10
    functionLinenumber: 97
    functionLinenumberEnd: 104
    functionName: rfc5280::decode_public_key_der
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs
    functionUses: 3
    functionsReached:
    - LcPtr::<EVP_PKEY>::parse_rfc5280_public_key
    - Result::or
    linkageType: ''
    returnType: Result
    signature: 'pub(in crate::rsa) fn decode_public_key_der(value: &[u8],) -> Result<LcPtr<EVP_PKEY>,
      KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: KeySize::len
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub fn len(self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: KeySize::bits
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: i32
    signature: pub(super) fn bits(self) -> i32
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyPair::validate_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:103,1
    - Dst: PublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:104,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - evp_pkey
    argTypes:
    - LcPtr<EVP_PKEY>
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 8
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: KeyPair::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs
    functionUses: 0
    functionsReached:
    - PublicKey::new
    - Ok
    - KeyPair::validate_private_key
    linkageType: ''
    returnType: Result
    signature: 'fn new(evp_pkey: LcPtr<EVP_PKEY>) -> Result<Self, KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_rsa_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:122,1
    - Dst: bits
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:122,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:123,1
    - Dst: Self::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - size
    argTypes:
    - KeySize
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: KeyPair::generate
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs
    functionUses: 29
    functionsReached:
    - Self::new
    - Ok
    - generate_rsa_key
    - bits
    linkageType: ''
    returnType: Result
    signature: 'pub fn generate(size: KeySize) -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - size
    argTypes:
    - KeySize
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 17
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: KeyPair::generate_fips
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs
    functionUses: 1
    functionsReached:
    - Self::generate
    linkageType: ''
    returnType: Result
    signature: 'pub fn generate_fips(size: KeySize) -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs8::unwrap_key_
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:100,1
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:101,1
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:103,1
    - Dst: Self::from_der
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:105,1
    - Dst: as_slice_less_safe
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pkcs8
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 15
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: KeyPair::from_pkcs8
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/keypair.rs
    functionUses: 34
    functionsReached:
    - untrusted::Input::from
    - as_slice_less_safe
    - Self::from_der
    - pkcs8::unwrap_key_
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_pkcs8(pkcs8: &[u8]) -> Result<Self, KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:127,1
    - Dst: Self::read_all
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:127,1
    - Dst: KeyRejected::invalid_encoding
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:127,1
    - Dst: der::nested
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:128,1
    - Dst: KeyRejected::invalid_encoding
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - input
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 14
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: KeyPair::from_der
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/keypair.rs
    functionUses: 7
    functionsReached:
    - Self::read_all
    - untrusted::Input::from
    - KeyRejected::invalid_encoding
    - der::nested
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_der(input: &[u8]) -> Result<Self, KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_valid_fips_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 6
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: KeyPair::is_valid_fips_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs
    functionUses: 0
    functionsReached:
    - is_valid_fips_key
    linkageType: ''
    returnType: bool
    signature: pub fn is_valid_fips_key(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: validate_rsa_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - key
    argTypes:
    - '&LcPtr<EVP_PKEY>'
    constantsTouched: []
    func_position:
      end: 177
      start: 175
    functionDepth: 7
    functionLinenumber: 175
    functionLinenumberEnd: 177
    functionName: KeyPair::validate_private_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs
    functionUses: 1
    functionsReached:
    - validate_rsa_key
    linkageType: ''
    returnType: Result
    signature: 'fn validate_private_key(key: &LcPtr<EVP_PKEY>) -> Result<(), KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:540,1
    - Dst: Result::len
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:542,1
    - Dst: KeyPair::public
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:542,1
    - Dst: '&PublicKey::modulus_len'
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:542,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:543,1
    - Dst: digest::digest
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:546,1
    - Dst: '&''static dyn RsaEncoding::digest_alg'
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:546,1
    - Dst: padding::encode
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:550,1
    - Dst: KeyPair::public
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:554,1
    - Dst: '&PublicKey::inner'
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:554,1
    - Dst: n
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:554,1
    - Dst: len_bits
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:554,1
    - Dst: KeyPair::private_exponentiate
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:562,1
    - Dst: fill_be_bytes
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:565,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:567,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 4
    argNames:
    - padding_alg
    - rng
    - msg
    - signature
    argTypes:
    - '&''static dyn RsaEncoding'
    - '&dyn rand::SecureRandom'
    - '&[u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 568
      start: 533
    functionDepth: 14
    functionLinenumber: 533
    functionLinenumberEnd: 568
    functionName: KeyPair::sign
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/keypair.rs
    functionUses: 0
    functionsReached:
    - KeyPair::private_exponentiate
    - '&PublicKey::modulus_len'
    - KeyPair::public
    - Result::len
    - padding::encode
    - Err
    - cpu::features
    - digest::digest
    - '&''static dyn RsaEncoding::digest_alg'
    - n
    - '&PublicKey::inner'
    - len_bits
    - fill_be_bytes
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn sign(&self,padding_alg: &''static dyn RsaEncoding,rng: &dyn
      rand::SecureRandom,msg: &[u8],signature: &mut [u8],) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&''static dyn RsaEncoding::encoding'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:240,1
    - Dst: Self::digest_algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:241,1
    - Dst: Digest::algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:241,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:242,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:245,1
    - Dst: digest::match_digest_type
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:247,1
    - Dst: Digest::algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:247,1
    - Dst: aws_lc::EVP_PKEY_CTX_set_signature_md
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:248,1
    - Dst: ConstPointer::as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:248,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:249,1
    - Dst: Self::padding
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:251,1
    - Dst: rsa::signature::configure_rsa_pkcs1_pss_padding
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:252,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:254,1
    - Dst: sign_digest
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:259,1
    - Dst: Result::copy_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:261,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:262,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 46
    argCount: 3
    argNames:
    - padding_alg
    - digest
    - signature
    argTypes:
    - '&''static dyn RsaEncoding'
    - '&Digest'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 263
      start: 234
    functionDepth: 5
    functionLinenumber: 234
    functionLinenumberEnd: 263
    functionName: KeyPair::sign_digest
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs
    functionUses: 2
    functionsReached:
    - '&''static dyn RsaEncoding::encoding'
    - Result::copy_from_slice
    - Self::padding
    - Digest::algorithm
    - aws_lc::EVP_PKEY_CTX_set_signature_md
    - Err
    - digest::match_digest_type
    - ConstPointer::as_const_ptr
    - Self::digest_algorithm
    - sign_digest
    - rsa::signature::configure_rsa_pkcs1_pss_padding
    - Ok
    - Some
    linkageType: ''
    returnType: Result
    signature: 'pub fn sign_digest(&self,padding_alg: &''static dyn RsaEncoding,digest:
      &Digest,signature: &mut [u8],) -> Result<(), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyPair::public
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:398,1
    - Dst: '&PublicKey::modulus_len'
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 399
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 399
    functionName: KeyPair::public_modulus_len
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/keypair.rs
    functionUses: 0
    functionsReached:
    - '&PublicKey::modulus_len'
    - KeyPair::public
    linkageType: ''
    returnType: usize
    signature: pub fn public_modulus_len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::write_str
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 287
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 287
    functionName: KeyPair::fmt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs
    functionUses: 0
    functionsReached:
    - SpdmCertChainBuffer::write_str
    linkageType: ''
    returnType: Result
    signature: 'fn fmt(&self, f: &mut Formatter<''_>) -> Result<(), fmt::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyPair::public
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 407
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 407
    functionName: KeyPair::public_key
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/keypair.rs
    functionUses: 1
    functionsReached:
    - KeyPair::public
    linkageType: ''
    returnType: '&Self::PublicKey'
    signature: fn public_key(&self) -> &Self::PublicKey
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:300,1
    - Dst: Pkcs8V1Der::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:300,1
    - Dst: as_const
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:301,1
    - Dst: marshal_rfc5208_private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 305
      start: 299
    functionDepth: 6
    functionLinenumber: 299
    functionLinenumberEnd: 305
    functionName: KeyPair::as_der
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs
    functionUses: 0
    functionsReached:
    - Pkcs8V1Der::new
    - marshal_rfc5208_private_key
    - as_const
    - Ok
    linkageType: ''
    returnType: Result
    signature: fn as_der(&self) -> Result<Pkcs8V1Der<'static>, Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zeroize
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:321,1
    - Dst: zeroize
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:323,1
    - Dst: zeroize
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 326
      start: 320
    functionDepth: 3
    functionLinenumber: 320
    functionLinenumberEnd: 326
    functionName: PublicKey::drop
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs
    functionUses: 0
    functionsReached:
    - zeroize
    linkageType: ''
    returnType: void
    signature: fn drop(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encoding::rfc8017::encode_public_key_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:331,1
    - Dst: Result::as_const
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:334,1
    - Dst: Result::get_rsa
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:335,1
    - Dst: Option::project_const_lifetime
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:336,1
    - Dst: aws_lc::RSA_get0_n
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:337,1
    - Dst: Option::as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:337,1
    - Dst: to_be_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:338,1
    - Dst: Vec::into_boxed_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:338,1
    - Dst: Option::project_const_lifetime
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:339,1
    - Dst: aws_lc::RSA_get0_e
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:340,1
    - Dst: Option::as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:340,1
    - Dst: to_be_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:341,1
    - Dst: Vec::into_boxed_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:341,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:342,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:350,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 1
    argNames:
    - evp_pkey
    argTypes:
    - '&LcPtr<EVP_PKEY>'
    constantsTouched: []
    func_position:
      end: 351
      start: 330
    functionDepth: 6
    functionLinenumber: 330
    functionLinenumberEnd: 351
    functionName: PublicKey::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs
    functionUses: 82
    functionsReached:
    - Result::get_rsa
    - Option::as_const_ptr
    - aws_lc::RSA_get0_e
    - Vec::into_boxed_slice
    - to_be_bytes
    - Result::as_const
    - aws_lc::RSA_get0_n
    - Option::project_const_lifetime
    - encoding::rfc8017::encode_public_key_der
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn new(evp_pkey: &LcPtr<EVP_PKEY>) -> Result<Self, KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:359,1
    - Dst: rfc8017::decode_public_key_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:360,1
    - Dst: Result::or
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:360,1
    - Dst: rfc5280::decode_public_key_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - input
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 362
      start: 356
    functionDepth: 10
    functionLinenumber: 356
    functionLinenumberEnd: 362
    functionName: PublicKey::from_der
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs
    functionUses: 1
    functionsReached:
    - Result::or
    - PublicKey::new
    - rfc8017::decode_public_key_der
    - rfc5280::decode_public_key_der
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_der(input: &[u8]) -> Result<Self, KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rfc8017::decode_public_key_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:366,1
    - Dst: Result::or
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:366,1
    - Dst: rfc5280::decode_public_key_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - input
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 10
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: parse_rsa_public_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs
    functionUses: 2
    functionsReached:
    - Result::or
    - rfc8017::decode_public_key_der
    - rfc5280::decode_public_key_der
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn parse_rsa_public_key(input: &[u8]) -> Result<LcPtr<EVP_PKEY>,
      KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: io::Positive::new_non_empty_without_leading_zeros
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:398,1
    - Dst: Input::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:398,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 399
      start: 397
    functionDepth: 2
    functionLinenumber: 397
    functionLinenumberEnd: 399
    functionName: PublicKey::modulus
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs
    functionUses: 0
    functionsReached:
    - as_ref
    - io::Positive::new_non_empty_without_leading_zeros
    - Input::from
    linkageType: ''
    returnType: io::Positive
    signature: pub fn modulus(&self) -> io::Positive<'_>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: io::Positive::new_non_empty_without_leading_zeros
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:404,1
    - Dst: Input::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:404,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 405
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 405
    functionName: PublicKey::exponent
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs
    functionUses: 0
    functionsReached:
    - as_ref
    - io::Positive::new_non_empty_without_leading_zeros
    - Input::from
    linkageType: ''
    returnType: io::Positive
    signature: pub fn exponent(&self) -> io::Positive<'_>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: n
      Src: /src/spdm-rs/external/ring/src/rsa/public_key.rs:77,1
    - Dst: len_bits
      Src: /src/spdm-rs/external/ring/src/rsa/public_key.rs:77,1
    - Dst: as_usize_bytes_rounded_up
      Src: /src/spdm-rs/external/ring/src/rsa/public_key.rs:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 13
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: PublicKey::modulus_len
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/public_key.rs
    functionUses: 4
    functionsReached:
    - len_bits
    - as_usize_bytes_rounded_up
    - n
    linkageType: ''
    returnType: usize
    signature: pub fn modulus_len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::debug_struct
      Src: /src/spdm-rs/external/ring/src/rsa/public_key_components.rs:35,1
    - Dst: field
      Src: /src/spdm-rs/external/ring/src/rsa/public_key_components.rs:35,1
    - Dst: field
      Src: /src/spdm-rs/external/ring/src/rsa/public_key_components.rs:35,1
    - Dst: finish
      Src: /src/spdm-rs/external/ring/src/rsa/public_key_components.rs:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 11
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: PublicKeyComponents::fmt
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/public_key_components.rs
    functionUses: 0
    functionsReached:
    - SpdmCertChainBuffer::debug_struct
    - finish
    - field
    linkageType: ''
    returnType: Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter<''_>) -> Result<(), core::fmt::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:451,1
    - Dst: is_empty
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:452,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:453,1
    - Dst: DetachableLcPtr::try_from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:455,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:457,1
    - Dst: '&[u8]::is_empty'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:458,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:459,1
    - Dst: DetachableLcPtr::try_from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:461,1
    - Dst: DetachableLcPtr::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:463,1
    - Dst: aws_lc::RSA_new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:463,1
    - Dst: aws_lc::RSA_set0_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:465,1
    - Dst: Vec::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:466,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:467,1
    - Dst: Result::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:468,1
    - Dst: core::ptr::null_mut
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:469,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:472,1
    - Dst: detach
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:474,1
    - Dst: Result::detach
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:475,1
    - Dst: LcPtr::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:477,1
    - Dst: EVP_PKEY_new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:477,1
    - Dst: aws_lc::EVP_PKEY_assign_RSA
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:478,1
    - Dst: Result::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:478,1
    - Dst: Vec::as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:478,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:479,1
    - Dst: Vec::detach
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:481,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:483,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 484
      start: 450
    functionDepth: 9
    functionLinenumber: 450
    functionLinenumberEnd: 484
    functionName: PublicKeyComponents::build_rsa
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs
    functionUses: 4
    functionsReached:
    - is_empty
    - Result::detach
    - Result::as_mut_ptr
    - aws_lc::RSA_set0_key
    - aws_lc::RSA_new
    - DetachableLcPtr::try_from
    - Vec::as_mut_ptr
    - Vec::detach
    - detach
    - Ok
    - Err
    - core::ptr::null_mut
    - aws_lc::EVP_PKEY_assign_RSA
    - DetachableLcPtr::new
    - LcPtr::new
    - EVP_PKEY_new
    - '&[u8]::is_empty'
    - as_mut_ptr
    - as_ref
    linkageType: ''
    returnType: Result
    signature: fn build_rsa(&self) -> Result<LcPtr<EVP_PKEY>, ()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PublicKeyComponents::build_rsa
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:499,1
    - Dst: super::signature::verify_rsa_signature
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:500,1
    - Dst: Result::digest_algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:501,1
    - Dst: Result::padding
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:502,1
    - Dst: Result::bit_size_range
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:506,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - params
    - message
    - signature
    argTypes:
    - '&RsaParameters'
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 508
      start: 493
    functionDepth: 10
    functionLinenumber: 493
    functionLinenumberEnd: 508
    functionName: PublicKeyComponents::verify
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs
    functionUses: 0
    functionsReached:
    - PublicKeyComponents::build_rsa
    - Result::padding
    - Result::digest_algorithm
    - Result::bit_size_range
    - super::signature::verify_rsa_signature
    linkageType: ''
    returnType: Result
    signature: 'pub fn verify(&self,params: &RsaParameters,message: &[u8],signature:
      &[u8],) -> Result<(), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PublicKeyComponents::build_rsa
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:550,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:550,1
    - Dst: KeyRejected::inconsistent_components
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:552,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:553,1
    - Dst: crate::signature::ParsedPublicKey::from_rsa_evp_pkey
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:553,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - params
    argTypes:
    - '&''static RsaParameters'
    constantsTouched: []
    func_position:
      end: 556
      start: 546
    functionDepth: 10
    functionLinenumber: 546
    functionLinenumberEnd: 556
    functionName: PublicKeyComponents::to_parsed_public_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs
    functionUses: 0
    functionsReached:
    - PublicKeyComponents::build_rsa
    - crate::signature::ParsedPublicKey::from_rsa_evp_pkey
    - Result::map_err
    - Ok
    - KeyRejected::inconsistent_components
    linkageType: ''
    returnType: Result
    signature: 'pub fn to_parsed_public_key(&self,params: &''static RsaParameters,)
      -> Result<crate::signature::ParsedPublicKey, KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::inner'
      Src: /src/spdm-rs/external/ring/src/rsa/public_key_components.rs:48,1
    - Dst: n
      Src: /src/spdm-rs/external/ring/src/rsa/public_key_components.rs:48,1
    - Dst: be_bytes
      Src: /src/spdm-rs/external/ring/src/rsa/public_key_components.rs:48,1
    - Dst: Result::collect
      Src: /src/spdm-rs/external/ring/src/rsa/public_key_components.rs:48,1
    - Dst: '&[u8]::inner'
      Src: /src/spdm-rs/external/ring/src/rsa/public_key_components.rs:49,1
    - Dst: e
      Src: /src/spdm-rs/external/ring/src/rsa/public_key_components.rs:49,1
    - Dst: be_bytes
      Src: /src/spdm-rs/external/ring/src/rsa/public_key_components.rs:49,1
    - Dst: Result::collect
      Src: /src/spdm-rs/external/ring/src/rsa/public_key_components.rs:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - public_key
    argTypes:
    - '&PublicKey'
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 12
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: PublicKeyComponents::from
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/public_key_components.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::inner'
    - Result::collect
    - be_bytes
    - n
    - e
    linkageType: ''
    returnType: Self
    signature: 'fn from(public_key: &PublicKey) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PublicKeyComponents::build_rsa
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:580,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:581,1
    - Dst: PublicEncryptingKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:581,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 582
      start: 579
    functionDepth: 10
    functionLinenumber: 579
    functionLinenumberEnd: 582
    functionName: PublicKeyComponents::try_into
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs
    functionUses: 0
    functionsReached:
    - PublicKeyComponents::build_rsa
    - PublicEncryptingKey::new
    - Ok
    linkageType: ''
    returnType: Result
    signature: fn try_into(self) -> Result<PublicEncryptingKey, Self::Error>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PublicKeyComponents::build_rsa
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:597,1
    - Dst: rfc5280::encode_public_key_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:598,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 599
      start: 596
    functionDepth: 10
    functionLinenumber: 596
    functionLinenumberEnd: 599
    functionName: PublicKeyComponents::as_der
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs
    functionUses: 0
    functionsReached:
    - PublicKeyComponents::build_rsa
    - rfc5280::encode_public_key_der
    linkageType: ''
    returnType: Result
    signature: fn as_der(&self) -> Result<PublicKeyX509Der<'static>, Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_set_rsa_keygen_bits
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:604,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:605,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:607,1
    - Dst: LcPtr::<EVP_PKEY>::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:611,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:611,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - size
    argTypes:
    - c_int
    constantsTouched: []
    func_position:
      end: 612
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 612
    functionName: generate_rsa_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs
    functionUses: 2
    functionsReached:
    - EVP_PKEY_CTX_set_rsa_keygen_bits
    - Err
    - LcPtr::<EVP_PKEY>::generate
    - Ok
    - Some
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn generate_rsa_key(size: c_int) -> Result<LcPtr<EVP_PKEY>,
      Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::as_const
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:618,1
    - Dst: Result::get_rsa
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:619,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:619,1
    - Dst: aws_lc::RSA_check_fips
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:621,1
    - Dst: Result::as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:621,1
    - Dst: cast_mut
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:621,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - key
    argTypes:
    - '&LcPtr<EVP_PKEY>'
    constantsTouched: []
    func_position:
      end: 622
      start: 616
    functionDepth: 5
    functionLinenumber: 616
    functionLinenumberEnd: 622
    functionName: is_valid_fips_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs
    functionUses: 2
    functionsReached:
    - Result::get_rsa
    - cast_mut
    - bool::as_const
    - Result::expect
    - Result::as_const_ptr
    - aws_lc::RSA_check_fips
    linkageType: ''
    returnType: bool
    signature: 'pub(super) fn is_valid_fips_key(key: &LcPtr<EVP_PKEY>) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::as_const
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:625,1
    - Dst: ConstPointer::id
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:625,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - '&LcPtr<EVP_PKEY>'
    constantsTouched: []
    func_position:
      end: 627
      start: 624
    functionDepth: 5
    functionLinenumber: 624
    functionLinenumberEnd: 627
    functionName: is_rsa_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs
    functionUses: 1
    functionsReached:
    - bool::as_const
    - ConstPointer::id
    linkageType: ''
    returnType: bool
    signature: 'pub(super) fn is_rsa_key(key: &LcPtr<EVP_PKEY>) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_rsa_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:630,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:631,1
    - Dst: KeyRejected::unspecified
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:631,1
    - Dst: bool::as_const
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:633,1
    - Dst: ConstPointer::key_size_bits
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:633,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:634,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:635,1
    - Dst: KeyRejected::too_small
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:635,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:636,1
    - Dst: KeyRejected::too_large
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs:636,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - key
    argTypes:
    - '&LcPtr<EVP_PKEY>'
    constantsTouched: []
    func_position:
      end: 638
      start: 629
    functionDepth: 6
    functionLinenumber: 629
    functionLinenumberEnd: 638
    functionName: validate_rsa_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs
    functionUses: 3
    functionsReached:
    - is_rsa_key
    - KeyRejected::too_large
    - Err
    - ConstPointer::key_size_bits
    - KeyRejected::unspecified
    - bool::as_const
    - KeyRejected::too_small
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn validate_rsa_key(key: &LcPtr<EVP_PKEY>) -> Result<(),
      KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: RsaParameters::digest_algorithm
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: '&''static digest::Algorithm'
    signature: pub(crate) fn digest_algorithm(&self) -> &'static digest::Algorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: RsaParameters::padding
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: '&''static RsaPadding'
    signature: pub(crate) fn padding(&self) -> &'static RsaPadding
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: RsaParameters::bit_size_range
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: '&RangeInclusive'
    signature: pub(crate) fn bit_size_range(&self) -> &RangeInclusive<u32>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::key'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:63,1
    - Dst: verify_rsa_signature
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:64,1
    - Dst: RsaParameters::digest_algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:65,1
    - Dst: RsaParameters::padding
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:66,1
    - Dst: RsaParameters::bit_size_range
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - public_key
    - msg
    - signature
    argTypes:
    - '&ParsedPublicKey'
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 72
      start: 57
    functionDepth: 11
    functionLinenumber: 57
    functionLinenumberEnd: 72
    functionName: RsaParameters::parsed_verify_sig
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::key'
    - RsaParameters::digest_algorithm
    - verify_rsa_signature
    - RsaParameters::bit_size_range
    - RsaParameters::padding
    linkageType: ''
    returnType: Result
    signature: 'fn parsed_verify_sig(&self,public_key: &ParsedPublicKey,msg: &[u8],signature:
      &[u8],) -> Result<(), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::key'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:80,1
    - Dst: verify_rsa_digest_signature
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:81,1
    - Dst: RsaParameters::padding
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:82,1
    - Dst: RsaParameters::bit_size_range
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - public_key
    - digest
    - signature
    argTypes:
    - '&ParsedPublicKey'
    - '&Digest'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 88
      start: 74
    functionDepth: 11
    functionLinenumber: 74
    functionLinenumberEnd: 88
    functionName: RsaParameters::parsed_verify_digest_sig
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs
    functionUses: 0
    functionsReached:
    - RsaParameters::padding
    - RsaParameters::bit_size_range
    - verify_rsa_digest_signature
    - '&[u8]::key'
    linkageType: ''
    returnType: Result
    signature: 'fn parsed_verify_digest_sig(&self,public_key: &ParsedPublicKey,digest:
      &Digest,signature: &[u8],) -> Result<(), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_public_key
      Src: /src/spdm-rs/external/ring/src/rsa/verification.rs:34,1
    - Dst: verify_rsa_
      Src: /src/spdm-rs/external/ring/src/rsa/verification.rs:35,1
    - Dst: big_endian_without_leading_zero_as_input
      Src: /src/spdm-rs/external/ring/src/rsa/verification.rs:38,1
    - Dst: big_endian_without_leading_zero_as_input
      Src: /src/spdm-rs/external/ring/src/rsa/verification.rs:39,1
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/rsa/verification.rs:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - public_key
    - msg
    - signature
    argTypes:
    - untrusted::Input
    - untrusted::Input
    - untrusted::Input
    constantsTouched: []
    func_position:
      end: 45
      start: 28
    functionDepth: 15
    functionLinenumber: 28
    functionLinenumberEnd: 45
    functionName: RsaParameters::verify
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/verification.rs
    functionUses: 0
    functionsReached:
    - parse_public_key
    - verify_rsa_
    - big_endian_without_leading_zero_as_input
    - cpu::features
    linkageType: ''
    returnType: Result
    signature: 'fn verify(&self,public_key: untrusted::Input,msg: untrusted::Input,signature:
      untrusted::Input,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rsa::key::parse_rsa_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:112,1
    - Dst: verify_rsa_signature
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:113,1
    - Dst: RsaParameters::digest_algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:114,1
    - Dst: RsaParameters::padding
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:115,1
    - Dst: RsaParameters::bit_size_range
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - public_key
    - msg
    - signature
    argTypes:
    - '&[u8]'
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 121
      start: 106
    functionDepth: 6
    functionLinenumber: 106
    functionLinenumberEnd: 121
    functionName: RsaParameters::verify_sig
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs
    functionUses: 0
    functionsReached:
    - rsa::key::parse_rsa_public_key
    - verify_rsa_signature
    - RsaParameters::digest_algorithm
    - RsaParameters::bit_size_range
    - RsaParameters::padding
    linkageType: ''
    returnType: Result
    signature: 'fn verify_sig(&self,public_key: &[u8],msg: &[u8],signature: &[u8],)
      -> Result<(), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RsaParameters::digest_algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:129,1
    - Dst: Digest::algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:129,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:130,1
    - Dst: rsa::key::parse_rsa_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:132,1
    - Dst: verify_rsa_digest_signature
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:133,1
    - Dst: RsaParameters::padding
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:134,1
    - Dst: RsaParameters::bit_size_range
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - public_key
    - digest
    - signature
    argTypes:
    - '&[u8]'
    - '&Digest'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 140
      start: 123
    functionDepth: 6
    functionLinenumber: 123
    functionLinenumberEnd: 140
    functionName: RsaParameters::verify_digest_sig
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs
    functionUses: 0
    functionsReached:
    - rsa::key::parse_rsa_public_key
    - Digest::algorithm
    - RsaParameters::digest_algorithm
    - Err
    - verify_rsa_digest_signature
    - RsaParameters::bit_size_range
    - RsaParameters::padding
    linkageType: ''
    returnType: Result
    signature: 'fn verify_digest_sig(&self,public_key: &[u8],digest: &Digest,signature:
      &[u8],) -> Result<(), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::write_str
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: RsaParameters::fmt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs
    functionUses: 0
    functionsReached:
    - SpdmCertChainBuffer::write_str
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut Formatter<''_>) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - digest_alg
    - padding
    - range
    - verification_alg
    argTypes:
    - '&''static digest::Algorithm'
    - '&''static RsaPadding'
    - RangeInclusive<u32>
    - '&''static RsaVerificationAlgorithmId'
    constantsTouched: []
    func_position:
      end: 159
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 159
    functionName: RsaParameters::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs
    functionUses: 0
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: 'pub(crate) const fn new(digest_alg: &''static digest::Algorithm,padding:
      &''static RsaPadding,range: RangeInclusive<u32>,verification_alg: &''static
      RsaVerificationAlgorithmId,) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encoding::rfc8017::decode_public_key_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:166,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:167,1
    - Dst: RSA_bits
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:167,1
    - Dst: Vec::as_const
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:167,1
    - Dst: ConstPointer::get_rsa
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:167,1
    - Dst: as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - public_key
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 10
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: RsaParameters::public_modulus_len
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs
    functionUses: 0
    functionsReached:
    - Ok
    - ConstPointer::get_rsa
    - as_const_ptr
    - encoding::rfc8017::decode_public_key_der
    - Vec::as_const
    - RSA_bits
    linkageType: ''
    returnType: Result
    signature: 'pub fn public_modulus_len(public_key: &[u8]) -> Result<u32, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: start
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 172
    functionDepth: 4
    functionLinenumber: 172
    functionLinenumberEnd: 174
    functionName: RsaParameters::min_modulus_len
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs
    functionUses: 0
    functionsReached:
    - start
    linkageType: ''
    returnType: u32
    signature: pub fn min_modulus_len(&self) -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 180
    functionName: RsaParameters::max_modulus_len
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs
    functionUses: 0
    functionsReached:
    - end
    linkageType: ''
    returnType: u32
    signature: pub fn max_modulus_len(&self) -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - digest_alg
    - padding
    - sig_alg
    argTypes:
    - '&''static digest::Algorithm'
    - '&''static RsaPadding'
    - '&''static RsaSigningAlgorithmId'
    constantsTouched: []
    func_position:
      end: 225
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 225
    functionName: RsaSignatureEncoding::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs
    functionUses: 0
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: 'pub(crate) const fn new(digest_alg: &''static digest::Algorithm,padding:
      &''static RsaPadding,sig_alg: &''static RsaSigningAlgorithmId,) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: RsaSignatureEncoding::digest_algorithm
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''static digest::Algorithm'
    signature: pub(super) fn digest_algorithm(&self) -> &'static digest::Algorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 235
    functionName: RsaSignatureEncoding::padding
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''static RsaPadding'
    signature: pub(super) fn padding(&self) -> &'static RsaPadding
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 252
    functionName: RsaSignatureEncoding::encoding
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''static RsaSignatureEncoding'
    signature: fn encoding(&'static self) -> &'static RsaSignatureEncoding
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::write_str
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 258
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 258
    functionName: RsaSignatureEncoding::fmt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs
    functionUses: 0
    functionsReached:
    - SpdmCertChainBuffer::write_str
    linkageType: ''
    returnType: Result
    signature: 'fn fmt(&self, f: &mut Formatter<''_>) -> Result<(), fmt::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_set_rsa_padding
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:263,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:264,1
    - Dst: aws_lc::EVP_PKEY_CTX_set_rsa_pss_saltlen
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:266,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:267,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:269,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - pctx
    argTypes:
    - '*mut EVP_PKEY_CTX'
    constantsTouched: []
    func_position:
      end: 270
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 270
    functionName: configure_rsa_pkcs1_pss_padding
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs
    functionUses: 2
    functionsReached:
    - aws_lc::EVP_PKEY_CTX_set_rsa_pss_saltlen
    - EVP_PKEY_CTX_set_rsa_padding
    - Err
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn configure_rsa_pkcs1_pss_padding(pctx: *mut EVP_PKEY_CTX)
      -> Result<(), ()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&RangeInclusive<u32>::contains'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:281,1
    - Dst: '&[u8]::as_const'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:281,1
    - Dst: ConstPointer::key_size_bits
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:281,1
    - Dst: usize::try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:281,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:282,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:286,1
    - Dst: '&[u8]::verify'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:291,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:291,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 6
    argNames:
    - algorithm
    - padding
    - public_key
    - msg
    - signature
    - allowed_bit_size
    argTypes:
    - '&''static digest::Algorithm'
    - '&''static RsaPadding'
    - '&LcPtr<EVP_PKEY>'
    - '&[u8]'
    - '&[u8]'
    - '&RangeInclusive<u32>'
    constantsTouched: []
    func_position:
      end: 292
      start: 273
    functionDepth: 5
    functionLinenumber: 273
    functionLinenumberEnd: 292
    functionName: verify_rsa_signature
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs
    functionUses: 3
    functionsReached:
    - '&[u8]::as_const'
    - usize::try_into
    - Err
    - '&[u8]::verify'
    - ConstPointer::key_size_bits
    - '&RangeInclusive<u32>::contains'
    - Some
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn verify_rsa_signature(algorithm: &''static digest::Algorithm,padding:
      &''static RsaPadding,public_key: &LcPtr<EVP_PKEY>,msg: &[u8],signature: &[u8],allowed_bit_size:
      &RangeInclusive<u32>,) -> Result<(), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&RangeInclusive<u32>::contains'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:302,1
    - Dst: '&[u8]::as_const'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:302,1
    - Dst: ConstPointer::key_size_bits
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:302,1
    - Dst: usize::try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:302,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:303,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:306,1
    - Dst: digest::match_digest_type
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:308,1
    - Dst: Digest::algorithm
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:308,1
    - Dst: aws_lc::EVP_PKEY_CTX_set_signature_md
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:309,1
    - Dst: ConstPointer::as_const_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:309,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:310,1
    - Dst: configure_rsa_pkcs1_pss_padding
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:313,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:315,1
    - Dst: '&[u8]::verify_digest_sig'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs:320,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 40
    argCount: 5
    argNames:
    - padding
    - public_key
    - digest
    - signature
    - allowed_bit_size
    argTypes:
    - '&''static RsaPadding'
    - '&LcPtr<EVP_PKEY>'
    - '&Digest'
    - '&[u8]'
    - '&RangeInclusive<u32>'
    constantsTouched: []
    func_position:
      end: 321
      start: 295
    functionDepth: 5
    functionLinenumber: 295
    functionLinenumberEnd: 321
    functionName: verify_rsa_digest_signature
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs
    functionUses: 2
    functionsReached:
    - '&[u8]::as_const'
    - usize::try_into
    - Digest::algorithm
    - aws_lc::EVP_PKEY_CTX_set_signature_md
    - Err
    - configure_rsa_pkcs1_pss_padding
    - digest::match_digest_type
    - ConstPointer::key_size_bits
    - ConstPointer::as_const_ptr
    - '&[u8]::verify_digest_sig'
    - '&RangeInclusive<u32>::contains'
    - Ok
    - Some
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn verify_rsa_digest_signature(padding: &''static RsaPadding,public_key:
      &LcPtr<EVP_PKEY>,digest: &Digest,signature: &[u8],allowed_bit_size: &RangeInclusive<u32>,)
      -> Result<(), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - public_key
    argTypes:
    - PublicEncryptingKey
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: Pkcs1PublicEncryptingKey::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs
    functionUses: 7
    functionsReached:
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn new(public_key: PublicEncryptingKey) -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_EVP_PKEY_CTX
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs:45,1
    - Dst: EVP_PKEY_encrypt_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs:47,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs:47,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs:48,1
    - Dst: configure_pkcs1_crypto_operation
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs:51,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs:53,1
    - Dst: fips::indicator_check
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs:55,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs:64,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs:67,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 2
    argNames:
    - plaintext
    - ciphertext
    argTypes:
    - '&[u8]'
    - '&''ciphertext mut [u8]'
    constantsTouched: []
    func_position:
      end: 68
      start: 40
    functionDepth: 4
    functionLinenumber: 40
    functionLinenumberEnd: 68
    functionName: Pkcs1PublicEncryptingKey::encrypt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs
    functionUses: 0
    functionsReached:
    - Err
    - as_mut_ptr
    - create_EVP_PKEY_CTX
    - EVP_PKEY_encrypt_init
    - fips::indicator_check
    - len
    - Ok
    - configure_pkcs1_crypto_operation
    linkageType: ''
    returnType: Result
    signature: 'pub fn encrypt<''ciphertext>(&self,plaintext: &[u8],ciphertext: &''ciphertext
      mut [u8],) -> Result<&''ciphertext mut [u8], Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_size_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: Pkcs1PublicEncryptingKey::key_size_bytes
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs
    functionUses: 2
    functionsReached:
    - key_size_bytes
    linkageType: ''
    returnType: usize
    signature: pub fn key_size_bytes(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_size_bits
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 5
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: Pkcs1PublicEncryptingKey::key_size_bits
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs
    functionUses: 0
    functionsReached:
    - key_size_bits
    linkageType: ''
    returnType: usize
    signature: pub fn key_size_bits(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Pkcs1PublicEncryptingKey::key_size_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: Pkcs1PublicEncryptingKey::max_plaintext_size
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs
    functionUses: 0
    functionsReached:
    - Pkcs1PublicEncryptingKey::key_size_bytes
    linkageType: ''
    returnType: usize
    signature: pub fn max_plaintext_size(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Pkcs1PublicEncryptingKey::key_size_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: Pkcs1PublicEncryptingKey::ciphertext_size
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs
    functionUses: 0
    functionsReached:
    - Pkcs1PublicEncryptingKey::key_size_bytes
    linkageType: ''
    returnType: usize
    signature: pub fn ciphertext_size(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::debug_struct
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs:98,1
    - Dst: finish_non_exhaustive
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: Pkcs1PublicEncryptingKey::fmt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs
    functionUses: 0
    functionsReached:
    - SpdmCertChainBuffer::debug_struct
    - finish_non_exhaustive
    linkageType: ''
    returnType: core::fmt::Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter<''_>) -> core::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - private_key
    argTypes:
    - PrivateDecryptingKey
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: Pkcs1PrivateDecryptingKey::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs
    functionUses: 6
    functionsReached:
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn new(private_key: PrivateDecryptingKey) -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_EVP_PKEY_CTX
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs:132,1
    - Dst: aws_lc::EVP_PKEY_decrypt_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs:134,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs:134,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs:135,1
    - Dst: configure_pkcs1_crypto_operation
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs:138,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs:140,1
    - Dst: fips::indicator_check
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs:142,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs:151,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs:154,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 2
    argNames:
    - ciphertext
    - plaintext
    argTypes:
    - '&[u8]'
    - '&''plaintext mut [u8]'
    constantsTouched: []
    func_position:
      end: 155
      start: 127
    functionDepth: 4
    functionLinenumber: 127
    functionLinenumberEnd: 155
    functionName: Pkcs1PrivateDecryptingKey::decrypt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs
    functionUses: 0
    functionsReached:
    - aws_lc::EVP_PKEY_decrypt_init
    - Err
    - as_mut_ptr
    - create_EVP_PKEY_CTX
    - fips::indicator_check
    - len
    - Ok
    - configure_pkcs1_crypto_operation
    linkageType: ''
    returnType: Result
    signature: 'pub fn decrypt<''plaintext>(&self,ciphertext: &[u8],plaintext: &''plaintext
      mut [u8],) -> Result<&''plaintext mut [u8], Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_size_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: Pkcs1PrivateDecryptingKey::key_size_bytes
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs
    functionUses: 1
    functionsReached:
    - key_size_bytes
    linkageType: ''
    returnType: usize
    signature: pub fn key_size_bytes(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_size_bits
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 5
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: Pkcs1PrivateDecryptingKey::key_size_bits
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs
    functionUses: 0
    functionsReached:
    - key_size_bits
    linkageType: ''
    returnType: usize
    signature: pub fn key_size_bits(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Pkcs1PrivateDecryptingKey::key_size_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: Pkcs1PrivateDecryptingKey::min_output_size
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs
    functionUses: 0
    functionsReached:
    - Pkcs1PrivateDecryptingKey::key_size_bytes
    linkageType: ''
    returnType: usize
    signature: pub fn min_output_size(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::debug_struct
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs:178,1
    - Dst: finish_non_exhaustive
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: Pkcs1PrivateDecryptingKey::fmt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs
    functionUses: 0
    functionsReached:
    - SpdmCertChainBuffer::debug_struct
    - finish_non_exhaustive
    linkageType: ''
    returnType: core::fmt::Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter<''_>) -> core::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_set_rsa_padding
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs:186,1
    - Dst: '&mut LcPtr<EVP_PKEY_CTX>::as_mut_ptr'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs:186,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs:187,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - evp_pkey_ctx
    argTypes:
    - '&mut LcPtr<EVP_PKEY_CTX>'
    constantsTouched: []
    func_position:
      end: 191
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 191
    functionName: configure_pkcs1_crypto_operation
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs
    functionUses: 2
    functionsReached:
    - Err
    - EVP_PKEY_CTX_set_rsa_padding
    - '&mut LcPtr<EVP_PKEY_CTX>::as_mut_ptr'
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn configure_pkcs1_crypto_operation(evp_pkey_ctx: &mut LcPtr<EVP_PKEY_CTX>,)
      -> Result<(), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: OaepAlgorithm::id
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: EncryptionAlgorithmId
    signature: pub fn id(&self) -> EncryptionAlgorithmId
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: OaepAlgorithm::oaep_hash_fn
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OaepHashFn
    signature: fn oaep_hash_fn(&self) -> OaepHashFn
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: OaepAlgorithm::mgf1_hash_fn
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Mgf1HashFn
    signature: fn mgf1_hash_fn(&self) -> Mgf1HashFn
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Debug::fmt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: OaepAlgorithm::fmt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs
    functionUses: 0
    functionsReached:
    - Debug::fmt
    linkageType: ''
    returnType: core::fmt::Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter<''_>) -> core::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - public_key
    argTypes:
    - PublicEncryptingKey
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: OaepPublicEncryptingKey::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs
    functionUses: 7
    functionsReached:
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn new(public_key: PublicEncryptingKey) -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_EVP_PKEY_CTX
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:114,1
    - Dst: EVP_PKEY_encrypt_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:116,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:116,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:117,1
    - Dst: configure_oaep_crypto_operation
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:120,1
    - Dst: oaep_hash_fn
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:122,1
    - Dst: mgf1_hash_fn
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:123,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:127,1
    - Dst: fips::indicator_check
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:129,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:138,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:141,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 4
    argNames:
    - algorithm
    - plaintext
    - ciphertext
    - label
    argTypes:
    - '&''static OaepAlgorithm'
    - '&[u8]'
    - '&''ciphertext mut [u8]'
    - Option<&[u8]>
    constantsTouched: []
    func_position:
      end: 142
      start: 107
    functionDepth: 10
    functionLinenumber: 107
    functionLinenumberEnd: 142
    functionName: OaepPublicEncryptingKey::encrypt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs
    functionUses: 0
    functionsReached:
    - oaep_hash_fn
    - Err
    - as_mut_ptr
    - create_EVP_PKEY_CTX
    - EVP_PKEY_encrypt_init
    - configure_oaep_crypto_operation
    - fips::indicator_check
    - len
    - mgf1_hash_fn
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn encrypt<''ciphertext>(&self,algorithm: &''static OaepAlgorithm,plaintext:
      &[u8],ciphertext: &''ciphertext mut [u8],label: Option<&[u8]>,) -> Result<&''ciphertext
      mut [u8], Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_size_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: OaepPublicEncryptingKey::key_size_bytes
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs
    functionUses: 2
    functionsReached:
    - key_size_bytes
    linkageType: ''
    returnType: usize
    signature: pub fn key_size_bytes(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_size_bits
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 5
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: OaepPublicEncryptingKey::key_size_bits
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs
    functionUses: 0
    functionsReached:
    - key_size_bits
    linkageType: ''
    returnType: usize
    signature: pub fn key_size_bits(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: id
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:160,1
    - Dst: OaepPublicEncryptingKey::key_size_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - '&''static OaepAlgorithm'
    constantsTouched: []
    func_position:
      end: 170
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 170
    functionName: OaepPublicEncryptingKey::max_plaintext_size
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs
    functionUses: 0
    functionsReached:
    - id
    - OaepPublicEncryptingKey::key_size_bytes
    linkageType: ''
    returnType: usize
    signature: 'pub fn max_plaintext_size(&self, algorithm: &''static OaepAlgorithm)
      -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OaepPublicEncryptingKey::key_size_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: OaepPublicEncryptingKey::ciphertext_size
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs
    functionUses: 0
    functionsReached:
    - OaepPublicEncryptingKey::key_size_bytes
    linkageType: ''
    returnType: usize
    signature: pub fn ciphertext_size(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::debug_struct
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:181,1
    - Dst: finish_non_exhaustive
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: OaepPublicEncryptingKey::fmt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs
    functionUses: 0
    functionsReached:
    - SpdmCertChainBuffer::debug_struct
    - finish_non_exhaustive
    linkageType: ''
    returnType: core::fmt::Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter<''_>) -> core::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - private_key
    argTypes:
    - PrivateDecryptingKey
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: OaepPrivateDecryptingKey::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs
    functionUses: 6
    functionsReached:
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn new(private_key: PrivateDecryptingKey) -> Result<Self, Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_EVP_PKEY_CTX
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:218,1
    - Dst: aws_lc::EVP_PKEY_decrypt_init
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:220,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:220,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:221,1
    - Dst: configure_oaep_crypto_operation
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:224,1
    - Dst: oaep_hash_fn
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:226,1
    - Dst: mgf1_hash_fn
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:227,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:231,1
    - Dst: fips::indicator_check
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:233,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:242,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:245,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 4
    argNames:
    - algorithm
    - ciphertext
    - plaintext
    - label
    argTypes:
    - '&''static OaepAlgorithm'
    - '&[u8]'
    - '&''plaintext mut [u8]'
    - Option<&[u8]>
    constantsTouched: []
    func_position:
      end: 246
      start: 211
    functionDepth: 10
    functionLinenumber: 211
    functionLinenumberEnd: 246
    functionName: OaepPrivateDecryptingKey::decrypt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs
    functionUses: 0
    functionsReached:
    - oaep_hash_fn
    - aws_lc::EVP_PKEY_decrypt_init
    - Err
    - as_mut_ptr
    - create_EVP_PKEY_CTX
    - configure_oaep_crypto_operation
    - fips::indicator_check
    - len
    - mgf1_hash_fn
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn decrypt<''plaintext>(&self,algorithm: &''static OaepAlgorithm,ciphertext:
      &[u8],plaintext: &''plaintext mut [u8],label: Option<&[u8]>,) -> Result<&''plaintext
      mut [u8], Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_size_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 252
    functionName: OaepPrivateDecryptingKey::key_size_bytes
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs
    functionUses: 1
    functionsReached:
    - key_size_bytes
    linkageType: ''
    returnType: usize
    signature: pub fn key_size_bytes(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: key_size_bits
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 258
      start: 256
    functionDepth: 5
    functionLinenumber: 256
    functionLinenumberEnd: 258
    functionName: OaepPrivateDecryptingKey::key_size_bits
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs
    functionUses: 0
    functionsReached:
    - key_size_bits
    linkageType: ''
    returnType: usize
    signature: pub fn key_size_bits(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OaepPrivateDecryptingKey::key_size_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: OaepPrivateDecryptingKey::min_output_size
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs
    functionUses: 0
    functionsReached:
    - OaepPrivateDecryptingKey::key_size_bytes
    linkageType: ''
    returnType: usize
    signature: pub fn min_output_size(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::debug_struct
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:269,1
    - Dst: finish_non_exhaustive
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 271
    functionName: OaepPrivateDecryptingKey::fmt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs
    functionUses: 0
    functionsReached:
    - SpdmCertChainBuffer::debug_struct
    - finish_non_exhaustive
    linkageType: ''
    returnType: core::fmt::Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter<''_>) -> core::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_set_rsa_padding
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:281,1
    - Dst: '&mut LcPtr<EVP_PKEY_CTX>::as_mut_ptr'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:281,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:283,1
    - Dst: aws_lc::EVP_PKEY_CTX_set_rsa_oaep_md
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:286,1
    - Dst: '&mut LcPtr<EVP_PKEY_CTX>::as_mut_ptr'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:286,1
    - Dst: oaep_hash_fn
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:286,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:287,1
    - Dst: aws_lc::EVP_PKEY_CTX_set_rsa_mgf1_md
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:290,1
    - Dst: '&mut LcPtr<EVP_PKEY_CTX>::as_mut_ptr'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:290,1
    - Dst: mgf1_hash_fn
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:290,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:291,1
    - Dst: Option<&[u8]>::unwrap_or
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:294,1
    - Dst: Option<&[u8]>::is_empty
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:296,1
    - Dst: EVP_PKEY_CTX_set0_rsa_oaep_label
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:299,1
    - Dst: '&mut LcPtr<EVP_PKEY_CTX>::as_mut_ptr'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:299,1
    - Dst: core::ptr::null_mut
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:299,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:301,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:303,1
    - Dst: DetachableLcPtr::<u8>::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:308,1
    - Dst: aws_lc::OPENSSL_malloc
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:308,1
    - Dst: core::mem::size_of_val
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:308,1
    - Dst: cast
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:308,1
    - Dst: core::slice::from_raw_parts_mut
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:313,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:313,1
    - Dst: Option<&[u8]>::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:313,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:314,1
    - Dst: EVP_PKEY_CTX_set0_rsa_oaep_label
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:318,1
    - Dst: '&mut LcPtr<EVP_PKEY_CTX>::as_mut_ptr'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:319,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:320,1
    - Dst: Option<&[u8]>::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:321,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:324,1
    - Dst: detach
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:328,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs:330,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 84
    argCount: 4
    argNames:
    - evp_pkey_ctx
    - oaep_hash_fn
    - mgf1_hash_fn
    - label
    argTypes:
    - '&mut LcPtr<EVP_PKEY_CTX>'
    - OaepHashFn
    - Mgf1HashFn
    - Option<&[u8]>
    constantsTouched: []
    func_position:
      end: 331
      start: 274
    functionDepth: 9
    functionLinenumber: 274
    functionLinenumberEnd: 331
    functionName: configure_oaep_crypto_operation
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs
    functionUses: 2
    functionsReached:
    - EVP_PKEY_CTX_set_rsa_padding
    - aws_lc::EVP_PKEY_CTX_set_rsa_oaep_md
    - aws_lc::EVP_PKEY_CTX_set_rsa_mgf1_md
    - Option<&[u8]>::unwrap_or
    - Option<&[u8]>::is_empty
    - core::mem::size_of_val
    - detach
    - Ok
    - oaep_hash_fn
    - Err
    - DetachableLcPtr::<u8>::new
    - core::ptr::null_mut
    - '&mut LcPtr<EVP_PKEY_CTX>::as_mut_ptr'
    - EVP_PKEY_CTX_set0_rsa_oaep_label
    - as_mut_ptr
    - aws_lc::OPENSSL_malloc
    - Option<&[u8]>::len
    - cast
    - copy_from_slice
    - mgf1_hash_fn
    - core::slice::from_raw_parts_mut
    linkageType: ''
    returnType: Result
    signature: 'fn configure_oaep_crypto_operation(evp_pkey_ctx: &mut LcPtr<EVP_PKEY_CTX>,oaep_hash_fn:
      OaepHashFn,mgf1_hash_fn: Mgf1HashFn,label: Option<&[u8]>,) -> Result<(), Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hex::decode
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:115,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:116,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:117,1
    - Dst: aws_lc_rs::rand::fill
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:121,1
    - Dst: SimpleLogger::as_mut_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:121,1
    - Dst: map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:121,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - key
    argTypes:
    - Option<String>
    constantsTouched: []
    func_position:
      end: 124
      start: 113
    functionDepth: 4
    functionLinenumber: 113
    functionLinenumberEnd: 124
    functionName: construct_key_bytes
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs
    functionUses: 4
    functionsReached:
    - SimpleLogger::as_mut_slice
    - map_err
    - hex::decode
    - Err
    - aws_lc_rs::rand::fill
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn construct_key_bytes(key: Option<String>) -> Result<Vec<u8>, &''static
      str>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: construct_key_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:131,1
    - Dst: hex::encode
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:132,1
    - Dst: Option::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:132,1
    - Dst: new_unbound_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:133,1
    - Dst: Option::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:133,1
    - Dst: EncryptingKey::ctr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:135,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:135,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:137,1
    - Dst: hex::decode
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:142,1
    - Dst: der::Result::map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:142,1
    - Dst: SimpleLogger::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:144,1
    - Dst: '&[P::T]::try_into'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:144,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:144,1
    - Dst: EncryptionContext::Iv128
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:145,1
    - Dst: bool::less_safe_encrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:147,1
    - Dst: as_mut
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:147,1
    - Dst: bool::encrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:149,1
    - Dst: as_mut
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:149,1
    - Dst: map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:139,1
    - Dst: try_into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:153,1
    - Dst: map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:153,1
    - Dst: hex::encode
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:157,1
    - Dst: as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:157,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:163,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 58
    argCount: 3
    argNames:
    - key
    - iv
    - plaintext
    argTypes:
    - Option<String>
    - Option<String>
    - String
    constantsTouched: []
    func_position:
      end: 164
      start: 126
    functionDepth: 9
    functionLinenumber: 126
    functionLinenumberEnd: 164
    functionName: aes_ctr_encrypt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs
    functionUses: 0
    functionsReached:
    - map_err
    - hex::decode
    - EncryptingKey::ctr
    - Option::as_slice
    - SimpleLogger::as_slice
    - '&[P::T]::try_into'
    - bool::encrypt
    - Vec::from
    - Ok
    - EncryptionContext::Iv128
    - as_mut
    - try_into
    - construct_key_bytes
    - hex::encode
    - Result::map_err
    - der::Result::map_err
    - new_unbound_key
    - as_slice
    - bool::less_safe_encrypt
    linkageType: ''
    returnType: Result
    signature: 'fn aes_ctr_encrypt(key: Option<String>,iv: Option<String>,plaintext:
      String,) -> Result<(), &''static str>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: construct_key_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:167,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:167,1
    - Dst: new_unbound_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:168,1
    - Dst: Option::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:168,1
    - Dst: hex::decode
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:170,1
    - Dst: der::Result::map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:170,1
    - Dst: SimpleLogger::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:171,1
    - Dst: '&[P::T]::try_into'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:171,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:171,1
    - Dst: DecryptingKey::ctr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:175,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:175,1
    - Dst: hex::decode
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:178,1
    - Dst: der::Result::map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:178,1
    - Dst: bool::decrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:180,1
    - Dst: as_mut
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:181,1
    - Dst: DecryptionContext::Iv128
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:181,1
    - Dst: SpdmResult::map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:180,1
    - Dst: String::from_utf8
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:185,1
    - Dst: into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:185,1
    - Dst: map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:185,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:189,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 49
    argCount: 3
    argNames:
    - key
    - iv
    - ciphertext
    argTypes:
    - String
    - String
    - String
    constantsTouched: []
    func_position:
      end: 190
      start: 166
    functionDepth: 6
    functionLinenumber: 166
    functionLinenumberEnd: 190
    functionName: aes_ctr_decrypt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs
    functionUses: 0
    functionsReached:
    - bool::decrypt
    - '&[P::T]::try_into'
    - construct_key_bytes
    - String::from_utf8
    - as_mut
    - SpdmResult::map_err
    - hex::decode
    - into
    - map_err
    - DecryptingKey::ctr
    - Result::map_err
    - DecryptionContext::Iv128
    - der::Result::map_err
    - Option::as_slice
    - new_unbound_key
    - SimpleLogger::as_slice
    - Ok
    - Some
    linkageType: ''
    returnType: Result
    signature: 'fn aes_ctr_decrypt(key: String, iv: String, ciphertext: String) ->
      Result<(), &''static str>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:261,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:266,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:270,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs:270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - key
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 271
      start: 260
    functionDepth: 5
    functionLinenumber: 260
    functionLinenumberEnd: 271
    functionName: new_unbound_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs
    functionUses: 4
    functionsReached:
    - UnboundCipherKey::new
    - bool::len
    - Err
    - Result::map_err
    linkageType: ''
    returnType: Result
    signature: 'fn new_unbound_key(key: &[u8]) -> Result<UnboundCipherKey, &''static
      str>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: DigestType::digest
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/digest.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''static digest::Algorithm'
    signature: fn digest(self) -> &'static digest::Algorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digest::Context::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/digest.rs:56,1
    - Dst: read
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/digest.rs:64,1
    - Dst: Self::finish
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/digest.rs:69,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/digest.rs:73,1
    - Dst: Self::update
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/digest.rs:78,1
    - Dst: Err
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/digest.rs:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 3
    argNames:
    - digest_alg
    - file
    - name
    argTypes:
    - '&''static digest::Algorithm'
    - '&mut dyn Read'
    - '&str'
    constantsTouched: []
    func_position:
      end: 85
      start: 50
    functionDepth: 10
    functionLinenumber: 50
    functionLinenumberEnd: 85
    functionName: process
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/digest.rs
    functionUses: 0
    functionsReached:
    - Self::finish
    - Err
    - read
    - Self::update
    - digest::Context::new
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn process(digest_alg: &''static digest::Algorithm,file: &mut dyn
      Read,name: &str,) -> Result<digest::Digest>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: Stats::deref
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&Self::Target'
    signature: fn deref(&self) -> &Self::Target
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: FinalizedStats::deref
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&Self::Target'
    signature: fn deref(&self) -> &Self::Target
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: Stats::deref_mut
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&mut Self::Target'
    signature: fn deref_mut(&mut self) -> &mut Self::Target
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Stats
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:64,1
    - Dst: Vec::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: Stats::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs
    functionUses: 1
    functionsReached:
    - Stats
    - Vec::new
    linkageType: ''
    returnType: Self
    signature: fn new() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:68,1
    - Dst: sort_by
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:69,1
    - Dst: Vec::partial_cmp
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:69,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:69,1
    - Dst: FinalizedStats
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 5
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: Stats::finalize
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs
    functionUses: 0
    functionsReached:
    - Vec::partial_cmp
    - clone
    - FinalizedStats
    - Option::unwrap
    - sort_by
    linkageType: ''
    returnType: FinalizedStats
    signature: fn finalize(&self) -> FinalizedStats
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FinalizedStats::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:77,1
    - Dst: f64::trunc
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:81,1
    - Dst: FinalizedStats::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - percent
    argTypes:
    - f64
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: FinalizedStats::percentile
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs
    functionUses: 1
    functionsReached:
    - f64::trunc
    - FinalizedStats::len
    linkageType: ''
    returnType: f64
    signature: 'fn percentile(&self, percent: f64) -> f64'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FinalizedStats::percentile
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: FinalizedStats::median
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs
    functionUses: 0
    functionsReached:
    - FinalizedStats::percentile
    linkageType: ''
    returnType: f64
    signature: fn median(&self) -> f64
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FinalizedStats::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: FinalizedStats::max
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs
    functionUses: 0
    functionsReached:
    - FinalizedStats::len
    linkageType: ''
    returnType: f64
    signature: fn max(&self) -> f64
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: FinalizedStats::min
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: f64
    signature: fn min(&self) -> f64
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:126,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:136,1
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:137,1
    - Dst: sort
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:138,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 147
    functionName: Cli::header_line
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs
    functionUses: 0
    functionsReached:
    - sort
    - String::new
    - len
    - clone
    linkageType: ''
    returnType: String
    signature: fn header_line(&self) -> String
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:150,1
    - Dst: compute
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:152,1
    - Dst: compute
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:156,1
    - Dst: compute
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:160,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:163,1
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:164,1
    - Dst: sort
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:165,1
    - Dst: compute
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:168,1
    - Dst: SpdmResult::percentile
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:169,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 53
    argCount: 2
    argNames:
    - aws_stats
    - ring_stats
    argTypes:
    - '&FinalizedStats'
    - '&FinalizedStats'
    constantsTouched: []
    func_position:
      end: 175
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 175
    functionName: Cli::data_line
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs
    functionUses: 0
    functionsReached:
    - clone
    - String::new
    - compute
    - sort
    - len
    - SpdmResult::percentile
    linkageType: ''
    returnType: String
    signature: 'fn data_line(&self, aws_stats: &FinalizedStats, ring_stats: &FinalizedStats)
      -> String'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut HashMap<String, Stats>::contains_key'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:179,1
    - Dst: '&mut HashMap<String, Stats>::insert'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:180,1
    - Dst: to_string
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:180,1
    - Dst: Stats::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:180,1
    - Dst: '&mut HashMap<String, Stats>::get_mut'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:182,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:182,1
    - Dst: push
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 3
    argNames:
    - test
    - avg
    - results
    argTypes:
    - '&str'
    - f64
    - '&mut HashMap<String, Stats>'
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 5
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: insert_result
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs
    functionUses: 0
    functionsReached:
    - '&mut HashMap<String, Stats>::insert'
    - '&mut HashMap<String, Stats>::contains_key'
    - unwrap
    - '&mut HashMap<String, Stats>::get_mut'
    - to_string
    - Stats::new
    - push
    linkageType: ''
    returnType: void
    signature: 'fn insert_result(test: &str, avg: f64, results: &mut HashMap<String,
      Stats>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: comp
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:190,1
    - Dst: comp
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - aws_stats
    - ring_stats
    - comp
    argTypes:
    - '&FinalizedStats'
    - '&FinalizedStats'
    - '&F'
    constantsTouched: []
    func_position:
      end: 194
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 194
    functionName: compute
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs
    functionUses: 1
    functionsReached:
    - comp
    linkageType: ''
    returnType: (f64, f64, f64)
    signature: 'fn compute<F>(aws_stats: &FinalizedStats, ring_stats: &FinalizedStats,
      comp: &F) -> (f64, f64, f64)whereF: Fn(&FinalizedStats) -> f64,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::chars
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:201,1
    - Dst: into_iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:201,1
    - Dst: zip_longest
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:201,1
    - Dst: SpdmResult::chars
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:201,1
    - Dst: into_iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:201,1
    - Dst: Option::is_digit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:204,1
    - Dst: Result::is_digit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:205,1
    - Dst: Option::cmp
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:206,1
    - Dst: Option::is_eq
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:206,1
    - Dst: Option::to_digit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:210,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:210,1
    - Dst: Result::to_digit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:212,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:212,1
    - Dst: Option::cmp
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:217,1
    - Dst: Result::is_digit
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:219,1
    - Dst: Option::cmp
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:223,1
    - Dst: cmp
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:226,1
    - Dst: Option::cmp
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:228,1
    - Dst: is_eq
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:229,1
    - Dst: cmp
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs:243,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 88
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - '&str'
    - '&str'
    constantsTouched: []
    func_position:
      end: 247
      start: 196
    functionDepth: 5
    functionLinenumber: 196
    functionLinenumberEnd: 247
    functionName: numerical_string_compare
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs
    functionUses: 0
    functionsReached:
    - Option::is_digit
    - into_iter
    - is_eq
    - Result::to_digit
    - Option::to_digit
    - unwrap
    - Vec::chars
    - Option::cmp
    - Option::is_eq
    - cmp
    - Result::is_digit
    - SpdmResult::chars
    - zip_longest
    linkageType: ''
    returnType: Ordering
    signature: 'fn numerical_string_compare(a: &str, b: &str) -> Ordering'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 276
    functionName: test_numerical_string_compare
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_numerical_string_compare()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 286
    functionName: test_numerical_end_string_compare
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_numerical_end_string_compare()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Salt::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:42,1
    - Dst: extract
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:43,1
    - Dst: Option::expand
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:44,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:44,1
    - Dst: Option::expand
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:45,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:45,1
    - Dst: Option::fill
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:48,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:48,1
    - Dst: Result::fill
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:50,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:50,1
    - Dst: ring::hkdf::Salt::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:55,1
    - Dst: Self::extract
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:56,1
    - Dst: Option::expand
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:57,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:57,1
    - Dst: Option::expand
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:58,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:58,1
    - Dst: Result::fill
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:61,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:61,1
    - Dst: Result::fill
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:63,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 92
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 7
    functionDepth: 6
    functionLinenumber: 7
    functionLinenumberEnd: 70
    functionName: rustls_test
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs
    functionUses: 0
    functionsReached:
    - Salt::new
    - Option::expand
    - Option::unwrap
    - ring::hkdf::Salt::new
    - Result::fill
    - Self::extract
    - extract
    - expect
    - Option::fill
    linkageType: ''
    returnType: void
    signature: fn rustls_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Salt::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:102,1
    - Dst: extract
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:103,1
    - Dst: Option::expand
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:104,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:104,1
    - Dst: Option::into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:105,1
    - Dst: Result::extract
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:106,1
    - Dst: Option::expand
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:107,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:107,1
    - Dst: Result::fill
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:110,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:110,1
    - Dst: ring::hkdf::Salt::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:115,1
    - Dst: Self::extract
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:116,1
    - Dst: Option::expand
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:117,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:117,1
    - Dst: Result::into
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:118,1
    - Dst: Result::extract
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:119,1
    - Dst: Option::expand
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:120,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:120,1
    - Dst: Result::fill
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:123,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 73
    functionDepth: 6
    functionLinenumber: 73
    functionLinenumberEnd: 135
    functionName: okm_to_salt
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs
    functionUses: 0
    functionsReached:
    - Result::extract
    - Salt::new
    - Option::expand
    - Result::into
    - Option::unwrap
    - Option::into
    - Result::fill
    - ring::hkdf::Salt::new
    - Self::extract
    - extract
    - expect
    linkageType: ''
    returnType: void
    signature: fn okm_to_salt()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Salt::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:164,1
    - Dst: extract
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:165,1
    - Dst: Option::expand
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:166,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:166,1
    - Dst: Prk::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:167,1
    - Dst: Self::expand
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:168,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:168,1
    - Dst: Result::fill
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:171,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:171,1
    - Dst: ring::hkdf::Salt::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:176,1
    - Dst: Self::extract
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:177,1
    - Dst: Option::expand
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:178,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:178,1
    - Dst: ring::hkdf::Prk::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:179,1
    - Dst: Self::expand
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:180,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:180,1
    - Dst: Result::fill
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:183,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 138
    functionDepth: 6
    functionLinenumber: 138
    functionLinenumberEnd: 195
    functionName: okm_to_prk
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs
    functionUses: 0
    functionsReached:
    - ring::hkdf::Prk::from
    - Salt::new
    - Prk::from
    - Option::expand
    - Option::unwrap
    - ring::hkdf::Salt::new
    - Result::fill
    - Self::expand
    - Self::extract
    - extract
    - expect
    linkageType: ''
    returnType: void
    signature: fn okm_to_prk()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/aead_test.rs:22,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/aead_test.rs:23,1
    - Dst: SimpleLogger::extend_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/aead_test.rs:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - v
    - extra
    - data
    - tag
    argTypes:
    - '&mut Vec<u8>'
    - '&[u8]'
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: r::u::s::t::l::s::_::b::u::g::append
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/aead_test.rs
    functionUses: 0
    functionsReached:
    - SimpleLogger::extend_from_slice
    linkageType: ''
    returnType: void
    signature: 'fn append(v: &mut Vec<u8>, extra: &[u8], data: &[u8], tag: &[u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aead::UnboundKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/aead_test.rs:27,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/aead_test.rs:27,1
    - Dst: ring::aead::UnboundKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/aead_test.rs:28,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/aead_test.rs:28,1
    - Dst: aead::LessSafeKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/aead_test.rs:30,1
    - Dst: ring::aead::LessSafeKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/aead_test.rs:31,1
    - Dst: extend_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/aead_test.rs:34,1
    - Dst: Self::seal_in_place_separate_tag
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/aead_test.rs:35,1
    - Dst: aead::Nonce::assume_unique_for_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/aead_test.rs:37,1
    - Dst: aead::Aad::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/aead_test.rs:38,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/aead_test.rs:35,1
    - Dst: extend_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/aead_test.rs:44,1
    - Dst: Self::seal_in_place_separate_tag
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/aead_test.rs:45,1
    - Dst: ring::aead::Nonce::assume_unique_for_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/aead_test.rs:47,1
    - Dst: ring::aead::Aad::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/aead_test.rs:48,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/aead_test.rs:45,1
    - Dst: append
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/aead_test.rs:59,1
    - Dst: Tag::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/aead_test.rs:59,1
    - Dst: append
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/aead_test.rs:62,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/aead_test.rs:66,1
    - Dst: Self::open_within
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/aead_test.rs:71,1
    - Dst: aead::Nonce::assume_unique_for_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/aead_test.rs:73,1
    - Dst: aead::Aad::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/aead_test.rs:74,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/aead_test.rs:76,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/aead_test.rs:71,1
    - Dst: Result::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/aead_test.rs:71,1
    - Dst: Self::open_within
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/aead_test.rs:81,1
    - Dst: ring::aead::Nonce::assume_unique_for_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/aead_test.rs:83,1
    - Dst: ring::aead::Aad::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/aead_test.rs:84,1
    - Dst: len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/aead_test.rs:86,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/aead_test.rs:81,1
    - Dst: Result::len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/aead_test.rs:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 99
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 10
    functionDepth: 15
    functionLinenumber: 10
    functionLinenumberEnd: 95
    functionName: rustls_bug
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/aead_test.rs
    functionUses: 0
    functionsReached:
    - Self::open_within
    - extend_from_slice
    - Tag::as_ref
    - aead::UnboundKey::new
    - ring::aead::Nonce::assume_unique_for_key
    - aead::LessSafeKey::new
    - ring::aead::Aad::from
    - append
    - ring::aead::LessSafeKey::new
    - aead::Nonce::assume_unique_for_key
    - Result::as_ref
    - Result::len
    - Result::unwrap
    - len
    - ring::aead::UnboundKey::new
    - Self::seal_in_place_separate_tag
    - aead::Aad::from
    linkageType: ''
    returnType: void
    signature: fn rustls_bug()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand::SystemRandom::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/agreement_tests.rs:12,1
    - Dst: agreement::EphemeralPrivateKey::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/agreement_tests.rs:20,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/agreement_tests.rs:20,1
    - Dst: Result::compute_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/agreement_tests.rs:21,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/agreement_tests.rs:21,1
    - Dst: agreement::EphemeralPrivateKey::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/agreement_tests.rs:23,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/agreement_tests.rs:23,1
    - Dst: Result::compute_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/agreement_tests.rs:24,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/agreement_tests.rs:24,1
    - Dst: agreement::agree_ephemeral
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/agreement_tests.rs:29,1
    - Dst: agreement::UnparsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/agreement_tests.rs:31,1
    - Dst: Option::extend_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/agreement_tests.rs:34,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/agreement_tests.rs:35,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/agreement_tests.rs:29,1
    - Dst: agreement::agree_ephemeral
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/agreement_tests.rs:46,1
    - Dst: agreement::UnparsedPublicKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/agreement_tests.rs:48,1
    - Dst: Option::extend_from_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/agreement_tests.rs:51,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/agreement_tests.rs:52,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/agreement_tests.rs:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 11
    functionDepth: 15
    functionLinenumber: 11
    functionLinenumberEnd: 62
    functionName: agree_ephemeral_e2e
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/agreement_tests.rs
    functionUses: 0
    functionsReached:
    - Ok
    - agreement::UnparsedPublicKey::new
    - unwrap
    - agreement::agree_ephemeral
    - Result::unwrap
    - agreement::EphemeralPrivateKey::generate
    - Result::compute_public_key
    - Option::extend_from_slice
    - rand::SystemRandom::new
    linkageType: ''
    returnType: void
    signature: fn agree_ephemeral_e2e()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/quic_test.rs:9,1
    - Dst: test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/quic_test.rs:10,1
    - Dst: (SpdmConfigInfo, SpdmProvisionInfo)::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/quic_test.rs:11,1
    - Dst: test::from_dirty_hex
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/quic_test.rs:12,1
    - Dst: hkdf::Prk::new_less_safe
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/quic_test.rs:14,1
    - Dst: Option::expand
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/quic_test.rs:15,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/quic_test.rs:15,1
    - Dst: HeaderProtectionKey::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/quic_test.rs:16,1
    - Dst: Self::new_mask
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/quic_test.rs:24,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/quic_test.rs:24,1
    - Dst: ring::hkdf::Prk::new_less_safe
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/quic_test.rs:26,1
    - Dst: Self::expand
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/quic_test.rs:27,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/quic_test.rs:27,1
    - Dst: ring::aead::quic::HeaderProtectionKey::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/quic_test.rs:30,1
    - Dst: Self::new_mask
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/quic_test.rs:31,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/quic_test.rs:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 8
    functionDepth: 6
    functionLinenumber: 8
    functionLinenumberEnd: 33
    functionName: test_key_type_header_protection_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/quic_test.rs
    functionUses: 0
    functionsReached:
    - test::from_dirty_hex
    - ring::aead::quic::HeaderProtectionKey::from
    - HeaderProtectionKey::from
    - Option::expand
    - (SpdmConfigInfo, SpdmProvisionInfo)::as_slice
    - Option::unwrap
    - ring::hkdf::Prk::new_less_safe
    - Result::unwrap
    - Self::expand
    - hkdf::Prk::new_less_safe
    - Self::new_mask
    linkageType: ''
    returnType: void
    signature: fn test_key_type_header_protection_key()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PublicEncryptingKey::from_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/rsa_test.rs:19,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/rsa_test.rs:19,1
    - Dst: Pkcs1PublicEncryptingKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/rsa_test.rs:20,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/rsa_test.rs:20,1
    - Dst: encrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/rsa_test.rs:23,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/rsa_test.rs:23,1
    - Dst: Rsa::private_key_from_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/rsa_test.rs:29,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/rsa_test.rs:29,1
    - Dst: private_decrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/rsa_test.rs:32,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/rsa_test.rs:32,1
    - Dst: PrivateDecryptingKey::from_pkcs8
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/rsa_test.rs:39,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/rsa_test.rs:39,1
    - Dst: Pkcs1PrivateDecryptingKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/rsa_test.rs:40,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/rsa_test.rs:40,1
    - Dst: Rsa::public_key_from_der
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/rsa_test.rs:41,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/rsa_test.rs:41,1
    - Dst: public_encrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/rsa_test.rs:44,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/rsa_test.rs:44,1
    - Dst: decrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/rsa_test.rs:52,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/rsa_test.rs:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 10
    functionDepth: 12
    functionLinenumber: 10
    functionLinenumberEnd: 57
    functionName: rsa2048_pkcs1_openssl_interop
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/rsa_test.rs
    functionUses: 0
    functionsReached:
    - Rsa::private_key_from_der
    - Pkcs1PrivateDecryptingKey::new
    - PublicEncryptingKey::from_der
    - public_encrypt
    - decrypt
    - Rsa::public_key_from_der
    - Pkcs1PublicEncryptingKey::new
    - encrypt
    - private_decrypt
    - PrivateDecryptingKey::from_pkcs8
    - Result::expect
    - expect
    linkageType: ''
    returnType: void
    signature: fn rsa2048_pkcs1_openssl_interop()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - HMACAlgorithm
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: HMACConfig::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: HMACConfig
    signature: 'pub fn new(algorithm: HMACAlgorithm) -> HMACConfig'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 80
    functionName: benchmark_hmac
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMACConfig::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs:87,1
    - Dst: bench_hmac_one_shot
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs:88,1
    - Dst: bench_hmac_incremental
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs:89,1
    - Dst: bench_hmac_longer_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: bench_hmac_sha1
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs
    functionUses: 0
    functionsReached:
    - bench_hmac_incremental
    - bench_hmac_one_shot
    - bench_hmac_longer_key
    - HMACConfig::new
    linkageType: ''
    returnType: void
    signature: 'fn bench_hmac_sha1(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMACConfig::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs:94,1
    - Dst: bench_hmac_one_shot
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs:95,1
    - Dst: bench_hmac_incremental
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs:96,1
    - Dst: bench_hmac_longer_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: bench_hmac_sha256
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs
    functionUses: 0
    functionsReached:
    - bench_hmac_incremental
    - bench_hmac_one_shot
    - bench_hmac_longer_key
    - HMACConfig::new
    linkageType: ''
    returnType: void
    signature: 'fn bench_hmac_sha256(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMACConfig::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs:101,1
    - Dst: bench_hmac_one_shot
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs:102,1
    - Dst: bench_hmac_incremental
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs:103,1
    - Dst: bench_hmac_longer_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: bench_hmac_sha384
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs
    functionUses: 0
    functionsReached:
    - bench_hmac_incremental
    - bench_hmac_one_shot
    - bench_hmac_longer_key
    - HMACConfig::new
    linkageType: ''
    returnType: void
    signature: 'fn bench_hmac_sha384(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HMACConfig::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs:108,1
    - Dst: bench_hmac_one_shot
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs:109,1
    - Dst: bench_hmac_incremental
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs:110,1
    - Dst: bench_hmac_longer_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 3
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: bench_hmac_sha512
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs
    functionUses: 0
    functionsReached:
    - bench_hmac_incremental
    - bench_hmac_one_shot
    - bench_hmac_longer_key
    - HMACConfig::new
    linkageType: ''
    returnType: void
    signature: 'fn bench_hmac_sha512(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::benchmark_group
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs:122,1
    - Dst: bench_function
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs:124,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs:125,1
    - Dst: aws_lc_rs_benchmarks::create_hmac_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs:126,1
    - Dst: aws_lc_rs_benchmarks::run_hmac_one_shot
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs:127,1
    - Dst: bench_function
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs:133,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs:134,1
    - Dst: ring_benchmarks::create_hmac_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs:135,1
    - Dst: ring_benchmarks::run_hmac_one_shot
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 2
    argNames:
    - c
    - config
    argTypes:
    - '&mut Criterion'
    - '&HMACConfig'
    constantsTouched: []
    func_position:
      end: 141
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 141
    functionName: bench_hmac_one_shot
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs
    functionUses: 4
    functionsReached:
    - aws_lc_rs_benchmarks::run_hmac_one_shot
    - bool::benchmark_group
    - ring_benchmarks::run_hmac_one_shot
    - aws_lc_rs_benchmarks::create_hmac_key
    - SpdmResult::iter
    - bench_function
    - ring_benchmarks::create_hmac_key
    linkageType: ''
    returnType: void
    signature: 'fn bench_hmac_one_shot(c: &mut Criterion, config: &HMACConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::benchmark_group
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs:153,1
    - Dst: bench_function
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs:155,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs:156,1
    - Dst: aws_lc_rs_benchmarks::create_longer_hmac_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs:157,1
    - Dst: aws_lc_rs_benchmarks::run_hmac_one_shot
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs:158,1
    - Dst: bench_function
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs:164,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs:165,1
    - Dst: ring_benchmarks::create_longer_hmac_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs:166,1
    - Dst: ring_benchmarks::run_hmac_one_shot
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 2
    argNames:
    - c
    - config
    argTypes:
    - '&mut Criterion'
    - '&HMACConfig'
    constantsTouched: []
    func_position:
      end: 172
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 172
    functionName: bench_hmac_longer_key
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs
    functionUses: 4
    functionsReached:
    - aws_lc_rs_benchmarks::run_hmac_one_shot
    - ring_benchmarks::create_longer_hmac_key
    - bool::benchmark_group
    - ring_benchmarks::run_hmac_one_shot
    - aws_lc_rs_benchmarks::create_longer_hmac_key
    - SpdmResult::iter
    - bench_function
    linkageType: ''
    returnType: void
    signature: 'fn bench_hmac_longer_key(c: &mut Criterion, config: &HMACConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::benchmark_group
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs:183,1
    - Dst: bench_function
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs:185,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs:186,1
    - Dst: aws_lc_rs_benchmarks::create_hmac_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs:187,1
    - Dst: aws_lc_rs_benchmarks::run_hmac_incremental
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs:188,1
    - Dst: bench_function
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs:193,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs:194,1
    - Dst: ring_benchmarks::create_hmac_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs:195,1
    - Dst: ring_benchmarks::run_hmac_incremental
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 2
    argNames:
    - c
    - config
    argTypes:
    - '&mut Criterion'
    - '&HMACConfig'
    constantsTouched: []
    func_position:
      end: 201
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 201
    functionName: bench_hmac_incremental
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs
    functionUses: 4
    functionsReached:
    - bool::benchmark_group
    - aws_lc_rs_benchmarks::create_hmac_key
    - SpdmResult::iter
    - bench_function
    - ring_benchmarks::run_hmac_incremental
    - aws_lc_rs_benchmarks::run_hmac_incremental
    - ring_benchmarks::create_hmac_key
    linkageType: ''
    returnType: void
    signature: 'fn bench_hmac_incremental(c: &mut Criterion, config: &HMACConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - HKDFAlgorithm
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: HKDFConfig::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hkdf_benchmark.rs
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: HKDFConfig
    signature: 'pub fn new(algorithm: HKDFAlgorithm) -> HKDFConfig'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 81
    functionName: benchmark_hkdf
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hkdf_benchmark.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HKDFConfig::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hkdf_benchmark.rs:88,1
    - Dst: bench_hkdf
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hkdf_benchmark.rs:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: bench_hkdf_sha1
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hkdf_benchmark.rs
    functionUses: 0
    functionsReached:
    - bench_hkdf
    - HKDFConfig::new
    linkageType: ''
    returnType: void
    signature: 'fn bench_hkdf_sha1(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HKDFConfig::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hkdf_benchmark.rs:93,1
    - Dst: bench_hkdf
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hkdf_benchmark.rs:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: bench_hkdf_sha256
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hkdf_benchmark.rs
    functionUses: 0
    functionsReached:
    - bench_hkdf
    - HKDFConfig::new
    linkageType: ''
    returnType: void
    signature: 'fn bench_hkdf_sha256(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HKDFConfig::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hkdf_benchmark.rs:98,1
    - Dst: bench_hkdf
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hkdf_benchmark.rs:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: bench_hkdf_sha384
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hkdf_benchmark.rs
    functionUses: 0
    functionsReached:
    - bench_hkdf
    - HKDFConfig::new
    linkageType: ''
    returnType: void
    signature: 'fn bench_hkdf_sha384(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HKDFConfig::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hkdf_benchmark.rs:103,1
    - Dst: bench_hkdf
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hkdf_benchmark.rs:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 3
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: bench_hkdf_sha512
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hkdf_benchmark.rs
    functionUses: 0
    functionsReached:
    - bench_hkdf
    - HKDFConfig::new
    linkageType: ''
    returnType: void
    signature: 'fn bench_hkdf_sha512(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::benchmark_group
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hkdf_benchmark.rs:114,1
    - Dst: bench_function
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hkdf_benchmark.rs:116,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hkdf_benchmark.rs:117,1
    - Dst: aws_lc_rs_benchmarks::run_hkdf_extract
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hkdf_benchmark.rs:118,1
    - Dst: aws_lc_rs_benchmarks::run_hkdf_expand
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hkdf_benchmark.rs:119,1
    - Dst: bench_function
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hkdf_benchmark.rs:124,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hkdf_benchmark.rs:125,1
    - Dst: ring_benchmarks::run_hkdf_extract
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hkdf_benchmark.rs:126,1
    - Dst: ring_benchmarks::run_hkdf_expand
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hkdf_benchmark.rs:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 2
    argNames:
    - c
    - config
    argTypes:
    - '&mut Criterion'
    - '&HKDFConfig'
    constantsTouched: []
    func_position:
      end: 132
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 132
    functionName: bench_hkdf
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hkdf_benchmark.rs
    functionUses: 4
    functionsReached:
    - bool::benchmark_group
    - ring_benchmarks::run_hkdf_extract
    - SpdmResult::iter
    - bench_function
    - aws_lc_rs_benchmarks::run_hkdf_extract
    - ring_benchmarks::run_hkdf_expand
    - aws_lc_rs_benchmarks::run_hkdf_expand
    linkageType: ''
    returnType: void
    signature: 'fn bench_hkdf(c: &mut Criterion, config: &HKDFConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 120
    functionName: benchmark_aead
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs:130,1
    - Dst: aws_lc_rs::test_file
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs:131,1
    - Dst: QuicConfig::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs:133,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs:135,1
    - Dst: Vec::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs:135,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs:136,1
    - Dst: Vec::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs:136,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs:137,1
    - Dst: String::as_str
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs:137,1
    - Dst: test_new_mask
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs:139,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 143
      start: 129
    functionDepth: 8
    functionLinenumber: 129
    functionLinenumberEnd: 143
    functionName: test_chacha20
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs
    functionUses: 0
    functionsReached:
    - Option::consume_string
    - String::as_str
    - QuicConfig::new
    - test_new_mask
    - aws_lc_rs::test_file
    - Vec::as_slice
    - Option::consume_bytes
    - test::run
    - Ok
    linkageType: ''
    returnType: void
    signature: 'fn test_chacha20(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:184,1
    - Dst: bool::benchmark_group
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:191,1
    - Dst: aws_lc_rs_benchmarks::create_sealing_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:193,1
    - Dst: bench_function
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:194,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:195,1
    - Dst: aws_lc_rs_benchmarks::aad
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:196,1
    - Dst: aws_lc_rs_benchmarks::seal_separate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:198,1
    - Dst: ring_benchmarks::create_sealing_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:204,1
    - Dst: bench_function
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:205,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:206,1
    - Dst: ring_benchmarks::aad
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:207,1
    - Dst: ring_benchmarks::seal_separate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 2
    argNames:
    - c
    - config
    argTypes:
    - '&mut Criterion'
    - '&AeadConfig'
    constantsTouched: []
    func_position:
      end: 213
      start: 183
    functionDepth: 17
    functionLinenumber: 183
    functionLinenumberEnd: 213
    functionName: test_aead_separate
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs
    functionUses: 2
    functionsReached:
    - clone
    - bool::benchmark_group
    - aws_lc_rs_benchmarks::seal_separate
    - SpdmResult::iter
    - bench_function
    - ring_benchmarks::seal_separate
    - ring_benchmarks::create_sealing_key
    - aws_lc_rs_benchmarks::aad
    - aws_lc_rs_benchmarks::create_sealing_key
    - ring_benchmarks::aad
    linkageType: ''
    returnType: void
    signature: 'fn test_aead_separate(c: &mut Criterion, config: &AeadConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:216,1
    - Dst: bool::benchmark_group
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:219,1
    - Dst: aws_lc_rs_benchmarks::create_sealing_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:221,1
    - Dst: bench_function
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:222,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:223,1
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:224,1
    - Dst: aws_lc_rs_benchmarks::aad
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:225,1
    - Dst: aws_lc_rs_benchmarks::seal_append
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:226,1
    - Dst: ring_benchmarks::create_sealing_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:232,1
    - Dst: bench_function
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:233,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:234,1
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:235,1
    - Dst: ring_benchmarks::aad
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:236,1
    - Dst: ring_benchmarks::seal_append
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 2
    argNames:
    - c
    - config
    argTypes:
    - '&mut Criterion'
    - '&AeadConfig'
    constantsTouched: []
    func_position:
      end: 241
      start: 215
    functionDepth: 17
    functionLinenumber: 215
    functionLinenumberEnd: 241
    functionName: test_aead_append
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs
    functionUses: 2
    functionsReached:
    - ring_benchmarks::seal_append
    - clone
    - bool::benchmark_group
    - aws_lc_rs_benchmarks::seal_append
    - SpdmResult::iter
    - bench_function
    - ring_benchmarks::create_sealing_key
    - aws_lc_rs_benchmarks::aad
    - aws_lc_rs_benchmarks::create_sealing_key
    - ring_benchmarks::aad
    linkageType: ''
    returnType: void
    signature: 'fn test_aead_append(c: &mut Criterion, config: &AeadConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:244,1
    - Dst: aws_lc_rs_benchmarks::aad
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:246,1
    - Dst: aws_lc_rs_benchmarks::create_sealing_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:247,1
    - Dst: aws_lc_rs_benchmarks::seal_append
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:248,1
    - Dst: bool::benchmark_group
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:251,1
    - Dst: aws_lc_rs_benchmarks::create_opening_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:253,1
    - Dst: bench_function
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:254,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:255,1
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:256,1
    - Dst: aws_lc_rs_benchmarks::aad
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:257,1
    - Dst: aws_lc_rs_benchmarks::open
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:258,1
    - Dst: ring_benchmarks::create_opening_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:264,1
    - Dst: bench_function
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:265,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:266,1
    - Dst: clone
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:267,1
    - Dst: ring_benchmarks::aad
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:268,1
    - Dst: ring_benchmarks::open
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 2
    argNames:
    - c
    - config
    argTypes:
    - '&mut Criterion'
    - '&AeadConfig'
    constantsTouched: []
    func_position:
      end: 273
      start: 243
    functionDepth: 17
    functionLinenumber: 243
    functionLinenumberEnd: 273
    functionName: test_aead_open
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs
    functionUses: 2
    functionsReached:
    - clone
    - bool::benchmark_group
    - aws_lc_rs_benchmarks::seal_append
    - ring_benchmarks::create_opening_key
    - ring_benchmarks::open
    - SpdmResult::iter
    - bench_function
    - aws_lc_rs_benchmarks::create_opening_key
    - aws_lc_rs_benchmarks::aad
    - aws_lc_rs_benchmarks::create_sealing_key
    - aws_lc_rs_benchmarks::open
    - ring_benchmarks::aad
    linkageType: ''
    returnType: void
    signature: 'fn test_aead_open(c: &mut Criterion, config: &AeadConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 22
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 22
    functionName: Curve::from
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/agreement_benchmark.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'fn from(value: &str) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Curve::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/agreement_benchmark.rs:34,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/agreement_benchmark.rs:35,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/agreement_benchmark.rs:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - curve
    - peer_pub
    - private
    argTypes:
    - '&str'
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: AgreementConfig::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/agreement_benchmark.rs
    functionUses: 1
    functionsReached:
    - Vec::from
    - Curve::from
    linkageType: ''
    returnType: Self
    signature: 'fn new(curve: &str, peer_pub: &[u8], private: &[u8]) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 82
    functionName: benchmark_agreement
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/agreement_benchmark.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::benchmark_group
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/agreement_benchmark.rs:91,1
    - Dst: aws_lc_rs_benchmarks::peer_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/agreement_benchmark.rs:93,1
    - Dst: bench_function
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/agreement_benchmark.rs:94,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/agreement_benchmark.rs:95,1
    - Dst: aws_lc_rs_benchmarks::private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/agreement_benchmark.rs:96,1
    - Dst: aws_lc_rs_benchmarks::agreement
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/agreement_benchmark.rs:97,1
    - Dst: ring_benchmarks::peer_public_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/agreement_benchmark.rs:102,1
    - Dst: bench_function
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/agreement_benchmark.rs:103,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/agreement_benchmark.rs:104,1
    - Dst: ring_benchmarks::private_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/agreement_benchmark.rs:105,1
    - Dst: ring_benchmarks::agreement
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/agreement_benchmark.rs:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 2
    argNames:
    - c
    - config
    argTypes:
    - '&mut Criterion'
    - '&AgreementConfig'
    constantsTouched: []
    func_position:
      end: 110
      start: 88
    functionDepth: 10
    functionLinenumber: 88
    functionLinenumberEnd: 110
    functionName: test_agree_ephemeral
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/agreement_benchmark.rs
    functionUses: 1
    functionsReached:
    - ring_benchmarks::peer_public_key
    - aws_lc_rs_benchmarks::peer_public_key
    - bool::benchmark_group
    - aws_lc_rs_benchmarks::agreement
    - ring_benchmarks::agreement
    - SpdmResult::iter
    - bench_function
    - ring_benchmarks::private_key
    - aws_lc_rs_benchmarks::private_key
    linkageType: ''
    returnType: void
    signature: 'fn test_agree_ephemeral(c: &mut Criterion, config: &AgreementConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/agreement_benchmark.rs:113,1
    - Dst: aws_lc_rs::test_file
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/agreement_benchmark.rs:114,1
    - Dst: AgreementConfig::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/agreement_benchmark.rs:116,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/agreement_benchmark.rs:117,1
    - Dst: String::as_str
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/agreement_benchmark.rs:117,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/agreement_benchmark.rs:118,1
    - Dst: Vec::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/agreement_benchmark.rs:118,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/agreement_benchmark.rs:119,1
    - Dst: Vec::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/agreement_benchmark.rs:119,1
    - Dst: test_agree_ephemeral
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/agreement_benchmark.rs:121,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/agreement_benchmark.rs:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 125
      start: 112
    functionDepth: 8
    functionLinenumber: 112
    functionLinenumberEnd: 125
    functionName: test_agreement
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/agreement_benchmark.rs
    functionUses: 0
    functionsReached:
    - Option::consume_string
    - String::as_str
    - test_agree_ephemeral
    - aws_lc_rs::test_file
    - Vec::as_slice
    - Option::consume_bytes
    - test::run
    - Ok
    - AgreementConfig::new
    linkageType: ''
    returnType: void
    signature: 'fn test_agreement(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::benchmark_group
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/kem_benchmark.rs:12,1
    - Dst: bench_function
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/kem_benchmark.rs:13,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/kem_benchmark.rs:14,1
    - Dst: DecapsulationKey::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/kem_benchmark.rs:15,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/kem_benchmark.rs:15,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 19
      start: 9
    functionDepth: 5
    functionLinenumber: 9
    functionLinenumberEnd: 19
    functionName: bench_kem_keygen
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/kem_benchmark.rs
    functionUses: 1
    functionsReached:
    - DecapsulationKey::generate
    - bool::benchmark_group
    - SpdmResult::iter
    - bench_function
    - Result::unwrap
    linkageType: ''
    returnType: void
    signature: 'fn bench_kem_keygen(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::benchmark_group
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/kem_benchmark.rs:24,1
    - Dst: bench_function
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/kem_benchmark.rs:25,1
    - Dst: SpdmResult::iter_batched
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/kem_benchmark.rs:26,1
    - Dst: DecapsulationKey::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/kem_benchmark.rs:28,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/kem_benchmark.rs:28,1
    - Dst: Result::encapsulation_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/kem_benchmark.rs:29,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/kem_benchmark.rs:29,1
    - Dst: bool::encapsulate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/kem_benchmark.rs:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 36
      start: 21
    functionDepth: 9
    functionLinenumber: 21
    functionLinenumberEnd: 36
    functionName: bench_kem_encapsulate
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/kem_benchmark.rs
    functionUses: 1
    functionsReached:
    - DecapsulationKey::generate
    - bool::benchmark_group
    - bool::encapsulate
    - Result::unwrap
    - bench_function
    - SpdmResult::iter_batched
    - Result::encapsulation_key
    linkageType: ''
    returnType: void
    signature: 'fn bench_kem_encapsulate(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::benchmark_group
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/kem_benchmark.rs:41,1
    - Dst: bench_function
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/kem_benchmark.rs:42,1
    - Dst: SpdmResult::iter_batched
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/kem_benchmark.rs:43,1
    - Dst: DecapsulationKey::generate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/kem_benchmark.rs:45,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/kem_benchmark.rs:45,1
    - Dst: Result::encapsulation_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/kem_benchmark.rs:46,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/kem_benchmark.rs:46,1
    - Dst: '&PublicKey::encapsulate'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/kem_benchmark.rs:47,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/kem_benchmark.rs:47,1
    - Dst: bool::decapsulate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/kem_benchmark.rs:50,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/kem_benchmark.rs:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 55
      start: 38
    functionDepth: 9
    functionLinenumber: 38
    functionLinenumberEnd: 55
    functionName: bench_kem_decapsulate
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/kem_benchmark.rs
    functionUses: 1
    functionsReached:
    - DecapsulationKey::generate
    - bool::benchmark_group
    - Result::unwrap
    - bench_function
    - SpdmResult::iter_batched
    - '&PublicKey::encapsulate'
    - bool::decapsulate
    - Result::encapsulation_key
    linkageType: ''
    returnType: void
    signature: 'fn bench_kem_decapsulate(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bench_kem_keygen
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/kem_benchmark.rs:58,1
    - Dst: bench_kem_encapsulate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/kem_benchmark.rs:59,1
    - Dst: bench_kem_decapsulate
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/kem_benchmark.rs:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 10
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: bench_kem
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/kem_benchmark.rs
    functionUses: 0
    functionsReached:
    - bench_kem_keygen
    - bench_kem_decapsulate
    - bench_kem_encapsulate
    linkageType: ''
    returnType: void
    signature: 'fn bench_kem(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RsaPadding::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:21,1
    - Dst: RsaDigest::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:22,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:23,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:24,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - padding
    - digest
    - key
    - msg
    - signature
    argTypes:
    - '&str'
    - '&str'
    - '&[u8]'
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 27
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 27
    functionName: RsaConfig::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs
    functionUses: 1
    functionsReached:
    - Vec::from
    - RsaDigest::from
    - RsaPadding::from
    linkageType: ''
    returnType: RsaConfig
    signature: 'fn new(padding: &str, digest: &str, key: &[u8], msg: &[u8], signature:
      &[u8]) -> RsaConfig'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::trim
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: RsaPadding::from
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs
    functionUses: 1
    functionsReached:
    - u8::trim
    linkageType: ''
    returnType: '&''static Self'
    signature: 'fn from(value: &str) -> &''static Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::trim
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - value
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: RsaDigest::from
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs
    functionUses: 1
    functionsReached:
    - u8::trim
    linkageType: ''
    returnType: '&''static Self'
    signature: 'fn from(value: &str) -> &''static Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 139
    functionName: benchmark_rsa
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::benchmark_group
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:155,1
    - Dst: aws_lc_rs_benchmarks::get_rng
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:156,1
    - Dst: aws_lc_rs_benchmarks::encoding
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:157,1
    - Dst: aws_lc_rs_benchmarks::create_key_pair
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:158,1
    - Dst: public_modulus_len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:159,1
    - Dst: bench_function
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:160,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:161,1
    - Dst: aws_lc_rs_benchmarks::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:162,1
    - Dst: ring_benchmarks::get_rng
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:167,1
    - Dst: ring_benchmarks::encoding
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:168,1
    - Dst: ring_benchmarks::create_key_pair
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:169,1
    - Dst: public_modulus_len
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:170,1
    - Dst: bench_function
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:172,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:173,1
    - Dst: ring_benchmarks::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 56
    argCount: 2
    argNames:
    - c
    - config
    argTypes:
    - '&mut Criterion'
    - '&RsaConfig'
    constantsTouched: []
    func_position:
      end: 184
      start: 145
    functionDepth: 7
    functionLinenumber: 145
    functionLinenumberEnd: 184
    functionName: test_rsa_sign
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs
    functionUses: 1
    functionsReached:
    - aws_lc_rs_benchmarks::create_key_pair
    - ring_benchmarks::encoding
    - ring_benchmarks::get_rng
    - bool::benchmark_group
    - aws_lc_rs_benchmarks::encoding
    - ring_benchmarks::sign
    - SpdmResult::iter
    - bench_function
    - public_modulus_len
    - aws_lc_rs_benchmarks::sign
    - ring_benchmarks::create_key_pair
    - aws_lc_rs_benchmarks::get_rng
    linkageType: ''
    returnType: void
    signature: 'fn test_rsa_sign(c: &mut Criterion, config: &RsaConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:225,1
    - Dst: aws_lc_rs::test_file
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:226,1
    - Dst: RsaConfig::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:228,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:229,1
    - Dst: String::as_str
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:229,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:230,1
    - Dst: String::as_str
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:230,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:231,1
    - Dst: Vec::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:231,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:232,1
    - Dst: Vec::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:232,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:233,1
    - Dst: Vec::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:233,1
    - Dst: test_rsa_sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:235,1
    - Dst: test_rsa_verify
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:236,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 240
      start: 224
    functionDepth: 8
    functionLinenumber: 224
    functionLinenumberEnd: 240
    functionName: test_rsa
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs
    functionUses: 0
    functionsReached:
    - Option::consume_string
    - String::as_str
    - test_rsa_verify
    - test_rsa_sign
    - aws_lc_rs::test_file
    - Vec::as_slice
    - Option::consume_bytes
    - test::run
    - Ok
    - RsaConfig::new
    linkageType: ''
    returnType: void
    signature: 'fn test_rsa(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs:31,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs:32,1
    - Dst: String::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - algorithm
    - key
    - sample
    - description
    argTypes:
    - QuicAlgorithm
    - '&[u8]'
    - '&[u8]'
    - '&str'
    constantsTouched: []
    func_position:
      end: 35
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 35
    functionName: QuicConfig::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs
    functionUses: 3
    functionsReached:
    - Vec::from
    - String::from
    linkageType: ''
    returnType: QuicConfig
    signature: 'pub fn new(algorithm: QuicAlgorithm,key: &[u8],sample: &[u8],description:
      &str,) -> QuicConfig'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 64
    functionName: benchmark_quic
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs:71,1
    - Dst: bool::benchmark_group
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs:79,1
    - Dst: aws_lc_rs_benchmarks::header_protection_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs:81,1
    - Dst: bench_function
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs:82,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs:83,1
    - Dst: aws_lc_rs_benchmarks::new_mask
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs:84,1
    - Dst: ring_benchmarks::header_protection_key
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs:90,1
    - Dst: bench_function
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs:91,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs:92,1
    - Dst: ring_benchmarks::new_mask
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 2
    argNames:
    - c
    - config
    argTypes:
    - '&mut Criterion'
    - '&QuicConfig'
    constantsTouched: []
    func_position:
      end: 97
      start: 70
    functionDepth: 7
    functionLinenumber: 70
    functionLinenumberEnd: 97
    functionName: test_new_mask
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs
    functionUses: 3
    functionsReached:
    - bool::benchmark_group
    - ring_benchmarks::header_protection_key
    - ring_benchmarks::new_mask
    - SpdmResult::iter
    - bench_function
    - aws_lc_rs_benchmarks::header_protection_key
    - aws_lc_rs_benchmarks::new_mask
    - as_slice
    linkageType: ''
    returnType: void
    signature: 'fn test_new_mask(c: &mut Criterion, config: &QuicConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs:100,1
    - Dst: aws_lc_rs::test_file
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs:101,1
    - Dst: QuicConfig::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs:103,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs:105,1
    - Dst: Vec::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs:105,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs:106,1
    - Dst: Vec::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs:106,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs:107,1
    - Dst: String::as_str
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs:107,1
    - Dst: test_new_mask
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs:109,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 113
      start: 99
    functionDepth: 8
    functionLinenumber: 99
    functionLinenumberEnd: 113
    functionName: test_aes_128
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs
    functionUses: 0
    functionsReached:
    - Option::consume_string
    - String::as_str
    - QuicConfig::new
    - test_new_mask
    - aws_lc_rs::test_file
    - Vec::as_slice
    - Option::consume_bytes
    - test::run
    - Ok
    linkageType: ''
    returnType: void
    signature: 'fn test_aes_128(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs:115,1
    - Dst: aws_lc_rs::test_file
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs:116,1
    - Dst: QuicConfig::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs:118,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs:120,1
    - Dst: Vec::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs:120,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs:121,1
    - Dst: Vec::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs:121,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs:122,1
    - Dst: String::as_str
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs:122,1
    - Dst: test_new_mask
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs:124,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 128
      start: 114
    functionDepth: 8
    functionLinenumber: 114
    functionLinenumberEnd: 128
    functionName: test_aes_256
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs
    functionUses: 0
    functionsReached:
    - Option::consume_string
    - String::as_str
    - QuicConfig::new
    - test_new_mask
    - aws_lc_rs::test_file
    - Vec::as_slice
    - Option::consume_bytes
    - test::run
    - Ok
    linkageType: ''
    returnType: void
    signature: 'fn test_aes_256(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - DigestAlgorithm
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: DigestConfig::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/digest_benchmark.rs
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: DigestConfig
    signature: 'pub fn new(algorithm: DigestAlgorithm) -> DigestConfig'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 60
    functionName: benchmark_digest
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/digest_benchmark.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DigestConfig::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/digest_benchmark.rs:67,1
    - Dst: bench_digest_one_shot
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/digest_benchmark.rs:68,1
    - Dst: bench_digest_incremental
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/digest_benchmark.rs:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 3
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: bench_sha1
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/digest_benchmark.rs
    functionUses: 0
    functionsReached:
    - bench_digest_incremental
    - DigestConfig::new
    - bench_digest_one_shot
    linkageType: ''
    returnType: void
    signature: 'fn bench_sha1(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DigestConfig::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/digest_benchmark.rs:73,1
    - Dst: bench_digest_one_shot
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/digest_benchmark.rs:74,1
    - Dst: bench_digest_incremental
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/digest_benchmark.rs:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: bench_sha256
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/digest_benchmark.rs
    functionUses: 0
    functionsReached:
    - bench_digest_incremental
    - DigestConfig::new
    - bench_digest_one_shot
    linkageType: ''
    returnType: void
    signature: 'fn bench_sha256(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DigestConfig::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/digest_benchmark.rs:79,1
    - Dst: bench_digest_one_shot
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/digest_benchmark.rs:80,1
    - Dst: bench_digest_incremental
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/digest_benchmark.rs:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: bench_sha384
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/digest_benchmark.rs
    functionUses: 0
    functionsReached:
    - bench_digest_incremental
    - DigestConfig::new
    - bench_digest_one_shot
    linkageType: ''
    returnType: void
    signature: 'fn bench_sha384(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DigestConfig::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/digest_benchmark.rs:85,1
    - Dst: bench_digest_one_shot
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/digest_benchmark.rs:86,1
    - Dst: bench_digest_incremental
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/digest_benchmark.rs:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: bench_sha512
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/digest_benchmark.rs
    functionUses: 0
    functionsReached:
    - bench_digest_incremental
    - DigestConfig::new
    - bench_digest_one_shot
    linkageType: ''
    returnType: void
    signature: 'fn bench_sha512(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DigestConfig::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/digest_benchmark.rs:91,1
    - Dst: bench_digest_one_shot
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/digest_benchmark.rs:92,1
    - Dst: bench_digest_incremental
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/digest_benchmark.rs:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: bench_sha512_256
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/digest_benchmark.rs
    functionUses: 0
    functionsReached:
    - bench_digest_incremental
    - DigestConfig::new
    - bench_digest_one_shot
    linkageType: ''
    returnType: void
    signature: 'fn bench_sha512_256(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::benchmark_group
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/digest_benchmark.rs:108,1
    - Dst: bench_function
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/digest_benchmark.rs:109,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/digest_benchmark.rs:110,1
    - Dst: aws_lc_rs_benchmarks::run_digest_one_shot
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/digest_benchmark.rs:111,1
    - Dst: bench_function
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/digest_benchmark.rs:116,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/digest_benchmark.rs:117,1
    - Dst: ring_benchmarks::run_digest_one_shot
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/digest_benchmark.rs:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 2
    argNames:
    - c
    - config
    argTypes:
    - '&mut Criterion'
    - '&DigestConfig'
    constantsTouched: []
    func_position:
      end: 123
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 123
    functionName: bench_digest_one_shot
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/digest_benchmark.rs
    functionUses: 5
    functionsReached:
    - bool::benchmark_group
    - ring_benchmarks::run_digest_one_shot
    - SpdmResult::iter
    - bench_function
    - aws_lc_rs_benchmarks::run_digest_one_shot
    linkageType: ''
    returnType: void
    signature: 'fn bench_digest_one_shot(c: &mut Criterion, config: &DigestConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::benchmark_group
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/digest_benchmark.rs:143,1
    - Dst: bench_function
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/digest_benchmark.rs:145,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/digest_benchmark.rs:146,1
    - Dst: aws_lc_rs_benchmarks::run_digest_incremental
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/digest_benchmark.rs:147,1
    - Dst: bench_function
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/digest_benchmark.rs:152,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/digest_benchmark.rs:153,1
    - Dst: ring_benchmarks::run_digest_incremental
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/digest_benchmark.rs:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 2
    argNames:
    - c
    - config
    argTypes:
    - '&mut Criterion'
    - '&DigestConfig'
    constantsTouched: []
    func_position:
      end: 159
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 159
    functionName: bench_digest_incremental
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/digest_benchmark.rs
    functionUses: 5
    functionsReached:
    - bool::benchmark_group
    - SpdmResult::iter
    - bench_function
    - aws_lc_rs_benchmarks::run_digest_incremental
    - ring_benchmarks::run_digest_incremental
    linkageType: ''
    returnType: void
    signature: 'fn bench_digest_incremental(c: &mut Criterion, config: &DigestConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - PBKDF2Algorithm
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: PBKDF2Config::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/pbkdf2_benchmark.rs
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: PBKDF2Config
    signature: 'pub fn new(algorithm: PBKDF2Algorithm) -> PBKDF2Config'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 63
    functionName: benchmark_pbkdf2
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/pbkdf2_benchmark.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PBKDF2Config::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/pbkdf2_benchmark.rs:70,1
    - Dst: bench_pbkdf2
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/pbkdf2_benchmark.rs:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 6
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: bench_pbkdf2_sha1
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/pbkdf2_benchmark.rs
    functionUses: 0
    functionsReached:
    - bench_pbkdf2
    - PBKDF2Config::new
    linkageType: ''
    returnType: void
    signature: 'fn bench_pbkdf2_sha1(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PBKDF2Config::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/pbkdf2_benchmark.rs:75,1
    - Dst: bench_pbkdf2
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/pbkdf2_benchmark.rs:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 6
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: bench_pbkdf2_sha256
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/pbkdf2_benchmark.rs
    functionUses: 0
    functionsReached:
    - bench_pbkdf2
    - PBKDF2Config::new
    linkageType: ''
    returnType: void
    signature: 'fn bench_pbkdf2_sha256(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PBKDF2Config::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/pbkdf2_benchmark.rs:80,1
    - Dst: bench_pbkdf2
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/pbkdf2_benchmark.rs:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 6
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: bench_pbkdf2_sha384
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/pbkdf2_benchmark.rs
    functionUses: 0
    functionsReached:
    - bench_pbkdf2
    - PBKDF2Config::new
    linkageType: ''
    returnType: void
    signature: 'fn bench_pbkdf2_sha384(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PBKDF2Config::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/pbkdf2_benchmark.rs:85,1
    - Dst: bench_pbkdf2
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/pbkdf2_benchmark.rs:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 6
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: bench_pbkdf2_sha512
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/pbkdf2_benchmark.rs
    functionUses: 0
    functionsReached:
    - bench_pbkdf2
    - PBKDF2Config::new
    linkageType: ''
    returnType: void
    signature: 'fn bench_pbkdf2_sha512(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NonZeroU32::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/pbkdf2_benchmark.rs:96,1
    - Dst: Self::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/pbkdf2_benchmark.rs:96,1
    - Dst: bool::benchmark_group
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/pbkdf2_benchmark.rs:98,1
    - Dst: bench_function
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/pbkdf2_benchmark.rs:101,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/pbkdf2_benchmark.rs:102,1
    - Dst: aws_lc_rs_benchmarks::run_pbkdf2_derive
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/pbkdf2_benchmark.rs:103,1
    - Dst: bench_function
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/pbkdf2_benchmark.rs:109,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/pbkdf2_benchmark.rs:110,1
    - Dst: ring_benchmarks::run_pbkdf2_derive
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/pbkdf2_benchmark.rs:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 2
    argNames:
    - c
    - config
    argTypes:
    - '&mut Criterion'
    - '&PBKDF2Config'
    constantsTouched: []
    func_position:
      end: 116
      start: 94
    functionDepth: 5
    functionLinenumber: 94
    functionLinenumberEnd: 116
    functionName: bench_pbkdf2
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/pbkdf2_benchmark.rs
    functionUses: 4
    functionsReached:
    - bool::benchmark_group
    - aws_lc_rs_benchmarks::run_pbkdf2_derive
    - SpdmResult::iter
    - bench_function
    - NonZeroU32::new
    - ring_benchmarks::run_pbkdf2_derive
    - Self::unwrap
    linkageType: ''
    returnType: void
    signature: 'fn bench_pbkdf2(c: &mut Criterion, config: &PBKDF2Config)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EcdsaCurve::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:35,1
    - Dst: EcdsaDigest::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:36,1
    - Dst: EcdsaFormat::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:37,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:38,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:39,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:40,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 7
    argNames:
    - curve
    - digest
    - format
    - msg
    - d
    - q
    - signature
    argTypes:
    - '&str'
    - '&str'
    - '&str'
    - '&[u8]'
    - '&[u8]'
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 43
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 43
    functionName: EcdsaConfig::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs
    functionUses: 1
    functionsReached:
    - EcdsaFormat::from
    - Vec::from
    - EcdsaDigest::from
    - EcdsaCurve::from
    linkageType: ''
    returnType: EcdsaConfig
    signature: 'fn new(curve: &str,digest: &str,format: &str,msg: &[u8],d: &[u8],q:
      &[u8],signature: &[u8],) -> EcdsaConfig'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::trim
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: EcdsaFormat::from
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs
    functionUses: 1
    functionsReached:
    - u8::trim
    linkageType: ''
    returnType: '&''static Self'
    signature: 'fn from(value: &str) -> &''static Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::trim
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: EcdsaCurve::from
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs
    functionUses: 1
    functionsReached:
    - u8::trim
    linkageType: ''
    returnType: '&''static Self'
    signature: 'fn from(value: &str) -> &''static Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::trim
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - value
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: EcdsaDigest::from
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs
    functionUses: 1
    functionsReached:
    - u8::trim
    linkageType: ''
    returnType: '&''static Self'
    signature: 'fn from(value: &str) -> &''static Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 194
    functionName: benchmark_ecdsa
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::benchmark_group
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:212,1
    - Dst: aws_lc_rs_benchmarks::get_rng
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:214,1
    - Dst: aws_lc_rs_benchmarks::create_key_pair
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:215,1
    - Dst: bench_function
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:216,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:217,1
    - Dst: aws_lc_rs_benchmarks::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:218,1
    - Dst: ring_benchmarks::get_rng
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:223,1
    - Dst: ring_benchmarks::create_key_pair
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:224,1
    - Dst: bench_function
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:226,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:227,1
    - Dst: ring_benchmarks::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 2
    argNames:
    - c
    - config
    argTypes:
    - '&mut Criterion'
    - '&EcdsaConfig'
    constantsTouched: []
    func_position:
      end: 232
      start: 203
    functionDepth: 7
    functionLinenumber: 203
    functionLinenumberEnd: 232
    functionName: test_ecdsa_sign
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs
    functionUses: 1
    functionsReached:
    - aws_lc_rs_benchmarks::create_key_pair
    - ring_benchmarks::get_rng
    - bool::benchmark_group
    - ring_benchmarks::sign
    - SpdmResult::iter
    - bench_function
    - aws_lc_rs_benchmarks::sign
    - ring_benchmarks::create_key_pair
    - aws_lc_rs_benchmarks::get_rng
    linkageType: ''
    returnType: void
    signature: 'fn test_ecdsa_sign(c: &mut Criterion, config: &EcdsaConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::benchmark_group
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:244,1
    - Dst: as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:245,1
    - Dst: as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:246,1
    - Dst: aws_lc_rs_benchmarks::verification
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:249,1
    - Dst: bench_function
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:251,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:252,1
    - Dst: aws_lc_rs_benchmarks::verify
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:253,1
    - Dst: ring_benchmarks::verification
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:259,1
    - Dst: bench_function
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:261,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:262,1
    - Dst: ring_benchmarks::verify
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    argCount: 2
    argNames:
    - c
    - config
    argTypes:
    - '&mut Criterion'
    - '&EcdsaConfig'
    constantsTouched: []
    func_position:
      end: 267
      start: 235
    functionDepth: 6
    functionLinenumber: 235
    functionLinenumberEnd: 267
    functionName: test_ecdsa_verify
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs
    functionUses: 1
    functionsReached:
    - bool::benchmark_group
    - aws_lc_rs_benchmarks::verify
    - ring_benchmarks::verification
    - SpdmResult::iter
    - bench_function
    - aws_lc_rs_benchmarks::verification
    - as_slice
    - ring_benchmarks::verify
    linkageType: ''
    returnType: void
    signature: 'fn test_ecdsa_verify(c: &mut Criterion, config: &EcdsaConfig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:270,1
    - Dst: aws_lc_rs::test_file
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:271,1
    - Dst: EcdsaConfig::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:273,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:274,1
    - Dst: String::as_str
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:274,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:275,1
    - Dst: String::as_str
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:275,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:276,1
    - Dst: String::as_str
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:276,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:277,1
    - Dst: Vec::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:277,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:278,1
    - Dst: Vec::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:278,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:279,1
    - Dst: Vec::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:279,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:280,1
    - Dst: Vec::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:280,1
    - Dst: test_ecdsa_sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:282,1
    - Dst: test_ecdsa_verify
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:283,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 287
      start: 269
    functionDepth: 8
    functionLinenumber: 269
    functionLinenumberEnd: 287
    functionName: test_ecdsa
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs
    functionUses: 0
    functionsReached:
    - Option::consume_string
    - test_ecdsa_sign
    - String::as_str
    - Ok
    - aws_lc_rs::test_file
    - Vec::as_slice
    - Option::consume_bytes
    - EcdsaConfig::new
    - test::run
    - test_ecdsa_verify
    linkageType: ''
    returnType: void
    signature: 'fn test_ecdsa(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ed25519_benchmark.rs:22,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ed25519_benchmark.rs:23,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ed25519_benchmark.rs:24,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ed25519_benchmark.rs:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - seed
    - public_key
    - msg
    - signature
    argTypes:
    - '&[u8]'
    - '&[u8]'
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 27
      start: 20
    functionDepth: 2
    functionLinenumber: 20
    functionLinenumberEnd: 27
    functionName: Ed25519Config::new
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ed25519_benchmark.rs
    functionUses: 1
    functionsReached:
    - Vec::from
    linkageType: ''
    returnType: Ed25519Config
    signature: 'fn new(seed: &[u8], public_key: &[u8], msg: &[u8], signature: &[u8])
      -> Ed25519Config'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 72
    functionName: benchmark_ed25519
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ed25519_benchmark.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::benchmark_group
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ed25519_benchmark.rs:83,1
    - Dst: aws_lc_rs_benchmarks::create_key_pair
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ed25519_benchmark.rs:85,1
    - Dst: bench_function
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ed25519_benchmark.rs:86,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ed25519_benchmark.rs:87,1
    - Dst: aws_lc_rs_benchmarks::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ed25519_benchmark.rs:88,1
    - Dst: ring_benchmarks::create_key_pair
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ed25519_benchmark.rs:93,1
    - Dst: bench_function
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ed25519_benchmark.rs:95,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ed25519_benchmark.rs:96,1
    - Dst: ring_benchmarks::sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ed25519_benchmark.rs:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 2
    argNames:
    - c
    - config
    argTypes:
    - '&mut Criterion'
    - '&Ed25519Config'
    constantsTouched: []
    func_position:
      end: 101
      start: 81
    functionDepth: 7
    functionLinenumber: 81
    functionLinenumberEnd: 101
    functionName: test_ed25519_sign
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ed25519_benchmark.rs
    functionUses: 1
    functionsReached:
    - aws_lc_rs_benchmarks::create_key_pair
    - bool::benchmark_group
    - ring_benchmarks::sign
    - SpdmResult::iter
    - bench_function
    - aws_lc_rs_benchmarks::sign
    - ring_benchmarks::create_key_pair
    linkageType: ''
    returnType: void
    signature: 'fn test_ed25519_sign(c: &mut Criterion, config: &Ed25519Config)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::benchmark_group
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ed25519_benchmark.rs:106,1
    - Dst: as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ed25519_benchmark.rs:107,1
    - Dst: as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ed25519_benchmark.rs:108,1
    - Dst: aws_lc_rs_benchmarks::verification
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ed25519_benchmark.rs:110,1
    - Dst: bench_function
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ed25519_benchmark.rs:111,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ed25519_benchmark.rs:112,1
    - Dst: aws_lc_rs_benchmarks::verify
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ed25519_benchmark.rs:113,1
    - Dst: ring_benchmarks::verification
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ed25519_benchmark.rs:118,1
    - Dst: bench_function
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ed25519_benchmark.rs:120,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ed25519_benchmark.rs:121,1
    - Dst: ring_benchmarks::verify
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ed25519_benchmark.rs:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 2
    argNames:
    - c
    - config
    argTypes:
    - '&mut Criterion'
    - '&Ed25519Config'
    constantsTouched: []
    func_position:
      end: 126
      start: 104
    functionDepth: 6
    functionLinenumber: 104
    functionLinenumberEnd: 126
    functionName: test_ed25519_verify
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ed25519_benchmark.rs
    functionUses: 1
    functionsReached:
    - bool::benchmark_group
    - aws_lc_rs_benchmarks::verify
    - ring_benchmarks::verification
    - SpdmResult::iter
    - bench_function
    - aws_lc_rs_benchmarks::verification
    - as_slice
    - ring_benchmarks::verify
    linkageType: ''
    returnType: void
    signature: 'fn test_ed25519_verify(c: &mut Criterion, config: &Ed25519Config)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ed25519_benchmark.rs:130,1
    - Dst: aws_lc_rs::test_file
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ed25519_benchmark.rs:131,1
    - Dst: Ed25519Config::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ed25519_benchmark.rs:133,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ed25519_benchmark.rs:134,1
    - Dst: Vec::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ed25519_benchmark.rs:134,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ed25519_benchmark.rs:135,1
    - Dst: Vec::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ed25519_benchmark.rs:135,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ed25519_benchmark.rs:136,1
    - Dst: Vec::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ed25519_benchmark.rs:136,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ed25519_benchmark.rs:137,1
    - Dst: Vec::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ed25519_benchmark.rs:137,1
    - Dst: test_ed25519_sign
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ed25519_benchmark.rs:139,1
    - Dst: test_ed25519_verify
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ed25519_benchmark.rs:140,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ed25519_benchmark.rs:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 144
      start: 129
    functionDepth: 8
    functionLinenumber: 129
    functionLinenumberEnd: 144
    functionName: test_ed25519
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ed25519_benchmark.rs
    functionUses: 0
    functionsReached:
    - test_ed25519_sign
    - Ed25519Config::new
    - aws_lc_rs::test_file
    - Vec::as_slice
    - Option::consume_bytes
    - test_ed25519_verify
    - test::run
    - Ok
    linkageType: ''
    returnType: void
    signature: 'fn test_ed25519(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bench_function
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:3,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:5,1
    - Dst: encrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:7,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:7,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:7,1
    - Dst: decrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:8,1
    - Dst: Some
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:8,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:8,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:8,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 11
    functionDepth: 8
    functionLinenumber: 11
    functionLinenumberEnd: 23
    functionName: openssl_bench
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs
    functionUses: 2
    functionsReached:
    - SpdmResult::iter
    - bench_function
    - Result::unwrap
    - decrypt
    - encrypt
    - as_ref
    - Some
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:3,1
    - Dst: aws_lc_rs::test_file
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:3,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:4,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:5,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:6,1
    - Dst: bool::benchmark_group
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:8,1
    - Dst: bench_function
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:10,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:11,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:12,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:12,1
    - Dst: EncryptionContext::Iv128
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:14,1
    - Dst: Result::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:14,1
    - Dst: '&[P::T]::try_into'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:14,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:14,1
    - Dst: PaddedBlockEncryptingKey::cbc_pkcs7
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:17,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:16,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:22,1
    - Dst: as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:22,1
    - Dst: less_safe_encrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:23,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:23,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:25,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:25,1
    - Dst: PaddedBlockDecryptingKey::cbc_pkcs7
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:28,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:27,1
    - Dst: decrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:33,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:33,1
    - Dst: openssl_bench
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:37,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 25
    functionDepth: 8
    functionLinenumber: 25
    functionLinenumberEnd: 68
    functionName: benchmark_padded
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs
    functionUses: 0
    functionsReached:
    - less_safe_encrypt
    - openssl_bench
    - bool::benchmark_group
    - unwrap
    - SpdmResult::iter
    - bench_function
    - aws_lc_rs::test_file
    - UnboundCipherKey::new
    - '&[P::T]::try_into'
    - Vec::from
    - test::run
    - Ok
    - PaddedBlockDecryptingKey::cbc_pkcs7
    - EncryptionContext::Iv128
    - decrypt
    - Result::as_slice
    - PaddedBlockEncryptingKey::cbc_pkcs7
    - Result::unwrap
    - Option::consume_bytes
    - as_slice
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:3,1
    - Dst: aws_lc_rs::test_file
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:3,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:4,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:5,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:6,1
    - Dst: bool::benchmark_group
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:8,1
    - Dst: bench_function
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:10,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:11,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:12,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:12,1
    - Dst: EncryptionContext::Iv128
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:14,1
    - Dst: Result::as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:14,1
    - Dst: '&[P::T]::try_into'
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:14,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:14,1
    - Dst: EncryptingKey::ctr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:17,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:16,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:22,1
    - Dst: as_slice
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:22,1
    - Dst: less_safe_encrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:23,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:23,1
    - Dst: UnboundCipherKey::new
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:25,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:25,1
    - Dst: DecryptingKey::ctr
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:28,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:27,1
    - Dst: decrypt
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:33,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:33,1
    - Dst: openssl_bench
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:37,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 70
    functionDepth: 8
    functionLinenumber: 70
    functionLinenumberEnd: 113
    functionName: benchmark_unpadded
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs
    functionUses: 0
    functionsReached:
    - less_safe_encrypt
    - openssl_bench
    - bool::benchmark_group
    - unwrap
    - SpdmResult::iter
    - bench_function
    - EncryptingKey::ctr
    - aws_lc_rs::test_file
    - UnboundCipherKey::new
    - '&[P::T]::try_into'
    - DecryptingKey::ctr
    - Vec::from
    - test::run
    - Ok
    - EncryptionContext::Iv128
    - decrypt
    - Result::as_slice
    - Result::unwrap
    - Option::consume_bytes
    - as_slice
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Regex::new
      Src: /src/spdm-rs/external/aws-lc-rs/scripts/tools/semver.rs:46,1
    - Dst: Vec<String>::into_iter
      Src: /src/spdm-rs/external/aws-lc-rs/scripts/tools/semver.rs:47,1
    - Dst: Self::IntoIter::filter
      Src: /src/spdm-rs/external/aws-lc-rs/scripts/tools/semver.rs:47,1
    - Dst: SpdmResult::starts_with
      Src: /src/spdm-rs/external/aws-lc-rs/scripts/tools/semver.rs:49,1
    - Dst: map
      Src: /src/spdm-rs/external/aws-lc-rs/scripts/tools/semver.rs:47,1
    - Dst: String::from
      Src: /src/spdm-rs/external/aws-lc-rs/scripts/tools/semver.rs:50,1
    - Dst: SpdmResult::strip_prefix
      Src: /src/spdm-rs/external/aws-lc-rs/scripts/tools/semver.rs:50,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/scripts/tools/semver.rs:50,1
    - Dst: filter
      Src: /src/spdm-rs/external/aws-lc-rs/scripts/tools/semver.rs:47,1
    - Dst: is_match
      Src: /src/spdm-rs/external/aws-lc-rs/scripts/tools/semver.rs:51,1
    - Dst: map
      Src: /src/spdm-rs/external/aws-lc-rs/scripts/tools/semver.rs:47,1
    - Dst: semver::Version::parse
      Src: /src/spdm-rs/external/aws-lc-rs/scripts/tools/semver.rs:52,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/aws-lc-rs/scripts/tools/semver.rs:52,1
    - Dst: collect
      Src: /src/spdm-rs/external/aws-lc-rs/scripts/tools/semver.rs:47,1
    - Dst: Vec<String>::sort
      Src: /src/spdm-rs/external/aws-lc-rs/scripts/tools/semver.rs:55,1
    - Dst: Vec<String>::pop
      Src: /src/spdm-rs/external/aws-lc-rs/scripts/tools/semver.rs:57,1
    - Dst: ok_or
      Src: /src/spdm-rs/external/aws-lc-rs/scripts/tools/semver.rs:57,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/scripts/tools/semver.rs:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 40
    argCount: 1
    argNames:
    - tags
    argTypes:
    - Vec<String>
    constantsTouched: []
    func_position:
      end: 60
      start: 45
    functionDepth: 8
    functionLinenumber: 45
    functionLinenumberEnd: 60
    functionName: get_latest_main
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/scripts/tools/semver.rs
    functionUses: 0
    functionsReached:
    - filter
    - Ok
    - Regex::new
    - SpdmResult::starts_with
    - Self::IntoIter::filter
    - Vec<String>::pop
    - is_match
    - map
    - ok_or
    - SpdmResult::strip_prefix
    - Result::expect
    - Vec<String>::into_iter
    - collect
    - String::from
    - Vec<String>::sort
    - expect
    - semver::Version::parse
    linkageType: ''
    returnType: Result
    signature: 'fn get_latest_main(tags: Vec<String>) -> Result<String, Box<dyn Error>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Regex::new
      Src: /src/spdm-rs/external/aws-lc-rs/scripts/tools/semver.rs:65,1
    - Dst: Vec<String>::into_iter
      Src: /src/spdm-rs/external/aws-lc-rs/scripts/tools/semver.rs:67,1
    - Dst: Self::IntoIter::filter
      Src: /src/spdm-rs/external/aws-lc-rs/scripts/tools/semver.rs:67,1
    - Dst: SpdmResult::starts_with
      Src: /src/spdm-rs/external/aws-lc-rs/scripts/tools/semver.rs:69,1
    - Dst: map
      Src: /src/spdm-rs/external/aws-lc-rs/scripts/tools/semver.rs:67,1
    - Dst: String::from
      Src: /src/spdm-rs/external/aws-lc-rs/scripts/tools/semver.rs:71,1
    - Dst: SpdmResult::strip_prefix
      Src: /src/spdm-rs/external/aws-lc-rs/scripts/tools/semver.rs:72,1
    - Dst: expect
      Src: /src/spdm-rs/external/aws-lc-rs/scripts/tools/semver.rs:72,1
    - Dst: filter
      Src: /src/spdm-rs/external/aws-lc-rs/scripts/tools/semver.rs:67,1
    - Dst: is_match
      Src: /src/spdm-rs/external/aws-lc-rs/scripts/tools/semver.rs:76,1
    - Dst: map
      Src: /src/spdm-rs/external/aws-lc-rs/scripts/tools/semver.rs:67,1
    - Dst: semver::Version::parse
      Src: /src/spdm-rs/external/aws-lc-rs/scripts/tools/semver.rs:77,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/scripts/tools/semver.rs:77,1
    - Dst: filter
      Src: /src/spdm-rs/external/aws-lc-rs/scripts/tools/semver.rs:67,1
    - Dst: collect
      Src: /src/spdm-rs/external/aws-lc-rs/scripts/tools/semver.rs:67,1
    - Dst: Vec<String>::sort
      Src: /src/spdm-rs/external/aws-lc-rs/scripts/tools/semver.rs:81,1
    - Dst: Vec<String>::pop
      Src: /src/spdm-rs/external/aws-lc-rs/scripts/tools/semver.rs:83,1
    - Dst: ok_or
      Src: /src/spdm-rs/external/aws-lc-rs/scripts/tools/semver.rs:83,1
    - Dst: Ok
      Src: /src/spdm-rs/external/aws-lc-rs/scripts/tools/semver.rs:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 45
    argCount: 2
    argNames:
    - tags
    - major
    argTypes:
    - Vec<String>
    - u64
    constantsTouched: []
    func_position:
      end: 86
      start: 62
    functionDepth: 8
    functionLinenumber: 62
    functionLinenumberEnd: 86
    functionName: get_latest_fips
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/scripts/tools/semver.rs
    functionUses: 0
    functionsReached:
    - filter
    - Ok
    - Regex::new
    - SpdmResult::starts_with
    - Self::IntoIter::filter
    - Vec<String>::pop
    - is_match
    - map
    - ok_or
    - Result::unwrap
    - SpdmResult::strip_prefix
    - Vec<String>::into_iter
    - collect
    - String::from
    - Vec<String>::sort
    - expect
    - semver::Version::parse
    linkageType: ''
    returnType: Result
    signature: 'fn get_latest_fips(tags: Vec<String>, major: u64) -> Result<String,
      Box<dyn Error>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cc::Build::new
      Src: /src/spdm-rs/external/aws-lc-rs/links-testing/build.rs:35,1
    - Dst: Self::include
      Src: /src/spdm-rs/external/aws-lc-rs/links-testing/build.rs:35,1
    - Dst: env
      Src: /src/spdm-rs/external/aws-lc-rs/links-testing/build.rs:36,1
    - Dst: file
      Src: /src/spdm-rs/external/aws-lc-rs/links-testing/build.rs:35,1
    - Dst: compile
      Src: /src/spdm-rs/external/aws-lc-rs/links-testing/build.rs:35,1
    - Dst: env
      Src: /src/spdm-rs/external/aws-lc-rs/links-testing/build.rs:41,1
    - Dst: env
      Src: /src/spdm-rs/external/aws-lc-rs/links-testing/build.rs:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - links
    - target_name
    argTypes:
    - '&str'
    - '&str'
    constantsTouched: []
    func_position:
      end: 47
      start: 33
    functionDepth: 11
    functionLinenumber: 33
    functionLinenumberEnd: 47
    functionName: build_and_link
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/links-testing/build.rs
    functionUses: 0
    functionsReached:
    - Self::include
    - file
    - env
    - cc::Build::new
    - compile
    linkageType: ''
    returnType: void
    signature: 'fn build_and_link(links: &str, target_name: &str)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::read_to_string
      Src: /src/spdm-rs/external/aws-lc-rs/links-testing/build.rs:50,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/links-testing/build.rs:50,1
    - Dst: parse::<DocumentMut>
      Src: /src/spdm-rs/external/aws-lc-rs/links-testing/build.rs:51,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/links-testing/build.rs:51,1
    - Dst: as_str
      Src: /src/spdm-rs/external/aws-lc-rs/links-testing/build.rs:53,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/aws-lc-rs/links-testing/build.rs:53,1
    - Dst: String::from
      Src: /src/spdm-rs/external/aws-lc-rs/links-testing/build.rs:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - cargo_toml_path
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 13
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: get_package_links_property
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/links-testing/build.rs
    functionUses: 0
    functionsReached:
    - parse::<DocumentMut>
    - as_str
    - unwrap
    - String::from
    - std::fs::read_to_string
    linkageType: ''
    returnType: String
    signature: 'fn get_package_links_property(cargo_toml_path: &str) -> String'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmResult::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/links-testing/build.rs:59,1
    - Dst: std::env::var
      Src: /src/spdm-rs/external/aws-lc-rs/links-testing/build.rs:61,1
    - Dst: Option::unwrap_or_else
      Src: /src/spdm-rs/external/aws-lc-rs/links-testing/build.rs:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - S
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 10
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: env
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/links-testing/build.rs
    functionUses: 2
    functionsReached:
    - std::env::var
    - Option::unwrap_or_else
    - SpdmResult::as_ref
    linkageType: ''
    returnType: String
    signature: 'fn env<S: AsRef<str>>(s: S) -> String'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: testing_evp_key_type
      Src: /src/spdm-rs/external/aws-lc-rs/links-testing/src/main.rs:17,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 18
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 18
    functionName: link_test
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/links-testing/src/main.rs
    functionUses: 0
    functionsReached:
    - testing_evp_key_type
    linkageType: ''
    returnType: void
    signature: fn link_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc_nostd_alloc
      Src: /src/spdm-rs/external/aws-lc-rs/no-std-runtime-test/src/main.rs:23,1
    - Dst: Layout::size
      Src: /src/spdm-rs/external/aws-lc-rs/no-std-runtime-test/src/main.rs:23,1
    - Dst: Layout::align
      Src: /src/spdm-rs/external/aws-lc-rs/no-std-runtime-test/src/main.rs:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - layout
    argTypes:
    - Layout
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 16
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: PlatformAllocator::alloc
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/no-std-runtime-test/src/main.rs
    functionUses: 0
    functionsReached:
    - Layout::size
    - aws_lc_nostd_alloc
    - Layout::align
    linkageType: ''
    returnType: '*mut u8'
    signature: 'unsafe fn alloc(&self, layout: Layout) -> *mut u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc_nostd_dealloc
      Src: /src/spdm-rs/external/aws-lc-rs/no-std-runtime-test/src/main.rs:27,1
    - Dst: Layout::size
      Src: /src/spdm-rs/external/aws-lc-rs/no-std-runtime-test/src/main.rs:27,1
    - Dst: Layout::align
      Src: /src/spdm-rs/external/aws-lc-rs/no-std-runtime-test/src/main.rs:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ptr
    - layout
    argTypes:
    - '*mut u8'
    - Layout
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 8
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: PlatformAllocator::dealloc
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/no-std-runtime-test/src/main.rs
    functionUses: 0
    functionsReached:
    - Layout::size
    - aws_lc_nostd_dealloc
    - Layout::align
    linkageType: ''
    returnType: void
    signature: 'unsafe fn dealloc(&self, ptr: *mut u8, layout: Layout)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc_nostd_realloc
      Src: /src/spdm-rs/external/aws-lc-rs/no-std-runtime-test/src/main.rs:31,1
    - Dst: Layout::size
      Src: /src/spdm-rs/external/aws-lc-rs/no-std-runtime-test/src/main.rs:31,1
    - Dst: Layout::align
      Src: /src/spdm-rs/external/aws-lc-rs/no-std-runtime-test/src/main.rs:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ptr
    - layout
    - new_size
    argTypes:
    - '*mut u8'
    - Layout
    - usize
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 17
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: PlatformAllocator::realloc
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/no-std-runtime-test/src/main.rs
    functionUses: 0
    functionsReached:
    - Layout::size
    - aws_lc_nostd_realloc
    - Layout::align
    linkageType: ''
    returnType: '*mut u8'
    signature: 'unsafe fn realloc(&self, ptr: *mut u8, layout: Layout, new_size: usize)
      -> *mut u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: aws_lc_nostd_time
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/no-std-runtime-test/src/main.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: i64
    signature: extern "C" fn aws_lc_nostd_time() -> i64
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aws_lc_nostd_abort
      Src: /src/spdm-rs/external/aws-lc-rs/no-std-runtime-test/src/main.rs:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - _info
    argTypes:
    - '&PanicInfo<''_>'
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: panic
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/no-std-runtime-test/src/main.rs
    functionUses: 0
    functionsReached:
    - aws_lc_nostd_abort
    linkageType: ''
    returnType: '!'
    signature: 'fn panic(_info: &PanicInfo<''_>) -> !'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digest::digest
      Src: /src/spdm-rs/external/aws-lc-rs/no-std-runtime-test/src/main.rs:110,1
    - Dst: core::ptr::write_volatile
      Src: /src/spdm-rs/external/aws-lc-rs/no-std-runtime-test/src/main.rs:112,1
    - Dst: usize::from
      Src: /src/spdm-rs/external/aws-lc-rs/no-std-runtime-test/src/main.rs:112,1
    - Dst: u8::as_ref
      Src: /src/spdm-rs/external/aws-lc-rs/no-std-runtime-test/src/main.rs:112,1
    - Dst: aws_lc_nostd_abort
      Src: /src/spdm-rs/external/aws-lc-rs/no-std-runtime-test/src/main.rs:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 3
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: _start
    functionSourceFile: /src/spdm-rs/external/aws-lc-rs/no-std-runtime-test/src/main.rs
    functionUses: 11
    functionsReached:
    - aws_lc_nostd_abort
    - u8::as_ref
    - core::ptr::write_volatile
    - digest::digest
    - usize::from
    linkageType: ''
    returnType: '!'
    signature: extern "C" fn _start() -> !
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::env::var_os
      Src: /src/spdm-rs/external/ring/build.rs:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - '&''static str'
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: env::var_os
    functionSourceFile: /src/spdm-rs/external/ring/build.rs
    functionUses: 4
    functionsReached:
    - std::env::var_os
    linkageType: ''
    returnType: Option
    signature: 'pub fn var_os(name: &''static str) -> Option<OsString>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: var_os
      Src: /src/spdm-rs/external/ring/build.rs:43,1
    - Dst: Option::and_then
      Src: /src/spdm-rs/external/ring/build.rs:43,1
    - Dst: u8::into_string
      Src: /src/spdm-rs/external/ring/build.rs:43,1
    - Dst: ok
      Src: /src/spdm-rs/external/ring/build.rs:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - '&''static str'
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 9
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: env::var
    functionSourceFile: /src/spdm-rs/external/ring/build.rs
    functionUses: 18
    functionsReached:
    - ok
    - var_os
    - Option::and_then
    - u8::into_string
    linkageType: ''
    returnType: Option
    signature: 'pub fn var(name: &''static str) -> Option<String>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&cc::Tool::is_like_msvc'
      Src: /src/spdm-rs/external/ring/build.rs:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - compiler
    argTypes:
    - '&cc::Tool'
    constantsTouched: []
    func_position:
      end: 168
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 168
    functionName: cpp_flags
    functionSourceFile: /src/spdm-rs/external/ring/build.rs
    functionUses: 1
    functionsReached:
    - '&cc::Tool::is_like_msvc'
    linkageType: ''
    returnType: '&''static [&''static str]'
    signature: 'fn cpp_flags(compiler: &cc::Tool) -> &''static [&''static str]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/spdm-rs/external/ring/build.rs:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 239
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 239
    functionName: AsmTarget::use_nasm
    functionSourceFile: /src/spdm-rs/external/ring/build.rs
    functionUses: 1
    functionsReached:
    - contains
    linkageType: ''
    returnType: bool
    signature: fn use_nasm(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: env::var_os
      Src: /src/spdm-rs/external/ring/build.rs:306,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/ring/build.rs:306,1
    - Dst: PathBuf::from
      Src: /src/spdm-rs/external/ring/build.rs:307,1
    - Dst: env::var
      Src: /src/spdm-rs/external/ring/build.rs:309,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/ring/build.rs:309,1
    - Dst: env::var
      Src: /src/spdm-rs/external/ring/build.rs:310,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/ring/build.rs:310,1
    - Dst: env::var
      Src: /src/spdm-rs/external/ring/build.rs:311,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/ring/build.rs:311,1
    - Dst: env::var
      Src: /src/spdm-rs/external/ring/build.rs:312,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/ring/build.rs:312,1
    - Dst: fs::metadata
      Src: /src/spdm-rs/external/ring/build.rs:315,1
    - Dst: '&Path::join'
      Src: /src/spdm-rs/external/ring/build.rs:315,1
    - Dst: is_ok
      Src: /src/spdm-rs/external/ring/build.rs:315,1
    - Dst: env::var
      Src: /src/spdm-rs/external/ring/build.rs:318,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/ring/build.rs:318,1
    - Dst: iter
      Src: /src/spdm-rs/external/ring/build.rs:335,1
    - Dst: find
      Src: /src/spdm-rs/external/ring/build.rs:335,1
    - Dst: contains
      Src: /src/spdm-rs/external/ring/build.rs:336,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/build.rs:336,1
    - Dst: '&Path::join'
      Src: /src/spdm-rs/external/ring/build.rs:351,1
    - Dst: generate_sources_and_preassemble
      Src: /src/spdm-rs/external/ring/build.rs:353,1
    - Dst: into_iter
      Src: /src/spdm-rs/external/ring/build.rs:355,1
    - Dst: Self::clone
      Src: /src/spdm-rs/external/ring/build.rs:359,1
    - Dst: build_c_code
      Src: /src/spdm-rs/external/ring/build.rs:362,1
    - Dst: emit_rerun_if_changed
      Src: /src/spdm-rs/external/ring/build.rs:370,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 62
    argCount: 2
    argNames:
    - c_root_dir
    - core_name_and_version
    argTypes:
    - '&Path'
    - '&str'
    constantsTouched: []
    func_position:
      end: 371
      start: 305
    functionDepth: 12
    functionLinenumber: 305
    functionLinenumberEnd: 371
    functionName: ring_build_rs_main
    functionSourceFile: /src/spdm-rs/external/ring/build.rs
    functionUses: 1
    functionsReached:
    - '&Path::join'
    - generate_sources_and_preassemble
    - into_iter
    - env::var_os
    - emit_rerun_if_changed
    - PathBuf::from
    - iter
    - Option::unwrap
    - contains
    - Self::clone
    - fs::metadata
    - env::var
    - build_c_code
    - as_ref
    - is_ok
    - find
    linkageType: ''
    returnType: void
    signature: 'fn ring_build_rs_main(c_root_dir: &Path, core_name_and_version: &str)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&Path::join'
      Src: /src/spdm-rs/external/ring/build.rs:374,1
    - Dst: fs::create_dir
      Src: /src/spdm-rs/external/ring/build.rs:375,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/ring/build.rs:375,1
    - Dst: generate_sources_and_preassemble
      Src: /src/spdm-rs/external/ring/build.rs:376,1
    - Dst: iter
      Src: /src/spdm-rs/external/ring/build.rs:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - c_root_dir
    - core_name_and_version
    argTypes:
    - '&Path'
    - '&str'
    constantsTouched: []
    func_position:
      end: 382
      start: 373
    functionDepth: 9
    functionLinenumber: 373
    functionLinenumberEnd: 382
    functionName: pregenerate_asm_main
    functionSourceFile: /src/spdm-rs/external/ring/build.rs
    functionUses: 1
    functionsReached:
    - '&Path::join'
    - generate_sources_and_preassemble
    - fs::create_dir
    - unwrap
    - iter
    linkageType: ''
    returnType: void
    signature: 'fn pregenerate_asm_main(c_root_dir: &Path, core_name_and_version:
      &str)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_prefix_symbols_headers
      Src: /src/spdm-rs/external/ring/build.rs:390,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/build.rs:390,1
    - Dst: get_perl_exe
      Src: /src/spdm-rs/external/ring/build.rs:392,1
    - Dst: perlasm_src_dsts
      Src: /src/spdm-rs/external/ring/build.rs:395,1
    - Dst: perlasm
      Src: /src/spdm-rs/external/ring/build.rs:396,1
    - Dst: use_nasm
      Src: /src/spdm-rs/external/ring/build.rs:398,1
    - Dst: asm_srcs
      Src: /src/spdm-rs/external/ring/build.rs:402,1
    - Dst: nasm
      Src: /src/spdm-rs/external/ring/build.rs:404,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 4
    argNames:
    - out_dir
    - asm_targets
    - c_root_dir
    - core_name_and_version
    argTypes:
    - '&Path'
    - impl Iterator<Item = &'a AsmTarget>
    - '&Path'
    - '&str'
    constantsTouched: []
    func_position:
      end: 408
      start: 384
    functionDepth: 8
    functionLinenumber: 384
    functionLinenumberEnd: 408
    functionName: generate_sources_and_preassemble
    functionSourceFile: /src/spdm-rs/external/ring/build.rs
    functionUses: 2
    functionsReached:
    - perlasm_src_dsts
    - generate_prefix_symbols_headers
    - perlasm
    - asm_srcs
    - get_perl_exe
    - use_nasm
    - Result::unwrap
    - nasm
    linkageType: ''
    returnType: void
    signature: 'fn generate_sources_and_preassemble<''a>(out_dir: &Path,asm_targets:
      impl Iterator<Item = &''a AsmTarget>,c_root_dir: &Path,core_name_and_version:
      &str,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: perlasm_src_dsts
      Src: /src/spdm-rs/external/ring/build.rs:433,1
    - Dst: asm_srcs
      Src: /src/spdm-rs/external/ring/build.rs:435,1
    - Dst: Option<&AsmTarget>::use_nasm
      Src: /src/spdm-rs/external/ring/build.rs:437,1
    - Dst: Vec::iter
      Src: /src/spdm-rs/external/ring/build.rs:440,1
    - Dst: Self::IntoIter::map
      Src: /src/spdm-rs/external/ring/build.rs:440,1
    - Dst: obj_path
      Src: /src/spdm-rs/external/ring/build.rs:442,1
    - Dst: as_path
      Src: /src/spdm-rs/external/ring/build.rs:442,1
    - Dst: "iter()\n                .map(|src| obj_path(generated_dir, src.as_path()))\n\
        \                .collect::<Vec<_>>"
      Src: /src/spdm-rs/external/ring/build.rs:440,1
    - Dst: sources_for_arch
      Src: /src/spdm-rs/external/ring/build.rs:452,1
    - Dst: Vec::into_iter
      Src: /src/spdm-rs/external/ring/build.rs:452,1
    - Dst: Self::IntoIter::filter
      Src: /src/spdm-rs/external/ring/build.rs:452,1
    - Dst: is_perlasm
      Src: /src/spdm-rs/external/ring/build.rs:454,1
    - Dst: filter
      Src: /src/spdm-rs/external/ring/build.rs:452,1
    - Dst: extension
      Src: /src/spdm-rs/external/ring/build.rs:456,1
    - Dst: "arch)\n        .into_iter()\n        .filter(|p| !is_perlasm(p))\n   \
        \     .filter(|p| {\n            if let Some(extension) = p.extension() {\n\
        \                // We don't (and can't) use any .S on Windows since MSVC\
        \ and NASM can't assemble\n                // them.\n                if extension\
        \ == \"S\"\n                    && (target.arch == X86_64 || target.arch ==\
        \ X86)\n                    && target.os == WINDOWS\n                {\n \
        \                   return false;\n                }\n            }\n    \
        \        true\n        })\n        .collect::<Vec<_>>"
      Src: /src/spdm-rs/external/ring/build.rs:452,1
    - Dst: iter
      Src: /src/spdm-rs/external/ring/build.rs:470,1
    - Dst: map
      Src: /src/spdm-rs/external/ring/build.rs:470,1
    - Dst: iter().map(PathBuf::from).collect::<Vec<_>>
      Src: /src/spdm-rs/external/ring/build.rs:470,1
    - Dst: String::from
      Src: /src/spdm-rs/external/ring/build.rs:480,1
    - Dst: iter
      Src: /src/spdm-rs/external/ring/build.rs:489,1
    - Dst: for_each
      Src: /src/spdm-rs/external/ring/build.rs:489,1
    - Dst: Vec::iter
      Src: /src/spdm-rs/external/ring/build.rs:491,1
    - Dst: Self::IntoIter::chain
      Src: /src/spdm-rs/external/ring/build.rs:491,1
    - Dst: build_library
      Src: /src/spdm-rs/external/ring/build.rs:492,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 95
    argCount: 6
    argNames:
    - asm_target
    - target
    - generated_dir
    - c_root_dir
    - out_dir
    - core_name_and_version
    argTypes:
    - Option<&AsmTarget>
    - '&Target'
    - '&Path'
    - '&Path'
    - '&Path'
    - '&str'
    constantsTouched: []
    func_position:
      end: 507
      start: 424
    functionDepth: 15
    functionLinenumber: 424
    functionLinenumberEnd: 507
    functionName: build_c_code
    functionSourceFile: /src/spdm-rs/external/ring/build.rs
    functionUses: 1
    functionsReached:
    - "arch)\n        .into_iter()\n        .filter(|p| !is_perlasm(p))\n        .filter(|p|\
      \ {\n            if let Some(extension) = p.extension() {\n                //\
      \ We don't (and can't) use any .S on Windows since MSVC and NASM can't assemble\n\
      \                // them.\n                if extension == \"S\"\n         \
      \           && (target.arch == X86_64 || target.arch == X86)\n             \
      \       && target.os == WINDOWS\n                {\n                    return\
      \ false;\n                }\n            }\n            true\n        })\n \
      \       .collect::<Vec<_>>"
    - "iter()\n                .map(|src| obj_path(generated_dir, src.as_path()))\n\
      \                .collect::<Vec<_>>"
    - map
    - for_each
    - is_perlasm
    - sources_for_arch
    - asm_srcs
    - Self::IntoIter::chain
    - String::from
    - perlasm_src_dsts
    - as_path
    - filter
    - Self::IntoIter::filter
    - iter().map(PathBuf::from).collect::<Vec<_>>
    - obj_path
    - Option<&AsmTarget>::use_nasm
    - build_library
    - extension
    - iter
    - Vec::into_iter
    - Self::IntoIter::map
    - Vec::iter
    linkageType: ''
    returnType: void
    signature: 'fn build_c_code(asm_target: Option<&AsmTarget>,target: &Target,generated_dir:
      &Path,c_root_dir: &Path,out_dir: &Path,core_name_and_version: &str,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cc::Build::new
      Src: /src/spdm-rs/external/ring/build.rs:510,1
    - Dst: configure_cc
      Src: /src/spdm-rs/external/ring/build.rs:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - target
    - c_root_dir
    - include_dir
    argTypes:
    - '&Target'
    - '&Path'
    - '&Path'
    constantsTouched: []
    func_position:
      end: 513
      start: 509
    functionDepth: 14
    functionLinenumber: 509
    functionLinenumberEnd: 513
    functionName: new_build
    functionSourceFile: /src/spdm-rs/external/ring/build.rs
    functionUses: 1
    functionsReached:
    - configure_cc
    - cc::Build::new
    linkageType: ''
    returnType: cc::Build
    signature: 'fn new_build(target: &Target, c_root_dir: &Path, include_dir: &Path)
      -> cc::Build'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_build
      Src: /src/spdm-rs/external/ring/build.rs:524,1
    - Dst: Vec::for_each
      Src: /src/spdm-rs/external/ring/build.rs:527,1
    - Dst: bool::file
      Src: /src/spdm-rs/external/ring/build.rs:528,1
    - Dst: '&Path::join'
      Src: /src/spdm-rs/external/ring/build.rs:528,1
    - Dst: '&[PathBuf]::iter'
      Src: /src/spdm-rs/external/ring/build.rs:531,1
    - Dst: Self::IntoIter::for_each
      Src: /src/spdm-rs/external/ring/build.rs:531,1
    - Dst: bool::object
      Src: /src/spdm-rs/external/ring/build.rs:532,1
    - Dst: PathBuf::from
      Src: /src/spdm-rs/external/ring/build.rs:536,1
    - Dst: Self::join
      Src: /src/spdm-rs/external/ring/build.rs:536,1
    - Dst: bool::cargo_metadata
      Src: /src/spdm-rs/external/ring/build.rs:539,1
    - Dst: bool::compile
      Src: /src/spdm-rs/external/ring/build.rs:541,1
    - Dst: file_name
      Src: /src/spdm-rs/external/ring/build.rs:542,1
    - Dst: and_then
      Src: /src/spdm-rs/external/ring/build.rs:542,1
    - Dst: SpdmCertChainBuffer::to_str
      Src: /src/spdm-rs/external/ring/build.rs:544,1
    - Dst: expect
      Src: /src/spdm-rs/external/ring/build.rs:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    argCount: 7
    argNames:
    - target
    - c_root_dir
    - out_dir
    - lib_name
    - srcs
    - include_dir
    - preassembled_objs
    argTypes:
    - '&Target'
    - '&Path'
    - '&Path'
    - '&str'
    - impl Iterator<Item = &'a PathBuf>
    - '&Path'
    - '&[PathBuf]'
    constantsTouched: []
    func_position:
      end: 551
      start: 515
    functionDepth: 15
    functionLinenumber: 515
    functionLinenumberEnd: 551
    functionName: build_library
    functionSourceFile: /src/spdm-rs/external/ring/build.rs
    functionUses: 1
    functionsReached:
    - '&Path::join'
    - bool::cargo_metadata
    - '&[PathBuf]::iter'
    - SpdmCertChainBuffer::to_str
    - PathBuf::from
    - Vec::for_each
    - bool::object
    - bool::compile
    - expect
    - bool::file
    - Self::IntoIter::for_each
    - new_build
    - file_name
    - and_then
    - Self::join
    linkageType: ''
    returnType: void
    signature: 'fn build_library<''a>(target: &Target,c_root_dir: &Path,out_dir: &Path,lib_name:
      &str,srcs: impl Iterator<Item = &''a PathBuf>,include_dir: &Path,preassembled_objs:
      &[PathBuf],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&Path::join'
      Src: /src/spdm-rs/external/ring/build.rs:554,1
    - Dst: '&Path::file_name'
      Src: /src/spdm-rs/external/ring/build.rs:554,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/ring/build.rs:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - out_dir
    - src
    argTypes:
    - '&Path'
    - '&Path'
    constantsTouched: []
    func_position:
      end: 560
      start: 553
    functionDepth: 5
    functionLinenumber: 553
    functionLinenumberEnd: 560
    functionName: obj_path
    functionSourceFile: /src/spdm-rs/external/ring/build.rs
    functionUses: 2
    functionsReached:
    - '&Path::join'
    - unwrap
    - '&Path::file_name'
    linkageType: ''
    returnType: PathBuf
    signature: 'fn obj_path(out_dir: &Path, src: &Path) -> PathBuf'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::get_compiler
      Src: /src/spdm-rs/external/ring/build.rs:563,1
    - Dst: is_like_clang
      Src: /src/spdm-rs/external/ring/build.rs:565,1
    - Dst: bool::compiler
      Src: /src/spdm-rs/external/ring/build.rs:566,1
    - Dst: bool::get_compiler
      Src: /src/spdm-rs/external/ring/build.rs:567,1
    - Dst: bool::include
      Src: /src/spdm-rs/external/ring/build.rs:572,1
    - Dst: '&Path::join'
      Src: /src/spdm-rs/external/ring/build.rs:572,1
    - Dst: bool::include
      Src: /src/spdm-rs/external/ring/build.rs:573,1
    - Dst: cpp_flags
      Src: /src/spdm-rs/external/ring/build.rs:574,1
    - Dst: bool::flag
      Src: /src/spdm-rs/external/ring/build.rs:575,1
    - Dst: contains
      Src: /src/spdm-rs/external/ring/build.rs:578,1
    - Dst: as_str
      Src: /src/spdm-rs/external/ring/build.rs:578,1
    - Dst: bool::flag
      Src: /src/spdm-rs/external/ring/build.rs:580,1
    - Dst: is_like_msvc
      Src: /src/spdm-rs/external/ring/build.rs:581,1
    - Dst: bool::flag
      Src: /src/spdm-rs/external/ring/build.rs:582,1
    - Dst: bool::define
      Src: /src/spdm-rs/external/ring/build.rs:586,1
    - Dst: is_like_msvc
      Src: /src/spdm-rs/external/ring/build.rs:590,1
    - Dst: is_like_clang_cl
      Src: /src/spdm-rs/external/ring/build.rs:590,1
    - Dst: bool::flag
      Src: /src/spdm-rs/external/ring/build.rs:592,1
    - Dst: is_like_clang
      Src: /src/spdm-rs/external/ring/build.rs:602,1
    - Dst: bool::flag
      Src: /src/spdm-rs/external/ring/build.rs:603,1
    - Dst: bool::flag
      Src: /src/spdm-rs/external/ring/build.rs:605,1
    - Dst: bool::define
      Src: /src/spdm-rs/external/ring/build.rs:606,1
    - Dst: bool::try_get_compiler
      Src: /src/spdm-rs/external/ring/build.rs:613,1
    - Dst: is_like_clang
      Src: /src/spdm-rs/external/ring/build.rs:614,1
    - Dst: bool::define
      Src: /src/spdm-rs/external/ring/build.rs:615,1
    - Dst: bool::flag
      Src: /src/spdm-rs/external/ring/build.rs:616,1
    - Dst: bool::warnings_into_errors
      Src: /src/spdm-rs/external/ring/build.rs:622,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 116
    argCount: 4
    argNames:
    - c
    - target
    - c_root_dir
    - include_dir
    argTypes:
    - '&mut cc::Build'
    - '&Target'
    - '&Path'
    - '&Path'
    constantsTouched: []
    func_position:
      end: 624
      start: 562
    functionDepth: 13
    functionLinenumber: 562
    functionLinenumberEnd: 624
    functionName: configure_cc
    functionSourceFile: /src/spdm-rs/external/ring/build.rs
    functionUses: 1
    functionsReached:
    - '&Path::join'
    - is_like_clang
    - bool::include
    - as_str
    - bool::get_compiler
    - cpp_flags
    - contains
    - bool::warnings_into_errors
    - bool::flag
    - is_like_clang_cl
    - bool::try_get_compiler
    - bool::define
    - is_like_msvc
    - bool::compiler
    linkageType: ''
    returnType: void
    signature: 'fn configure_cc(c: &mut cc::Build, target: &Target, c_root_dir: &Path,
      include_dir: &Path)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: obj_path
      Src: /src/spdm-rs/external/ring/build.rs:627,1
    - Dst: '&Path::as_os_str'
      Src: /src/spdm-rs/external/ring/build.rs:635,1
    - Dst: to_os_string
      Src: /src/spdm-rs/external/ring/build.rs:635,1
    - Dst: '&Path::push'
      Src: /src/spdm-rs/external/ring/build.rs:636,1
    - Dst: OsString::from
      Src: /src/spdm-rs/external/ring/build.rs:636,1
    - Dst: String::from
      Src: /src/spdm-rs/external/ring/build.rs:636,1
    - Dst: Command::new
      Src: /src/spdm-rs/external/ring/build.rs:638,1
    - Dst: bool::arg
      Src: /src/spdm-rs/external/ring/build.rs:639,1
    - Dst: arg
      Src: /src/spdm-rs/external/ring/build.rs:639,1
    - Dst: PathBuf::to_str
      Src: /src/spdm-rs/external/ring/build.rs:641,1
    - Dst: expect
      Src: /src/spdm-rs/external/ring/build.rs:641,1
    - Dst: arg
      Src: /src/spdm-rs/external/ring/build.rs:639,1
    - Dst: arg
      Src: /src/spdm-rs/external/ring/build.rs:639,1
    - Dst: arg
      Src: /src/spdm-rs/external/ring/build.rs:639,1
    - Dst: arg
      Src: /src/spdm-rs/external/ring/build.rs:639,1
    - Dst: arg
      Src: /src/spdm-rs/external/ring/build.rs:639,1
    - Dst: arg
      Src: /src/spdm-rs/external/ring/build.rs:639,1
    - Dst: arg
      Src: /src/spdm-rs/external/ring/build.rs:639,1
    - Dst: arg
      Src: /src/spdm-rs/external/ring/build.rs:639,1
    - Dst: arg
      Src: /src/spdm-rs/external/ring/build.rs:639,1
    - Dst: '&Path::join'
      Src: /src/spdm-rs/external/ring/build.rs:650,1
    - Dst: run_command
      Src: /src/spdm-rs/external/ring/build.rs:651,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 44
    argCount: 5
    argNames:
    - file
    - arch
    - include_dir
    - out_dir
    - c_root_dir
    argTypes:
    - '&Path'
    - '&str'
    - '&Path'
    - '&Path'
    - '&Path'
    constantsTouched: []
    func_position:
      end: 652
      start: 626
    functionDepth: 6
    functionLinenumber: 626
    functionLinenumberEnd: 652
    functionName: nasm
    functionSourceFile: /src/spdm-rs/external/ring/build.rs
    functionUses: 3
    functionsReached:
    - bool::arg
    - '&Path::join'
    - '&Path::as_os_str'
    - run_command
    - '&Path::push'
    - PathBuf::to_str
    - expect
    - to_os_string
    - arg
    - OsString::from
    - obj_path
    - String::from
    - Command::new
    linkageType: ''
    returnType: void
    signature: 'fn nasm(file: &Path, arch: &str, include_dir: &Path, out_dir: &Path,
      c_root_dir: &Path)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Command::new
      Src: /src/spdm-rs/external/ring/build.rs:655,1
    - Dst: Self::args
      Src: /src/spdm-rs/external/ring/build.rs:656,1
    - Dst: run_command
      Src: /src/spdm-rs/external/ring/build.rs:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - command_name
    - args
    argTypes:
    - '&Path'
    - '&[OsString]'
    constantsTouched: []
    func_position:
      end: 658
      start: 654
    functionDepth: 2
    functionLinenumber: 654
    functionLinenumberEnd: 658
    functionName: run_command_with_args
    functionSourceFile: /src/spdm-rs/external/ring/build.rs
    functionUses: 1
    functionsReached:
    - run_command
    - Command::new
    - Self::args
    linkageType: ''
    returnType: void
    signature: 'fn run_command_with_args(command_name: &Path, args: &[OsString])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Command::stderr
      Src: /src/spdm-rs/external/ring/build.rs:662,1
    - Dst: Stdio::inherit
      Src: /src/spdm-rs/external/ring/build.rs:662,1
    - Dst: Command::status
      Src: /src/spdm-rs/external/ring/build.rs:663,1
    - Dst: unwrap_or_else
      Src: /src/spdm-rs/external/ring/build.rs:663,1
    - Dst: success
      Src: /src/spdm-rs/external/ring/build.rs:666,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - Command
    constantsTouched: []
    func_position:
      end: 669
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 669
    functionName: run_command
    functionSourceFile: /src/spdm-rs/external/ring/build.rs
    functionUses: 2
    functionsReached:
    - unwrap_or_else
    - Command::status
    - success
    - Command::stderr
    - Stdio::inherit
    linkageType: ''
    returnType: void
    signature: 'fn run_command(mut cmd: Command)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/external/ring/build.rs:672,1
    - Dst: filter
      Src: /src/spdm-rs/external/ring/build.rs:672,1
    - Dst: is_empty
      Src: /src/spdm-rs/external/ring/build.rs:674,1
    - Dst: contains
      Src: /src/spdm-rs/external/ring/build.rs:674,1
    - Dst: map
      Src: /src/spdm-rs/external/ring/build.rs:672,1
    - Dst: PathBuf::from
      Src: /src/spdm-rs/external/ring/build.rs:675,1
    - Dst: "iter()\n        .filter(|&&(archs, _)| archs.is_empty() || archs.contains(&arch))\n\
        \        .map(|&(_, p)| PathBuf::from(p))\n        .collect::<Vec<_>>"
      Src: /src/spdm-rs/external/ring/build.rs:672,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - arch
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 677
      start: 671
    functionDepth: 8
    functionLinenumber: 671
    functionLinenumberEnd: 677
    functionName: sources_for_arch
    functionSourceFile: /src/spdm-rs/external/ring/build.rs
    functionUses: 2
    functionsReached:
    - is_empty
    - filter
    - PathBuf::from
    - iter
    - contains
    - map
    - "iter()\n        .filter(|&&(archs, _)| archs.is_empty() || archs.contains(&arch))\n\
      \        .map(|&(_, p)| PathBuf::from(p))\n        .collect::<Vec<_>>"
    linkageType: ''
    returnType: Vec
    signature: 'fn sources_for_arch(arch: &str) -> Vec<PathBuf>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sources_for_arch
      Src: /src/spdm-rs/external/ring/build.rs:680,1
    - Dst: Vec::iter
      Src: /src/spdm-rs/external/ring/build.rs:681,1
    - Dst: Self::IntoIter::filter
      Src: /src/spdm-rs/external/ring/build.rs:681,1
    - Dst: is_perlasm
      Src: /src/spdm-rs/external/ring/build.rs:683,1
    - Dst: map
      Src: /src/spdm-rs/external/ring/build.rs:681,1
    - Dst: clone
      Src: /src/spdm-rs/external/ring/build.rs:684,1
    - Dst: asm_path
      Src: /src/spdm-rs/external/ring/build.rs:684,1
    - Dst: "iter()\n        .filter(|p| is_perlasm(p))\n        .map(|src| (src.clone(),\
        \ asm_path(out_dir, src, asm_target)))\n        .collect::<Vec<_>>"
      Src: /src/spdm-rs/external/ring/build.rs:681,1
    - Dst: PathBuf::from
      Src: /src/spdm-rs/external/ring/build.rs:692,1
    - Dst: Vec::contains
      Src: /src/spdm-rs/external/ring/build.rs:693,1
    - Dst: PathBuf::from
      Src: /src/spdm-rs/external/ring/build.rs:694,1
    - Dst: Vec::push
      Src: /src/spdm-rs/external/ring/build.rs:695,1
    - Dst: asm_path
      Src: /src/spdm-rs/external/ring/build.rs:697,1
    - Dst: maybe_synthesize
      Src: /src/spdm-rs/external/ring/build.rs:701,1
    - Dst: maybe_synthesize
      Src: /src/spdm-rs/external/ring/build.rs:702,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 35
    argCount: 2
    argNames:
    - out_dir
    - asm_target
    argTypes:
    - '&Path'
    - '&AsmTarget'
    constantsTouched: []
    func_position:
      end: 706
      start: 679
    functionDepth: 9
    functionLinenumber: 679
    functionLinenumberEnd: 706
    functionName: perlasm_src_dsts
    functionSourceFile: /src/spdm-rs/external/ring/build.rs
    functionUses: 2
    functionsReached:
    - sources_for_arch
    - clone
    - maybe_synthesize
    - Vec::push
    - Self::IntoIter::filter
    - PathBuf::from
    - asm_path
    - "iter()\n        .filter(|p| is_perlasm(p))\n        .map(|src| (src.clone(),\
      \ asm_path(out_dir, src, asm_target)))\n        .collect::<Vec<_>>"
    - map
    - Vec::contains
    - Vec::iter
    - is_perlasm
    linkageType: ''
    returnType: Vec
    signature: 'fn perlasm_src_dsts(out_dir: &Path, asm_target: &AsmTarget) -> Vec<(PathBuf,
      PathBuf)>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::into_iter
      Src: /src/spdm-rs/external/ring/build.rs:709,1
    - Dst: Self::IntoIter::map
      Src: /src/spdm-rs/external/ring/build.rs:709,1
    - Dst: "into_iter()\n        .map(|(_src, dst)| dst)\n        .collect::<Vec<_>>"
      Src: /src/spdm-rs/external/ring/build.rs:709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - perlasm_src_dsts
    argTypes:
    - Vec<(PathBuf, PathBuf)>
    constantsTouched: []
    func_position:
      end: 713
      start: 708
    functionDepth: 2
    functionLinenumber: 708
    functionLinenumberEnd: 713
    functionName: asm_srcs
    functionSourceFile: /src/spdm-rs/external/ring/build.rs
    functionUses: 2
    functionsReached:
    - Vec::into_iter
    - "into_iter()\n        .map(|(_src, dst)| dst)\n        .collect::<Vec<_>>"
    - Self::IntoIter::map
    linkageType: ''
    returnType: Vec
    signature: 'fn asm_srcs(perlasm_src_dsts: Vec<(PathBuf, PathBuf)>) -> Vec<PathBuf>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String::extension
      Src: /src/spdm-rs/external/ring/build.rs:716,1
    - Dst: Self::unwrap
      Src: /src/spdm-rs/external/ring/build.rs:716,1
    - Dst: Result::to_str
      Src: /src/spdm-rs/external/ring/build.rs:716,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/ring/build.rs:716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - path
    argTypes:
    - '&Path'
    constantsTouched: []
    func_position:
      end: 717
      start: 715
    functionDepth: 5
    functionLinenumber: 715
    functionLinenumberEnd: 717
    functionName: is_perlasm
    functionSourceFile: /src/spdm-rs/external/ring/build.rs
    functionUses: 2
    functionsReached:
    - unwrap
    - String::extension
    - Result::to_str
    - Self::unwrap
    linkageType: ''
    returnType: bool
    signature: 'fn is_perlasm(path: &Path) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&Path::file_stem'
      Src: /src/spdm-rs/external/ring/build.rs:720,1
    - Dst: expect
      Src: /src/spdm-rs/external/ring/build.rs:720,1
    - Dst: to_str
      Src: /src/spdm-rs/external/ring/build.rs:722,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/ring/build.rs:722,1
    - Dst: '&AsmTarget::use_nasm'
      Src: /src/spdm-rs/external/ring/build.rs:724,1
    - Dst: '&Path::join'
      Src: /src/spdm-rs/external/ring/build.rs:725,1
    - Dst: with_extension
      Src: /src/spdm-rs/external/ring/build.rs:725,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - out_dir
    - src
    - asm_target
    argTypes:
    - '&Path'
    - '&Path'
    - '&AsmTarget'
    constantsTouched: []
    func_position:
      end: 726
      start: 719
    functionDepth: 5
    functionLinenumber: 719
    functionLinenumberEnd: 726
    functionName: asm_path
    functionSourceFile: /src/spdm-rs/external/ring/build.rs
    functionUses: 1
    functionsReached:
    - '&Path::join'
    - to_str
    - unwrap
    - '&Path::file_stem'
    - with_extension
    - '&AsmTarget::use_nasm'
    - expect
    linkageType: ''
    returnType: PathBuf
    signature: 'fn asm_path(out_dir: &Path, src: &Path, asm_target: &AsmTarget) ->
      PathBuf'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/spdm-rs/external/ring/build.rs:740,1
    - Dst: '&str::into'
      Src: /src/spdm-rs/external/ring/build.rs:740,1
    - Dst: push
      Src: /src/spdm-rs/external/ring/build.rs:744,1
    - Dst: join_components_with_forward_slashes
      Src: /src/spdm-rs/external/ring/build.rs:744,1
    - Dst: run_command_with_args
      Src: /src/spdm-rs/external/ring/build.rs:745,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - perl_exe
    - src_dst
    - asm_target
    - c_root_dir
    argTypes:
    - '&Path'
    - '&[(PathBuf, PathBuf)]'
    - '&AsmTarget'
    - '&Path'
    constantsTouched: []
    func_position:
      end: 747
      start: 728
    functionDepth: 7
    functionLinenumber: 728
    functionLinenumberEnd: 747
    functionName: perlasm
    functionSourceFile: /src/spdm-rs/external/ring/build.rs
    functionUses: 3
    functionsReached:
    - run_command_with_args
    - '&str::into'
    - join_components_with_forward_slashes
    - push
    linkageType: ''
    returnType: void
    signature: 'fn perlasm(perl_exe: &Path,src_dst: &[(PathBuf, PathBuf)],asm_target:
      &AsmTarget,c_root_dir: &Path,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String::components
      Src: /src/spdm-rs/external/ring/build.rs:750,1
    - Dst: Self::map
      Src: /src/spdm-rs/external/ring/build.rs:750,1
    - Dst: bool::as_os_str
      Src: /src/spdm-rs/external/ring/build.rs:750,1
    - Dst: components().map(|c| c.as_os_str()).collect::<Vec<_>>
      Src: /src/spdm-rs/external/ring/build.rs:750,1
    - Dst: join
      Src: /src/spdm-rs/external/ring/build.rs:751,1
    - Dst: OsStr::new
      Src: /src/spdm-rs/external/ring/build.rs:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - path
    argTypes:
    - '&Path'
    constantsTouched: []
    func_position:
      end: 752
      start: 749
    functionDepth: 8
    functionLinenumber: 749
    functionLinenumberEnd: 752
    functionName: join_components_with_forward_slashes
    functionSourceFile: /src/spdm-rs/external/ring/build.rs
    functionUses: 1
    functionsReached:
    - Self::map
    - bool::as_os_str
    - components().map(|c| c.as_os_str()).collect::<Vec<_>>
    - String::components
    - OsStr::new
    - join
    linkageType: ''
    returnType: OsString
    signature: 'fn join_components_with_forward_slashes(path: &Path) -> OsString'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_command
      Src: /src/spdm-rs/external/ring/build.rs:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 756
      start: 754
    functionDepth: 5
    functionLinenumber: 754
    functionLinenumberEnd: 756
    functionName: get_perl_exe
    functionSourceFile: /src/spdm-rs/external/ring/build.rs
    functionUses: 1
    functionsReached:
    - get_command
    linkageType: ''
    returnType: PathBuf
    signature: fn get_perl_exe() -> PathBuf
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PathBuf::from
      Src: /src/spdm-rs/external/ring/build.rs:759,1
    - Dst: env::var_os
      Src: /src/spdm-rs/external/ring/build.rs:759,1
    - Dst: Option::unwrap_or_else
      Src: /src/spdm-rs/external/ring/build.rs:759,1
    - Dst: into
      Src: /src/spdm-rs/external/ring/build.rs:759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - var
    - default
    argTypes:
    - '&''static str'
    - '&str'
    constantsTouched: []
    func_position:
      end: 760
      start: 758
    functionDepth: 4
    functionLinenumber: 758
    functionLinenumberEnd: 760
    functionName: get_command
    functionSourceFile: /src/spdm-rs/external/ring/build.rs
    functionUses: 1
    functionsReached:
    - env::var_os
    - PathBuf::from
    - into
    - Option::unwrap_or_else
    linkageType: ''
    returnType: PathBuf
    signature: 'fn get_command(var: &''static str, default: &str) -> PathBuf'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: walk_dir
      Src: /src/spdm-rs/external/ring/build.rs:766,1
    - Dst: PathBuf::from
      Src: /src/spdm-rs/external/ring/build.rs:766,1
    - Dst: '&[Limb]::path'
      Src: /src/spdm-rs/external/ring/build.rs:767,1
    - Dst: String::extension
      Src: /src/spdm-rs/external/ring/build.rs:768,1
    - Dst: Self::and_then
      Src: /src/spdm-rs/external/ring/build.rs:768,1
    - Dst: bool::to_str
      Src: /src/spdm-rs/external/ring/build.rs:768,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 778
      start: 764
    functionDepth: 6
    functionLinenumber: 764
    functionLinenumberEnd: 778
    functionName: emit_rerun_if_changed
    functionSourceFile: /src/spdm-rs/external/ring/build.rs
    functionUses: 1
    functionsReached:
    - bool::to_str
    - walk_dir
    - '&[Limb]::path'
    - PathBuf::from
    - Self::and_then
    - String::extension
    linkageType: ''
    returnType: void
    signature: fn emit_rerun_if_changed()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_dir
      Src: /src/spdm-rs/external/ring/build.rs:781,1
    - Dst: fs::read_dir
      Src: /src/spdm-rs/external/ring/build.rs:782,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/ring/build.rs:782,1
    - Dst: '&[Limb]::unwrap'
      Src: /src/spdm-rs/external/ring/build.rs:783,1
    - Dst: '&[Limb]::path'
      Src: /src/spdm-rs/external/ring/build.rs:784,1
    - Dst: String::is_dir
      Src: /src/spdm-rs/external/ring/build.rs:785,1
    - Dst: walk_dir
      Src: /src/spdm-rs/external/ring/build.rs:786,1
    - Dst: cb
      Src: /src/spdm-rs/external/ring/build.rs:788,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - dir
    - cb
    argTypes:
    - '&Path'
    - '&impl Fn(&DirEntry)'
    constantsTouched: []
    func_position:
      end: 792
      start: 780
    functionDepth: 5
    functionLinenumber: 780
    functionLinenumberEnd: 792
    functionName: walk_dir
    functionSourceFile: /src/spdm-rs/external/ring/build.rs
    functionUses: 2
    functionsReached:
    - String::is_dir
    - walk_dir
    - '&[Limb]::path'
    - fs::read_dir
    - unwrap
    - cb
    - is_dir
    - '&[Limb]::unwrap'
    linkageType: ''
    returnType: void
    signature: 'fn walk_dir(dir: &Path, cb: &impl Fn(&DirEntry))'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String::from
      Src: /src/spdm-rs/external/ring/build.rs:802,1
    - Dst: generate_prefix_symbols_header
      Src: /src/spdm-rs/external/ring/build.rs:804,1
    - Dst: generate_prefix_symbols_header
      Src: /src/spdm-rs/external/ring/build.rs:806,1
    - Dst: Some
      Src: /src/spdm-rs/external/ring/build.rs:810,1
    - Dst: generate_prefix_symbols_header
      Src: /src/spdm-rs/external/ring/build.rs:814,1
    - Dst: Some
      Src: /src/spdm-rs/external/ring/build.rs:818,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/build.rs:822,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - out_dir
    - core_name_and_version
    argTypes:
    - '&Path'
    - '&str'
    constantsTouched: []
    func_position:
      end: 823
      start: 798
    functionDepth: 2
    functionLinenumber: 798
    functionLinenumberEnd: 823
    functionName: generate_prefix_symbols_headers
    functionSourceFile: /src/spdm-rs/external/ring/build.rs
    functionUses: 1
    functionsReached:
    - generate_prefix_symbols_header
    - String::from
    - Ok
    - Some
    linkageType: ''
    returnType: Result
    signature: 'fn generate_prefix_symbols_headers(out_dir: &Path,core_name_and_version:
      &str,) -> Result<(), std::io::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&Path::join'
      Src: /src/spdm-rs/external/ring/build.rs:832,1
    - Dst: fs::create_dir_all
      Src: /src/spdm-rs/external/ring/build.rs:833,1
    - Dst: join
      Src: /src/spdm-rs/external/ring/build.rs:835,1
    - Dst: fs::File::create
      Src: /src/spdm-rs/external/ring/build.rs:836,1
    - Dst: '&str::replace'
      Src: /src/spdm-rs/external/ring/build.rs:838,1
    - Dst: to_uppercase
      Src: /src/spdm-rs/external/ring/build.rs:838,1
    - Dst: Option<&str>::is_some
      Src: /src/spdm-rs/external/ring/build.rs:855,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/build.rs:861,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 5
    argNames:
    - out_dir
    - filename
    - pp
    - prefix_condition
    - prefix
    argTypes:
    - '&Path'
    - '&str'
    - char
    - Option<&str>
    - '&str'
    constantsTouched: []
    func_position:
      end: 862
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 862
    functionName: generate_prefix_symbols_header
    functionSourceFile: /src/spdm-rs/external/ring/build.rs
    functionUses: 1
    functionsReached:
    - '&Path::join'
    - Option<&str>::is_some
    - fs::create_dir_all
    - '&str::replace'
    - fs::File::create
    - to_uppercase
    - join
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn generate_prefix_symbols_header(out_dir: &Path,filename: &str,pp:
      char,prefix_condition: Option<&str>,prefix: &str,) -> Result<(), std::io::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String::new
      Src: /src/spdm-rs/external/ring/build.rs:1035,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - pp
    - prefix_prefix
    - prefix
    argTypes:
    - char
    - '&str'
    - '&str'
    constantsTouched: []
    func_position:
      end: 1060
      start: 864
    functionDepth: 1
    functionLinenumber: 864
    functionLinenumberEnd: 1060
    functionName: prefix_all_symbols
    functionSourceFile: /src/spdm-rs/external/ring/build.rs
    functionUses: 0
    functionsReached:
    - String::new
    linkageType: ''
    returnType: String
    signature: 'fn prefix_all_symbols(pp: char, prefix_prefix: &str, prefix: &str)
      -> String'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::compile_time_assert_std_error_error::<error::Unspecified>
      Src: /src/spdm-rs/external/ring/tests/error_tests.rs:10,1
    - Dst: test::compile_time_assert_std_error_error::<error::KeyRejected>
      Src: /src/spdm-rs/external/ring/tests/error_tests.rs:11,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 12
    functionName: error_impl_std_error_error_test
    functionSourceFile: /src/spdm-rs/external/ring/tests/error_tests.rs
    functionUses: 0
    functionsReached:
    - test::compile_time_assert_std_error_error::<error::Unspecified>
    - test::compile_time_assert_std_error_error::<error::KeyRejected>
    linkageType: ''
    returnType: void
    signature: fn error_impl_std_error_error_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_ed25519_from_pkcs8_
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 9
    functionLinenumber: 131
    functionLinenumberEnd: 136
    functionName: test_ed25519_from_pkcs8_unchecked
    functionSourceFile: /src/spdm-rs/external/ring/tests/ed25519_tests.rs
    functionUses: 0
    functionsReached:
    - test_ed25519_from_pkcs8_
    linkageType: ''
    returnType: void
    signature: fn test_ed25519_from_pkcs8_unchecked()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:148,1
    - Dst: ring::test_file
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:149,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:152,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:154,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:155,1
    - Dst: Some
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:163,1
    - Dst: Option::consume_optional_bytes
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:167,1
    - Dst: Self::is_none
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:168,1
    - Dst: Some
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:169,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:169,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:189,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 2
    argNames:
    - variant
    - f
    argTypes:
    - FromPkcs8Variant
    - impl Fn(&[u8]) -> Result<Ed25519KeyPair, error::KeyRejected>
    constantsTouched: []
    func_position:
      end: 192
      start: 143
    functionDepth: 8
    functionLinenumber: 143
    functionLinenumberEnd: 192
    functionName: test_ed25519_from_pkcs8_
    functionSourceFile: /src/spdm-rs/external/ring/tests/ed25519_tests.rs
    functionUses: 2
    functionsReached:
    - Option::consume_string
    - ring::test_file
    - Option::consume_optional_bytes
    - Self::is_none
    - Option::unwrap
    - Option::consume_bytes
    - test::run
    - Ok
    - Some
    linkageType: ''
    returnType: void
    signature: 'fn test_ed25519_from_pkcs8_(variant: FromPkcs8Variant,f: impl Fn(&[u8])
      -> Result<Ed25519KeyPair, error::KeyRejected>,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand::SystemRandom::new
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:196,1
    - Dst: Ed25519KeyPair::generate_pkcs8
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:197,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:197,1
    - Dst: u64::as_ref
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:198,1
    - Dst: Ed25519KeyPair::from_pkcs8
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:200,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/tests/ed25519_tests.rs:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 195
    functionDepth: 15
    functionLinenumber: 195
    functionLinenumberEnd: 206
    functionName: ed25519_test_generate_pkcs8
    functionSourceFile: /src/spdm-rs/external/ring/tests/ed25519_tests.rs
    functionUses: 0
    functionsReached:
    - Ed25519KeyPair::generate_pkcs8
    - Result::unwrap
    - u64::as_ref
    - Ed25519KeyPair::from_pkcs8
    - rand::SystemRandom::new
    linkageType: ''
    returnType: void
    signature: fn ed25519_test_generate_pkcs8()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand::SystemRandom::new
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:141,1
    - Dst: rsa::KeyPair::from_der
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:145,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:145,1
    - Dst: Option::public
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:151,1
    - Dst: '&PublicKey::modulus_len'
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 137
    functionDepth: 15
    functionLinenumber: 137
    functionLinenumberEnd: 160
    functionName: test_signature_rsa_pkcs1_sign_output_buffer_len
    functionSourceFile: /src/spdm-rs/external/ring/tests/rsa_tests.rs
    functionUses: 0
    functionsReached:
    - '&PublicKey::modulus_len'
    - rsa::KeyPair::from_der
    - Option::public
    - Result::unwrap
    - rand::SystemRandom::new
    linkageType: ''
    returnType: void
    signature: fn test_signature_rsa_pkcs1_sign_output_buffer_len()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rsa::KeyPair::from_pkcs8
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:317,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:317,1
    - Dst: Option::public_key
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:321,1
    - Dst: test_public_key_coverage
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:323,1
    - Dst: Option::public
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:323,1
    - Dst: test_public_key_coverage
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:325,1
    - Dst: Option::public
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:325,1
    - Dst: '&PublicKey::clone'
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 332
      start: 314
    functionDepth: 18
    functionLinenumber: 314
    functionLinenumberEnd: 332
    functionName: rsa_test_keypair_coverage
    functionSourceFile: /src/spdm-rs/external/ring/tests/rsa_tests.rs
    functionUses: 0
    functionsReached:
    - rsa::KeyPair::from_pkcs8
    - '&PublicKey::clone'
    - Option::public
    - Result::unwrap
    - Option::public_key
    - test_public_key_coverage
    linkageType: ''
    returnType: void
    signature: fn rsa_test_keypair_coverage()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rsa::PublicKeyComponents::<Vec<_>>::from
      Src: /src/spdm-rs/external/ring/tests/rsa_tests.rs:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - '&rsa::PublicKey'
    constantsTouched: []
    func_position:
      end: 348
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 348
    functionName: test_public_key_coverage
    functionSourceFile: /src/spdm-rs/external/ring/tests/rsa_tests.rs
    functionUses: 1
    functionsReached:
    - rsa::PublicKeyComponents::<Vec<_>>::from
    linkageType: ''
    returnType: void
    signature: 'fn test_public_key_coverage(key: &rsa::PublicKey)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::compile_time_assert_clone::<signature::Signature>
      Src: /src/spdm-rs/external/ring/tests/signature_tests.rs:15,1
    - Dst: test::compile_time_assert_copy::<signature::Signature>
      Src: /src/spdm-rs/external/ring/tests/signature_tests.rs:16,1
    - Dst: test::compile_time_assert_send::<signature::Signature>
      Src: /src/spdm-rs/external/ring/tests/signature_tests.rs:17,1
    - Dst: test::compile_time_assert_sync::<signature::Signature>
      Src: /src/spdm-rs/external/ring/tests/signature_tests.rs:18,1
    - Dst: signature::UnparsedPublicKey::new
      Src: /src/spdm-rs/external/ring/tests/signature_tests.rs:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 30
    functionName: signature_impl_test
    functionSourceFile: /src/spdm-rs/external/ring/tests/signature_tests.rs
    functionUses: 0
    functionsReached:
    - signature::UnparsedPublicKey::new
    - test::compile_time_assert_sync::<signature::Signature>
    - test::compile_time_assert_clone::<signature::Signature>
    - test::compile_time_assert_send::<signature::Signature>
    - test::compile_time_assert_copy::<signature::Signature>
    linkageType: ''
    returnType: void
    signature: fn signature_impl_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand::SystemRandom::new
      Src: /src/spdm-rs/external/ring/tests/agreement_tests.rs:77,1
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/tests/agreement_tests.rs:79,1
    - Dst: ring::test_file
      Src: /src/spdm-rs/external/ring/tests/agreement_tests.rs:79,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/ring/tests/agreement_tests.rs:82,1
    - Dst: alg_from_curve_name
      Src: /src/spdm-rs/external/ring/tests/agreement_tests.rs:83,1
    - Dst: agreement::UnparsedPublicKey::new
      Src: /src/spdm-rs/external/ring/tests/agreement_tests.rs:84,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/agreement_tests.rs:84,1
    - Dst: Option::consume_optional_string
      Src: /src/spdm-rs/external/ring/tests/agreement_tests.rs:86,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/agreement_tests.rs:88,1
    - Dst: agreement::EphemeralPrivateKey::generate
      Src: /src/spdm-rs/external/ring/tests/agreement_tests.rs:92,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/agreement_tests.rs:94,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/tests/agreement_tests.rs:95,1
    - Dst: Vec::compute_public_key
      Src: /src/spdm-rs/external/ring/tests/agreement_tests.rs:99,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/tests/agreement_tests.rs:99,1
    - Dst: agreement::agree_ephemeral
      Src: /src/spdm-rs/external/ring/tests/agreement_tests.rs:104,1
    - Dst: agreement::EphemeralPrivateKey::generate
      Src: /src/spdm-rs/external/ring/tests/agreement_tests.rs:113,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/tests/agreement_tests.rs:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 76
    functionDepth: 10
    functionLinenumber: 76
    functionLinenumberEnd: 131
    functionName: agreement_agree_ephemeral
    functionSourceFile: /src/spdm-rs/external/ring/tests/agreement_tests.rs
    functionUses: 0
    functionsReached:
    - Option::consume_string
    - ring::test_file
    - Ok
    - agreement::UnparsedPublicKey::new
    - alg_from_curve_name
    - Option::consume_optional_string
    - agreement::agree_ephemeral
    - Vec::compute_public_key
    - Result::unwrap
    - agreement::EphemeralPrivateKey::generate
    - Option::consume_bytes
    - test::run
    - rand::SystemRandom::new
    linkageType: ''
    returnType: void
    signature: fn agreement_agree_ephemeral()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: x25519
      Src: /src/spdm-rs/external/ring/tests/agreement_tests.rs:145,1
    - Dst: Result::clone_from
      Src: /src/spdm-rs/external/ring/tests/agreement_tests.rs:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - expected_result
    - range
    - k
    - u
    argTypes:
    - '&str'
    - core::ops::Range<usize>
    - '&mut Vec<u8>'
    - '&mut Vec<u8>'
    constantsTouched: []
    func_position:
      end: 150
      start: 138
    functionDepth: 17
    functionLinenumber: 138
    functionLinenumberEnd: 150
    functionName: t::e::s::t::_::a::g::r::e::e::m::e::n::t::_::e::c::d::h::_::x::2::5::5::1::9::_::r::f::c::_::i::t::e::r::a::t::e::d::expect_iterated_x25519
    functionSourceFile: /src/spdm-rs/external/ring/tests/agreement_tests.rs
    functionUses: 0
    functionsReached:
    - Result::clone_from
    - x25519
    linkageType: ''
    returnType: void
    signature: 'fn expect_iterated_x25519(expected_result: &str,range: core::ops::Range<usize>,k:
      &mut Vec<u8>,u: &mut Vec<u8>,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: h
      Src: /src/spdm-rs/external/ring/tests/agreement_tests.rs:135,1
    - Dst: clone
      Src: /src/spdm-rs/external/ring/tests/agreement_tests.rs:136,1
    - Dst: expect_iterated_x25519
      Src: /src/spdm-rs/external/ring/tests/agreement_tests.rs:152,1
    - Dst: expect_iterated_x25519
      Src: /src/spdm-rs/external/ring/tests/agreement_tests.rs:158,1
    - Dst: expect_iterated_x25519
      Src: /src/spdm-rs/external/ring/tests/agreement_tests.rs:168,1
    - Dst: expect_iterated_x25519
      Src: /src/spdm-rs/external/ring/tests/agreement_tests.rs:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 134
    functionDepth: 18
    functionLinenumber: 134
    functionLinenumberEnd: 183
    functionName: test_agreement_ecdh_x25519_rfc_iterated
    functionSourceFile: /src/spdm-rs/external/ring/tests/agreement_tests.rs
    functionUses: 0
    functionsReached:
    - expect_iterated_x25519
    - h
    - clone
    linkageType: ''
    returnType: void
    signature: fn test_agreement_ecdh_x25519_rfc_iterated()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: x25519_
      Src: /src/spdm-rs/external/ring/tests/agreement_tests.rs:186,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/tests/agreement_tests.rs:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - private_key
    - public_key
    argTypes:
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 16
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: x25519
    functionSourceFile: /src/spdm-rs/external/ring/tests/agreement_tests.rs
    functionUses: 6
    functionsReached:
    - Result::unwrap
    - x25519_
    linkageType: ''
    returnType: Vec
    signature: 'fn x25519(private_key: &[u8], public_key: &[u8]) -> Vec<u8>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: agreement::EphemeralPrivateKey::generate
      Src: /src/spdm-rs/external/ring/tests/agreement_tests.rs:192,1
    - Dst: agreement::UnparsedPublicKey::new
      Src: /src/spdm-rs/external/ring/tests/agreement_tests.rs:193,1
    - Dst: agreement::agree_ephemeral
      Src: /src/spdm-rs/external/ring/tests/agreement_tests.rs:194,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/ring/tests/agreement_tests.rs:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - private_key
    - public_key
    argTypes:
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 197
      start: 189
    functionDepth: 15
    functionLinenumber: 189
    functionLinenumberEnd: 197
    functionName: x25519_
    functionSourceFile: /src/spdm-rs/external/ring/tests/agreement_tests.rs
    functionUses: 1
    functionsReached:
    - agreement::UnparsedPublicKey::new
    - Vec::from
    - agreement::agree_ephemeral
    - agreement::EphemeralPrivateKey::generate
    linkageType: ''
    returnType: Result
    signature: 'fn x25519_(private_key: &[u8], public_key: &[u8]) -> Result<Vec<u8>,
      error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::from_hex
      Src: /src/spdm-rs/external/ring/tests/agreement_tests.rs:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 206
      start: 199
    functionDepth: 5
    functionLinenumber: 199
    functionLinenumberEnd: 206
    functionName: h
    functionSourceFile: /src/spdm-rs/external/ring/tests/agreement_tests.rs
    functionUses: 280
    functionsReached:
    - test::from_hex
    linkageType: ''
    returnType: Vec
    signature: 'fn h(s: &str) -> Vec<u8>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - curve_name
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 218
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 218
    functionName: alg_from_curve_name
    functionSourceFile: /src/spdm-rs/external/ring/tests/agreement_tests.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: '&''static agreement::Algorithm'
    signature: 'fn alg_from_curve_name(curve_name: &str) -> &''static agreement::Algorithm'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::key_len
      Src: /src/spdm-rs/external/ring/tests/quic_tests.rs:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - alg
    argTypes:
    - '&''static quic::Algorithm'
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: test_key_len
    functionSourceFile: /src/spdm-rs/external/ring/tests/quic_tests.rs
    functionUses: 1
    functionsReached:
    - Option::key_len
    linkageType: ''
    returnType: void
    signature: 'fn test_key_len(alg: &''static quic::Algorithm)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_aead
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:5,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 32
    functionDepth: 9
    functionLinenumber: 32
    functionLinenumberEnd: 44
    functionName: test_known_answer
    functionSourceFile: /src/spdm-rs/external/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached:
    - test_aead
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::from
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:149,1
    - Dst: seal
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:150,1
    - Dst: aead::Nonce::assume_unique_for_key
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:150,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:152,1
    - Dst: Self::extend_from_slice
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:153,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - tc
    - seal
    argTypes:
    - '&KnownAnswerTestCase'
    - Seal
    constantsTouched: []
    func_position:
      end: 158
      start: 142
    functionDepth: 11
    functionLinenumber: 142
    functionLinenumberEnd: 158
    functionName: test_seal_append_tag
    functionSourceFile: /src/spdm-rs/external/ring/tests/aead_tests.rs
    functionUses: 2
    functionsReached:
    - seal
    - aead::Nonce::assume_unique_for_key
    - Self::extend_from_slice
    - Vec::from
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn test_seal_append_tag<Seal>(tc: &KnownAnswerTestCase,seal: Seal,)
      -> Result<(), error::Unspecified>whereSeal: FnOnce(aead::Nonce, &mut Vec<u8>)
      -> Result<(), error::Unspecified>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::from
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:167,1
    - Dst: seal
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:168,1
    - Dst: aead::Nonce::assume_unique_for_key
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:168,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - tc
    - seal
    argTypes:
    - '&KnownAnswerTestCase'
    - Seal
    constantsTouched: []
    func_position:
      end: 173
      start: 160
    functionDepth: 11
    functionLinenumber: 160
    functionLinenumberEnd: 173
    functionName: test_seal_separate_tag
    functionSourceFile: /src/spdm-rs/external/ring/tests/aead_tests.rs
    functionUses: 2
    functionsReached:
    - Vec::from
    - seal
    - aead::Nonce::assume_unique_for_key
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn test_seal_separate_tag<Seal>(tc: &KnownAnswerTestCase,seal: Seal,)
      -> Result<(), error::Unspecified>whereSeal: Fn(aead::Nonce, &mut [u8]) -> Result<aead::Tag,
      error::Unspecified>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aead::Nonce::assume_unique_for_key
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:183,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:185,1
    - Dst: Self::extend_from_slice
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:186,1
    - Dst: open_in_place
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:188,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - tc
    - open_in_place
    argTypes:
    - '&KnownAnswerTestCase<''_>'
    - OpenInPlace
    constantsTouched: []
    func_position:
      end: 193
      start: 175
    functionDepth: 15
    functionLinenumber: 175
    functionLinenumberEnd: 193
    functionName: test_open_in_place
    functionSourceFile: /src/spdm-rs/external/ring/tests/aead_tests.rs
    functionUses: 2
    functionsReached:
    - aead::Nonce::assume_unique_for_key
    - Self::extend_from_slice
    - Vec::from
    - open_in_place
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn test_open_in_place<OpenInPlace>(tc: &KnownAnswerTestCase<''_>,open_in_place:
      OpenInPlace,) -> Result<(), error::Unspecified>whereOpenInPlace:for<''a> FnOnce(aead::Nonce,
      &''a mut [u8]) -> Result<&''a mut [u8], error::Unspecified>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_less_safe_key
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:199,1
    - Dst: Vec::from
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:201,1
    - Dst: try_into
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:202,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:202,1
    - Dst: aead::Nonce::assume_unique_for_key
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:206,1
    - Dst: bool::open_in_place_separate_tag
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:208,1
    - Dst: Self::len
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:216,1
    - Dst: Self::extend_from_slice
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:217,1
    - Dst: aead::Nonce::assume_unique_for_key
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:219,1
    - Dst: bool::open_in_place_separate_tag
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:221,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 39
    argCount: 2
    argNames:
    - alg
    - tc
    argTypes:
    - '&''static aead::Algorithm'
    - KnownAnswerTestCase
    constantsTouched: []
    func_position:
      end: 228
      start: 195
    functionDepth: 16
    functionLinenumber: 195
    functionLinenumberEnd: 228
    functionName: test_open_in_place_seperate_tag
    functionSourceFile: /src/spdm-rs/external/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached:
    - Self::len
    - unwrap
    - aead::Nonce::assume_unique_for_key
    - make_less_safe_key
    - Self::extend_from_slice
    - Vec::from
    - try_into
    - Ok
    - bool::open_in_place_separate_tag
    linkageType: ''
    returnType: Result
    signature: 'fn test_open_in_place_seperate_tag(alg: &''static aead::Algorithm,tc:
      KnownAnswerTestCase,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:299,1
    - Dst: iter
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:306,1
    - Dst: truncate
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:307,1
    - Dst: resize
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:308,1
    - Dst: extend_from_slice
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:309,1
    - Dst: extend_from_slice
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:310,1
    - Dst: open_within
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:312,1
    - Dst: aead::Nonce::assume_unique_for_key
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:313,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:321,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 46
    argCount: 2
    argNames:
    - tc
    - open_within
    argTypes:
    - '&KnownAnswerTestCase<''_>'
    - OpenWithin
    constantsTouched: []
    func_position:
      end: 322
      start: 230
    functionDepth: 10
    functionLinenumber: 230
    functionLinenumberEnd: 322
    functionName: test_open_within
    functionSourceFile: /src/spdm-rs/external/ring/tests/aead_tests.rs
    functionUses: 2
    functionsReached:
    - open_within
    - extend_from_slice
    - iter
    - aead::Nonce::assume_unique_for_key
    - truncate
    - resize
    - len
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn test_open_within<OpenWithin>(tc: &KnownAnswerTestCase<''_>,open_within:
      OpenWithin,) -> Result<(), error::Unspecified>whereOpenWithin: for<''a> Fn(aead::Nonce,&''a
      mut [u8],RangeFrom<usize>,) -> Result<&''a mut [u8], error::Unspecified>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_seal_append_tag
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:328,1
    - Dst: make_key
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:329,1
    - Dst: bool::seal_in_place_append_tag
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - alg
    - tc
    argTypes:
    - '&''static aead::Algorithm'
    - KnownAnswerTestCase
    constantsTouched: []
    func_position:
      end: 332
      start: 324
    functionDepth: 12
    functionLinenumber: 324
    functionLinenumberEnd: 332
    functionName: sealing_key_seal_in_place_append_tag
    functionSourceFile: /src/spdm-rs/external/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached:
    - bool::seal_in_place_append_tag
    - test_seal_append_tag
    - make_key
    linkageType: ''
    returnType: Result
    signature: 'fn sealing_key_seal_in_place_append_tag(alg: &''static aead::Algorithm,tc:
      KnownAnswerTestCase,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_seal_separate_tag
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:338,1
    - Dst: make_key
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:339,1
    - Dst: bool::seal_in_place_separate_tag
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - alg
    - tc
    argTypes:
    - '&''static aead::Algorithm'
    - KnownAnswerTestCase
    constantsTouched: []
    func_position:
      end: 342
      start: 334
    functionDepth: 12
    functionLinenumber: 334
    functionLinenumberEnd: 342
    functionName: sealing_key_seal_in_place_separate_tag
    functionSourceFile: /src/spdm-rs/external/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached:
    - bool::seal_in_place_separate_tag
    - make_key
    - test_seal_separate_tag
    linkageType: ''
    returnType: Result
    signature: 'fn sealing_key_seal_in_place_separate_tag(alg: &''static aead::Algorithm,tc:
      KnownAnswerTestCase,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_open_in_place
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:348,1
    - Dst: make_key
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:349,1
    - Dst: bool::open_in_place
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - alg
    - tc
    argTypes:
    - '&''static aead::Algorithm'
    - KnownAnswerTestCase
    constantsTouched: []
    func_position:
      end: 352
      start: 344
    functionDepth: 16
    functionLinenumber: 344
    functionLinenumberEnd: 352
    functionName: opening_key_open_in_place
    functionSourceFile: /src/spdm-rs/external/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached:
    - make_key
    - test_open_in_place
    - bool::open_in_place
    linkageType: ''
    returnType: Result
    signature: 'fn opening_key_open_in_place(alg: &''static aead::Algorithm,tc: KnownAnswerTestCase,)
      -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_open_within
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:358,1
    - Dst: make_key
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:359,1
    - Dst: bool::open_within
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - alg
    - tc
    argTypes:
    - '&''static aead::Algorithm'
    - KnownAnswerTestCase
    constantsTouched: []
    func_position:
      end: 362
      start: 354
    functionDepth: 11
    functionLinenumber: 354
    functionLinenumberEnd: 362
    functionName: opening_key_open_within
    functionSourceFile: /src/spdm-rs/external/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached:
    - bool::open_within
    - make_key
    - test_open_within
    linkageType: ''
    returnType: Result
    signature: 'fn opening_key_open_within(alg: &''static aead::Algorithm,tc: KnownAnswerTestCase,)
      -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_seal_append_tag
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:368,1
    - Dst: make_less_safe_key
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:369,1
    - Dst: bool::seal_in_place_append_tag
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - alg
    - tc
    argTypes:
    - '&''static aead::Algorithm'
    - KnownAnswerTestCase
    constantsTouched: []
    func_position:
      end: 372
      start: 364
    functionDepth: 12
    functionLinenumber: 364
    functionLinenumberEnd: 372
    functionName: less_safe_key_seal_in_place_append_tag
    functionSourceFile: /src/spdm-rs/external/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached:
    - make_less_safe_key
    - bool::seal_in_place_append_tag
    - test_seal_append_tag
    linkageType: ''
    returnType: Result
    signature: 'fn less_safe_key_seal_in_place_append_tag(alg: &''static aead::Algorithm,tc:
      KnownAnswerTestCase,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_open_in_place
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:378,1
    - Dst: make_less_safe_key
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:379,1
    - Dst: bool::open_in_place
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - alg
    - tc
    argTypes:
    - '&''static aead::Algorithm'
    - KnownAnswerTestCase
    constantsTouched: []
    func_position:
      end: 382
      start: 374
    functionDepth: 16
    functionLinenumber: 374
    functionLinenumberEnd: 382
    functionName: less_safe_key_open_in_place
    functionSourceFile: /src/spdm-rs/external/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached:
    - make_less_safe_key
    - test_open_in_place
    - bool::open_in_place
    linkageType: ''
    returnType: Result
    signature: 'fn less_safe_key_open_in_place(alg: &''static aead::Algorithm,tc:
      KnownAnswerTestCase,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_seal_separate_tag
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:388,1
    - Dst: make_less_safe_key
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:389,1
    - Dst: bool::seal_in_place_separate_tag
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - alg
    - tc
    argTypes:
    - '&''static aead::Algorithm'
    - KnownAnswerTestCase
    constantsTouched: []
    func_position:
      end: 392
      start: 384
    functionDepth: 12
    functionLinenumber: 384
    functionLinenumberEnd: 392
    functionName: less_safe_key_seal_in_place_separate_tag
    functionSourceFile: /src/spdm-rs/external/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached:
    - bool::seal_in_place_separate_tag
    - make_less_safe_key
    - test_seal_separate_tag
    linkageType: ''
    returnType: Result
    signature: 'fn less_safe_key_seal_in_place_separate_tag(alg: &''static aead::Algorithm,tc:
      KnownAnswerTestCase,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_open_within
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:398,1
    - Dst: make_less_safe_key
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:399,1
    - Dst: bool::open_within
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - alg
    - tc
    argTypes:
    - '&''static aead::Algorithm'
    - KnownAnswerTestCase
    constantsTouched: []
    func_position:
      end: 402
      start: 394
    functionDepth: 11
    functionLinenumber: 394
    functionLinenumberEnd: 402
    functionName: less_safe_key_open_within
    functionSourceFile: /src/spdm-rs/external/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached:
    - bool::open_within
    - make_less_safe_key
    - test_open_within
    linkageType: ''
    returnType: Result
    signature: 'fn less_safe_key_open_within(alg: &''static aead::Algorithm,tc: KnownAnswerTestCase,)
      -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&''static aead::Algorithm::key_len'
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - aead_alg
    argTypes:
    - '&''static aead::Algorithm'
    constantsTouched: []
    func_position:
      end: 429
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 429
    functionName: key_sizes
    functionSourceFile: /src/spdm-rs/external/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached:
    - '&''static aead::Algorithm::key_len'
    linkageType: ''
    returnType: void
    signature: 'fn key_sizes(aead_alg: &''static aead::Algorithm)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::compile_time_assert_send::<aead::Aad<&'_ [u8]>>
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:499,1
    - Dst: test::compile_time_assert_sync::<aead::Aad<&'_ [u8]>>
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:500,1
    - Dst: test::compile_time_assert_copy::<aead::Aad<&'_ [u8]>>
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:501,1
    - Dst: test::compile_time_assert_eq::<aead::Aad<Vec<u8>>>
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:502,1
    - Dst: aead::Aad::from
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 510
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 510
    functionName: aead_test_aad_traits
    functionSourceFile: /src/spdm-rs/external/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached:
    - test::compile_time_assert_copy::<aead::Aad<&'_ [u8]>>
    - test::compile_time_assert_sync::<aead::Aad<&'_ [u8]>>
    - test::compile_time_assert_send::<aead::Aad<&'_ [u8]>>
    - test::compile_time_assert_eq::<aead::Aad<Vec<u8>>>
    - aead::Aad::from
    linkageType: ''
    returnType: void
    signature: fn aead_test_aad_traits()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::compile_time_assert_send::<aead::Nonce>
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:514,1
    - Dst: test::compile_time_assert_sync::<aead::Nonce>
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 516
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 516
    functionName: test_nonce_traits
    functionSourceFile: /src/spdm-rs/external/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached:
    - test::compile_time_assert_send::<aead::Nonce>
    - test::compile_time_assert_sync::<aead::Nonce>
    linkageType: ''
    returnType: void
    signature: fn test_nonce_traits()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::compile_time_assert_send::<aead::Tag>
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:520,1
    - Dst: test::compile_time_assert_sync::<aead::Tag>
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:521,1
    - Dst: test::compile_time_assert_copy::<aead::Tag>
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:523,1
    - Dst: test::compile_time_assert_clone::<aead::Tag>
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:524,1
    - Dst: aead::Tag::from
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 529
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 529
    functionName: test_tag_traits
    functionSourceFile: /src/spdm-rs/external/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached:
    - test::compile_time_assert_copy::<aead::Tag>
    - aead::Tag::from
    - test::compile_time_assert_clone::<aead::Tag>
    - test::compile_time_assert_send::<aead::Tag>
    - test::compile_time_assert_sync::<aead::Tag>
    linkageType: ''
    returnType: void
    signature: fn test_tag_traits()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 531
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 531
    functionName: test_aead_key_traits
    functionSourceFile: /src/spdm-rs/external/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn test_aead_key_traits<T: Send + Sync>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_aead_key_traits::<aead::OpeningKey<OneNonceSequence>>
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:535,1
    - Dst: test_aead_key_traits::<aead::SealingKey<OneNonceSequence>>
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:536,1
    - Dst: test_aead_key_traits::<aead::LessSafeKey>
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 538
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 538
    functionName: test_aead_key_traits_all
    functionSourceFile: /src/spdm-rs/external/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached:
    - test_aead_key_traits::<aead::LessSafeKey>
    - test_aead_key_traits::<aead::OpeningKey<OneNonceSequence>>
    - test_aead_key_traits::<aead::SealingKey<OneNonceSequence>>
    linkageType: ''
    returnType: void
    signature: fn test_aead_key_traits_all()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: collect
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:579,1
    - Dst: key_len
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:580,1
    - Dst: nonce_len
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:581,1
    - Dst: aead::LessSafeKey::new
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:584,1
    - Dst: aead::UnboundKey::new
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:584,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:584,1
    - Dst: Self::clone
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:585,1
    - Dst: collect
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:589,1
    - Dst: clone
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:590,1
    - Dst: Self::seal_in_place_separate_tag
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:591,1
    - Dst: aead::Nonce::try_assume_unique_for_key
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:593,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:593,1
    - Dst: aead::Aad::empty
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:594,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:591,1
    - Dst: BytesMutStrubbed::seal_in_place_separate_tag
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:598,1
    - Dst: aead::Nonce::try_assume_unique_for_key
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:600,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:600,1
    - Dst: aead::Aad::empty
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:601,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - '&''static aead::Algorithm'
    constantsTouched: []
    func_position:
      end: 607
      start: 578
    functionDepth: 15
    functionLinenumber: 578
    functionLinenumberEnd: 607
    functionName: test_aead_lesssafekey_clone_for_algorithm
    functionSourceFile: /src/spdm-rs/external/ring/tests/aead_tests.rs
    functionUses: 3
    functionsReached:
    - aead::Nonce::try_assume_unique_for_key
    - clone
    - aead::UnboundKey::new
    - aead::LessSafeKey::new
    - Result::unwrap
    - nonce_len
    - Self::clone
    - collect
    - aead::Aad::empty
    - BytesMutStrubbed::seal_in_place_separate_tag
    - Self::seal_in_place_separate_tag
    - key_len
    linkageType: ''
    returnType: void
    signature: 'fn test_aead_lesssafekey_clone_for_algorithm(algorithm: &''static
      aead::Algorithm)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_aead_lesssafekey_clone_for_algorithm
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 612
      start: 610
    functionDepth: 16
    functionLinenumber: 610
    functionLinenumberEnd: 612
    functionName: test_aead_lesssafekey_clone_aes_128_gcm
    functionSourceFile: /src/spdm-rs/external/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached:
    - test_aead_lesssafekey_clone_for_algorithm
    linkageType: ''
    returnType: void
    signature: fn test_aead_lesssafekey_clone_aes_128_gcm()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_aead_lesssafekey_clone_for_algorithm
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 617
      start: 615
    functionDepth: 16
    functionLinenumber: 615
    functionLinenumberEnd: 617
    functionName: test_aead_lesssafekey_clone_aes_256_gcm
    functionSourceFile: /src/spdm-rs/external/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached:
    - test_aead_lesssafekey_clone_for_algorithm
    linkageType: ''
    returnType: void
    signature: fn test_aead_lesssafekey_clone_aes_256_gcm()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_aead_lesssafekey_clone_for_algorithm
      Src: /src/spdm-rs/external/ring/tests/aead_tests.rs:621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 622
      start: 620
    functionDepth: 16
    functionLinenumber: 620
    functionLinenumberEnd: 622
    functionName: test_aead_lesssafekey_clone_chacha20_poly1305
    functionSourceFile: /src/spdm-rs/external/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached:
    - test_aead_lesssafekey_clone_for_algorithm
    linkageType: ''
    returnType: void
    signature: fn test_aead_lesssafekey_clone_chacha20_poly1305()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand::generate
      Src: /src/spdm-rs/external/ring/tests/constant_time_tests.rs:33,1
    - Dst: rand::SystemRandom::new
      Src: /src/spdm-rs/external/ring/tests/constant_time_tests.rs:33,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/tests/constant_time_tests.rs:33,1
    - Dst: Result::expose
      Src: /src/spdm-rs/external/ring/tests/constant_time_tests.rs:33,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/tests/constant_time_tests.rs:37,1
    - Dst: T::len
      Src: /src/spdm-rs/external/ring/tests/constant_time_tests.rs:53,1
    - Dst: T::len
      Src: /src/spdm-rs/external/ring/tests/constant_time_tests.rs:58,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/tests/constant_time_tests.rs:67,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/tests/constant_time_tests.rs:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 32
    functionDepth: 17
    functionLinenumber: 32
    functionLinenumberEnd: 78
    functionName: test_verify_slices_are_equal
    functionSourceFile: /src/spdm-rs/external/ring/tests/constant_time_tests.rs
    functionUses: 0
    functionsReached:
    - rand::generate
    - Ok
    - Err
    - Result::unwrap
    - len
    - Result::expose
    - rand::SystemRandom::new
    - T::len
    linkageType: ''
    returnType: void
    signature: fn test_verify_slices_are_equal()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: polyfill::u64_from_usize
      Src: /src/spdm-rs/external/ring/src/bits.rs:56,1
    - Dst: u64::checked_mul
      Src: /src/spdm-rs/external/ring/src/bits.rs:56,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/bits.rs:57,1
    - Dst: Self
      Src: /src/spdm-rs/external/ring/src/bits.rs:57,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/bits.rs:58,1
    - Dst: InputTooLongError::new
      Src: /src/spdm-rs/external/ring/src/bits.rs:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: BitLength::from_byte_len
    functionSourceFile: /src/spdm-rs/external/ring/src/bits.rs
    functionUses: 3
    functionsReached:
    - u64::checked_mul
    - Self
    - Err
    - InputTooLongError::new
    - Ok
    - polyfill::u64_from_usize
    linkageType: ''
    returnType: Result
    signature: 'fn from_byte_len(bytes: usize) -> Result<Self, InputTooLongError<usize>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/ring/src/bits.rs:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - bits
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: BitLength::from_bits
    functionSourceFile: /src/spdm-rs/external/ring/src/bits.rs
    functionUses: 5
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: 'pub const fn from_bits(bits: T) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: BitLength::as_bits
    functionSourceFile: /src/spdm-rs/external/ring/src/bits.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: pub fn as_bits(self) -> T
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/ring/src/bits.rs:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: BitLength::half_rounded_up
    functionSourceFile: /src/spdm-rs/external/ring/src/bits.rs
    functionUses: 2
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: pub(crate) fn half_rounded_up(&self) -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: BitLength::as_usize_bytes_rounded_up
    functionSourceFile: /src/spdm-rs/external/ring/src/bits.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub const fn as_usize_bytes_rounded_up(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checked_sub
      Src: /src/spdm-rs/external/ring/src/bits.rs:104,1
    - Dst: ok_or
      Src: /src/spdm-rs/external/ring/src/bits.rs:104,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/bits.rs:105,1
    - Dst: Self
      Src: /src/spdm-rs/external/ring/src/bits.rs:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: BitLength::try_sub_1
    functionSourceFile: /src/spdm-rs/external/ring/src/bits.rs
    functionUses: 1
    functionsReached:
    - Self
    - Ok
    - ok_or
    - checked_sub
    linkageType: ''
    returnType: Result
    signature: pub(crate) fn try_sub_1(self) -> Result<Self, crate::error::Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_be_bytes
      Src: /src/spdm-rs/external/ring/src/bits.rs:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: BitLength::to_be_bytes
    functionSourceFile: /src/spdm-rs/external/ring/src/bits.rs
    functionUses: 0
    functionsReached:
    - to_be_bytes
    linkageType: ''
    returnType: '[u8; 8]'
    signature: pub fn to_be_bytes(self) -> [u8; 8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BitLength
      Src: /src/spdm-rs/external/ring/src/bits.rs:118,1
    - Dst: polyfill::u64_from_usize
      Src: /src/spdm-rs/external/ring/src/bits.rs:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames: []
    argTypes:
    - BitLength<usize>
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: BitLength::from
    functionSourceFile: /src/spdm-rs/external/ring/src/bits.rs
    functionUses: 0
    functionsReached:
    - polyfill::u64_from_usize
    - BitLength
    linkageType: ''
    returnType: Self
    signature: 'fn from(BitLength(value): BitLength<usize>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::try_into
      Src: /src/spdm-rs/external/ring/src/bits.rs:126,1
    - Dst: Result::map
      Src: /src/spdm-rs/external/ring/src/bits.rs:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames: []
    argTypes:
    - BitLength<u64>
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 6
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: BitLength::try_from
    functionSourceFile: /src/spdm-rs/external/ring/src/bits.rs
    functionUses: 0
    functionsReached:
    - u8::try_into
    - Result::map
    linkageType: ''
    returnType: Result
    signature: 'fn try_from(BitLength(value): BitLength<u64>) -> Result<Self, Self::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/bssl.rs:28,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/bssl.rs:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ret
    argTypes:
    - Result
    constantsTouched: []
    func_position:
      end: 34
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 34
    functionName: core::result::Result::from
    functionSourceFile: /src/spdm-rs/external/ring/src/bssl.rs
    functionUses: 0
    functionsReached:
    - Err
    - Ok
    linkageType: ''
    returnType: Self
    signature: 'fn from(ret: Result) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: tests::size_and_alignment
    functionSourceFile: /src/spdm-rs/external/ring/src/bssl.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn size_and_alignment()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: tests::semantics
    functionSourceFile: /src/spdm-rs/external/ring/src/bssl.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn semantics()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt::Result::debug_tuple
      Src: /src/spdm-rs/external/ring/src/debug.rs:60,1
    - Dst: field
      Src: /src/spdm-rs/external/ring/src/debug.rs:60,1
    - Dst: HexStr
      Src: /src/spdm-rs/external/ring/src/debug.rs:61,1
    - Dst: u8::as_ref
      Src: /src/spdm-rs/external/ring/src/debug.rs:61,1
    - Dst: finish
      Src: /src/spdm-rs/external/ring/src/debug.rs:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - fmt
    - type_name
    - value
    argTypes:
    - '&mut core::fmt::Formatter'
    - '&str'
    - '&dyn AsRef<[u8]>'
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 11
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: write_hex_tuple
    functionSourceFile: /src/spdm-rs/external/ring/src/debug.rs
    functionUses: 1
    functionsReached:
    - finish
    - fmt::Result::debug_tuple
    - u8::as_ref
    - HexStr
    - field
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn write_hex_tuple(fmt: &mut core::fmt::Formatter,type_name:
      &str,value: &dyn AsRef<[u8]>,) -> Result<(), ::core::fmt::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt::Result::write_str
      Src: /src/spdm-rs/external/ring/src/debug.rs:69,1
    - Dst: write_hex_bytes
      Src: /src/spdm-rs/external/ring/src/debug.rs:70,1
    - Dst: fmt::Result::write_str
      Src: /src/spdm-rs/external/ring/src/debug.rs:71,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/debug.rs:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - '&mut core::fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: HexStr::fmt
    functionSourceFile: /src/spdm-rs/external/ring/src/debug.rs
    functionUses: 0
    functionsReached:
    - write_hex_bytes
    - fmt::Result::write_str
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn fmt(&self, fmt: &mut core::fmt::Formatter) -> Result<(), core::fmt::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:57,1
    - Dst: Template::alg_id_value_
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: Template::alg_id_value
    functionSourceFile: /src/spdm-rs/external/ring/src/pkcs8.rs
    functionUses: 1
    functionsReached:
    - untrusted::Input::from
    - Template::alg_id_value_
    linkageType: ''
    returnType: untrusted::Input
    signature: fn alg_id_value(&self) -> untrusted::Input<'_>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: Template::alg_id_value_
    functionSourceFile: /src/spdm-rs/external/ring/src/pkcs8.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: fn alg_id_value_(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:66,1
    - Dst: Template::alg_id_value_
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: Template::curve_oid
    functionSourceFile: /src/spdm-rs/external/ring/src/pkcs8.rs
    functionUses: 1
    functionsReached:
    - untrusted::Input::from
    - Template::alg_id_value_
    linkageType: ''
    returnType: untrusted::Input
    signature: pub fn curve_oid(&self) -> untrusted::Input<'_>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unwrap_key_
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:81,1
    - Dst: '&Template::alg_id_value'
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - template
    - version
    - input
    argTypes:
    - '&Template'
    - Version
    - untrusted::Input<'a>
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 15
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: unwrap_key
    functionSourceFile: /src/spdm-rs/external/ring/src/pkcs8.rs
    functionUses: 2
    functionsReached:
    - unwrap_key_
    - '&Template::alg_id_value'
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn unwrap_key<''a>(template: &Template,version: Version,input:
      untrusted::Input<''a>,) -> Result<(untrusted::Input<''a>, Option<untrusted::Input<''a>>),
      error::KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_all
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:99,1
    - Dst: error::KeyRejected::invalid_encoding
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:99,1
    - Dst: der::nested
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:100,1
    - Dst: error::KeyRejected::invalid_encoding
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:103,1
    - Dst: unwrap_key__
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - alg_id
    - version
    - input
    argTypes:
    - untrusted::Input
    - Version
    - untrusted::Input<'a>
    constantsTouched: []
    func_position:
      end: 107
      start: 94
    functionDepth: 14
    functionLinenumber: 94
    functionLinenumberEnd: 107
    functionName: unwrap_key_
    functionSourceFile: /src/spdm-rs/external/ring/src/pkcs8.rs
    functionUses: 2
    functionsReached:
    - der::nested
    - error::KeyRejected::invalid_encoding
    - read_all
    - unwrap_key__
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn unwrap_key_<''a>(alg_id: untrusted::Input,version: Version,input:
      untrusted::Input<''a>,) -> Result<(untrusted::Input<''a>, Option<untrusted::Input<''a>>),
      error::KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: der::small_nonnegative_integer
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:114,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:114,1
    - Dst: error::KeyRejected::invalid_encoding
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:115,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:123,1
    - Dst: error::KeyRejected::version_not_supported
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:123,1
    - Dst: der::expect_tag_and_get_value
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:126,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:126,1
    - Dst: error::KeyRejected::invalid_encoding
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:127,1
    - Dst: as_slice_less_safe
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:128,1
    - Dst: untrusted::Input::as_slice_less_safe
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:128,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:129,1
    - Dst: error::KeyRejected::wrong_algorithm
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:129,1
    - Dst: Some
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:135,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:137,1
    - Dst: error::KeyRejected::version_not_supported
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:137,1
    - Dst: der::expect_tag_and_get_value
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:141,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:141,1
    - Dst: error::KeyRejected::invalid_encoding
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:142,1
    - Dst: peek
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:145,1
    - Dst: into
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:145,1
    - Dst: der::expect_tag_and_get_value
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:146,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:146,1
    - Dst: error::KeyRejected::invalid_encoding
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:147,1
    - Dst: at_end
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:151,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:152,1
    - Dst: error::KeyRejected::public_key_is_missing
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:152,1
    - Dst: peek
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:157,1
    - Dst: into
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:157,1
    - Dst: der::nested
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:159,1
    - Dst: der::bit_string_tagged_with_no_unused_bits
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:166,1
    - Dst: map_err
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:169,1
    - Dst: error::KeyRejected::invalid_encoding
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:169,1
    - Dst: Some
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:170,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:175,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 81
    argCount: 3
    argNames:
    - alg_id
    - version
    - input
    argTypes:
    - untrusted::Input
    - Version
    - '&mut untrusted::Reader<''a>'
    constantsTouched: []
    func_position:
      end: 176
      start: 109
    functionDepth: 15
    functionLinenumber: 109
    functionLinenumberEnd: 176
    functionName: unwrap_key__
    functionSourceFile: /src/spdm-rs/external/ring/src/pkcs8.rs
    functionUses: 1
    functionsReached:
    - der::small_nonnegative_integer
    - error::KeyRejected::version_not_supported
    - error::KeyRejected::wrong_algorithm
    - into
    - map_err
    - Err
    - peek
    - Result::map_err
    - der::nested
    - error::KeyRejected::invalid_encoding
    - as_slice_less_safe
    - at_end
    - error::KeyRejected::public_key_is_missing
    - der::expect_tag_and_get_value
    - der::bit_string_tagged_with_no_unused_bits
    - untrusted::Input::as_slice_less_safe
    - Ok
    - Some
    linkageType: ''
    returnType: Result
    signature: 'fn unwrap_key__<''a>(alg_id: untrusted::Input,version: Version,input:
      &mut untrusted::Reader<''a>,) -> Result<(untrusted::Input<''a>, Option<untrusted::Input<''a>>),
      error::KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:194,1
    - Dst: Option::len
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:194,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:194,1
    - Dst: wrap_key_
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 3
    argNames:
    - template
    - private_key
    - public_key
    argTypes:
    - '&Template'
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 203
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 203
    functionName: wrap_key
    functionSourceFile: /src/spdm-rs/external/ring/src/pkcs8.rs
    functionUses: 4
    functionsReached:
    - len
    - '&[u8]::len'
    - Option::len
    - wrap_key_
    linkageType: ''
    returnType: Document
    signature: 'pub(crate) fn wrap_key(template: &Template, private_key: &[u8], public_key:
      &[u8]) -> Document'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: split_at
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:209,1
    - Dst: Option::len
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:210,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:211,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:212,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:213,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:213,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:215,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/ring/src/pkcs8.rs:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 4
    argNames:
    - template
    - private_key
    - public_key
    - bytes
    argTypes:
    - '&Template'
    - '&[u8]'
    - '&[u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 216
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 216
    functionName: wrap_key_
    functionSourceFile: /src/spdm-rs/external/ring/src/pkcs8.rs
    functionUses: 3
    functionsReached:
    - copy_from_slice
    - len
    - Option::len
    - split_at
    linkageType: ''
    returnType: void
    signature: 'fn wrap_key_(template: &Template, private_key: &[u8], public_key:
      &[u8], bytes: &mut [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Context::with_key
      Src: /src/spdm-rs/external/ring/src/hmac.rs:274,1
    - Dst: update
      Src: /src/spdm-rs/external/ring/src/hmac.rs:275,1
    - Dst: try_sign
      Src: /src/spdm-rs/external/ring/src/hmac.rs:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - data
    - cpu
    argTypes:
    - '&[u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 277
      start: 273
    functionDepth: 12
    functionLinenumber: 273
    functionLinenumberEnd: 277
    functionName: Key::sign
    functionSourceFile: /src/spdm-rs/external/ring/src/hmac.rs
    functionUses: 1
    functionsReached:
    - update
    - Context::with_key
    - try_sign
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn sign(&self, data: &[u8], cpu: cpu::Features) -> Result<Tag,
      InputTooLongError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key::sign
      Src: /src/spdm-rs/external/ring/src/hmac.rs:280,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/hmac.rs:280,1
    - Dst: bb::verify_slices_are_equal
      Src: /src/spdm-rs/external/ring/src/hmac.rs:283,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/src/hmac.rs:283,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/hmac.rs:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - data
    - tag
    - cpu
    argTypes:
    - '&[u8]'
    - '&[u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 285
      start: 279
    functionDepth: 13
    functionLinenumber: 279
    functionLinenumberEnd: 285
    functionName: Key::verify
    functionSourceFile: /src/spdm-rs/external/ring/src/hmac.rs
    functionUses: 0
    functionsReached:
    - bb::verify_slices_are_equal
    - as_ref
    - Key::sign
    - Result::map_err
    linkageType: ''
    returnType: Result
    signature: 'fn verify(&self, data: &[u8], tag: &[u8], cpu: cpu::Features) -> Result<(),
      VerifyError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::len
      Src: /src/spdm-rs/external/ring/src/limb.rs:45,1
    - Dst: SpdmResult::len
      Src: /src/spdm-rs/external/ring/src/limb.rs:45,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/limb.rs:46,1
    - Dst: LenMismatchError::new
      Src: /src/spdm-rs/external/ring/src/limb.rs:46,1
    - Dst: Vec::len
      Src: /src/spdm-rs/external/ring/src/limb.rs:46,1
    - Dst: Vec::iter
      Src: /src/spdm-rs/external/ring/src/limb.rs:48,1
    - Dst: Self::IntoIter::zip
      Src: /src/spdm-rs/external/ring/src/limb.rs:48,1
    - Dst: fold
      Src: /src/spdm-rs/external/ring/src/limb.rs:48,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/limb.rs:49,1
    - Dst: limb_is_zero
      Src: /src/spdm-rs/external/ring/src/limb.rs:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - '&[Limb]'
    - '&[Limb]'
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: limbs_equal_limbs_consttime
    functionSourceFile: /src/spdm-rs/external/ring/src/limb.rs
    functionUses: 2
    functionsReached:
    - Self::IntoIter::zip
    - Ok
    - Err
    - SpdmResult::len
    - LenMismatchError::new
    - Vec::iter
    - limb_is_zero
    - Vec::len
    - fold
    linkageType: ''
    returnType: Result
    signature: 'pub fn limbs_equal_limbs_consttime(a: &[Limb], b: &[Limb]) -> Result<LimbMask,
      LenMismatchError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NonZeroUsize::new
      Src: /src/spdm-rs/external/ring/src/limb.rs:62,1
    - Dst: SpdmResult::len
      Src: /src/spdm-rs/external/ring/src/limb.rs:62,1
    - Dst: OnceNonZeroUsize::ok_or_else
      Src: /src/spdm-rs/external/ring/src/limb.rs:62,1
    - Dst: LenMismatchError::new
      Src: /src/spdm-rs/external/ring/src/limb.rs:62,1
    - Dst: Vec::len
      Src: /src/spdm-rs/external/ring/src/limb.rs:62,1
    - Dst: Vec::len
      Src: /src/spdm-rs/external/ring/src/limb.rs:63,1
    - Dst: usize::get
      Src: /src/spdm-rs/external/ring/src/limb.rs:63,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/limb.rs:64,1
    - Dst: LenMismatchError::new
      Src: /src/spdm-rs/external/ring/src/limb.rs:64,1
    - Dst: Vec::len
      Src: /src/spdm-rs/external/ring/src/limb.rs:64,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/limb.rs:66,1
    - Dst: LIMBS_less_than
      Src: /src/spdm-rs/external/ring/src/limb.rs:66,1
    - Dst: Vec::as_ptr
      Src: /src/spdm-rs/external/ring/src/limb.rs:66,1
    - Dst: SpdmResult::as_ptr
      Src: /src/spdm-rs/external/ring/src/limb.rs:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - '&[Limb]'
    - '&[Limb]'
    constantsTouched: []
    func_position:
      end: 67
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 67
    functionName: limbs_less_than_limbs
    functionSourceFile: /src/spdm-rs/external/ring/src/limb.rs
    functionUses: 2
    functionsReached:
    - SpdmResult::as_ptr
    - NonZeroUsize::new
    - Err
    - SpdmResult::len
    - usize::get
    - LenMismatchError::new
    - LIMBS_less_than
    - Vec::len
    - Vec::as_ptr
    - OnceNonZeroUsize::ok_or_else
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn limbs_less_than_limbs(a: &[Limb], b: &[Limb]) -> Result<LimbMask,
      LenMismatchError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limbs_less_than_limbs
      Src: /src/spdm-rs/external/ring/src/limb.rs:74,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/limb.rs:74,1
    - Dst: leak
      Src: /src/spdm-rs/external/ring/src/limb.rs:75,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/limb.rs:76,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/limb.rs:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - '&[Limb]'
    - '&[Limb]'
    constantsTouched: []
    func_position:
      end: 80
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 80
    functionName: verify_limbs_less_than_limbs_leak_bit
    functionSourceFile: /src/spdm-rs/external/ring/src/limb.rs
    functionUses: 4
    functionsReached:
    - Err
    - leak
    - Result::map_err
    - limbs_less_than_limbs
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn verify_limbs_less_than_limbs_leak_bit(a: &[Limb],b:
      &[Limb],) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limbs_less_than_limbs
      Src: /src/spdm-rs/external/ring/src/limb.rs:84,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/limb.rs:85,1
    - Dst: leak
      Src: /src/spdm-rs/external/ring/src/limb.rs:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - '&[Limb]'
    - '&[Limb]'
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: limbs_less_than_limbs_vartime
    functionSourceFile: /src/spdm-rs/external/ring/src/limb.rs
    functionUses: 1
    functionsReached:
    - limbs_less_than_limbs
    - Ok
    - leak
    linkageType: ''
    returnType: Result
    signature: 'pub fn limbs_less_than_limbs_vartime(a: &[Limb], b: &[Limb]) -> Result<bool,
      LenMismatchError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIMB_is_zero
      Src: /src/spdm-rs/external/ring/src/limb.rs:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - limb
    argTypes:
    - Limb
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: limb_is_zero
    functionSourceFile: /src/spdm-rs/external/ring/src/limb.rs
    functionUses: 4
    functionsReached:
    - LIMB_is_zero
    linkageType: ''
    returnType: LimbMask
    signature: 'fn limb_is_zero(limb: Limb) -> LimbMask'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limb_is_zero
      Src: /src/spdm-rs/external/ring/src/limb.rs:98,1
    - Dst: Result::iter
      Src: /src/spdm-rs/external/ring/src/limb.rs:98,1
    - Dst: Self::IntoIter::fold
      Src: /src/spdm-rs/external/ring/src/limb.rs:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - limbs
    argTypes:
    - '&[Limb]'
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: limbs_are_zero
    functionSourceFile: /src/spdm-rs/external/ring/src/limb.rs
    functionUses: 4
    functionsReached:
    - limb_is_zero
    - Result::iter
    - Self::IntoIter::fold
    linkageType: ''
    returnType: LimbMask
    signature: 'pub fn limbs_are_zero(limbs: &[Limb]) -> LimbMask'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::first
      Src: /src/spdm-rs/external/ring/src/limb.rs:106,1
    - Dst: Option::ok_or
      Src: /src/spdm-rs/external/ring/src/limb.rs:106,1
    - Dst: limb_is_zero
      Src: /src/spdm-rs/external/ring/src/limb.rs:107,1
    - Dst: LimbMask::leak
      Src: /src/spdm-rs/external/ring/src/limb.rs:107,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/limb.rs:108,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/limb.rs:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - limbs
    argTypes:
    - '&[Limb]'
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: limbs_reject_even_leak_bit
    functionSourceFile: /src/spdm-rs/external/ring/src/limb.rs
    functionUses: 2
    functionsReached:
    - LimbMask::leak
    - Err
    - Option::ok_or
    - limb_is_zero
    - Result::first
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn limbs_reject_even_leak_bit(limbs: &[Limb]) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limb_is_zero
      Src: /src/spdm-rs/external/ring/src/limb.rs:117,1
    - Dst: limbs_are_zero
      Src: /src/spdm-rs/external/ring/src/limb.rs:117,1
    - Dst: bool::leak
      Src: /src/spdm-rs/external/ring/src/limb.rs:118,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/limb.rs:119,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/limb.rs:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - a
    argTypes:
    - '&[Limb]'
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: verify_limbs_equal_1_leak_bit
    functionSourceFile: /src/spdm-rs/external/ring/src/limb.rs
    functionUses: 1
    functionsReached:
    - limbs_are_zero
    - Err
    - bool::leak
    - limb_is_zero
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn verify_limbs_equal_1_leak_bit(a: &[Limb]) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::len
      Src: /src/spdm-rs/external/ring/src/limb.rs:134,1
    - Dst: rev
      Src: /src/spdm-rs/external/ring/src/limb.rs:134,1
    - Dst: rev
      Src: /src/spdm-rs/external/ring/src/limb.rs:141,1
    - Dst: LIMB_shr
      Src: /src/spdm-rs/external/ring/src/limb.rs:142,1
    - Dst: bits::BitLength::from_bits
      Src: /src/spdm-rs/external/ring/src/limb.rs:144,1
    - Dst: bits::BitLength::from_bits
      Src: /src/spdm-rs/external/ring/src/limb.rs:152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 1
    argNames:
    - a
    argTypes:
    - '&[Limb]'
    constantsTouched: []
    func_position:
      end: 153
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 153
    functionName: limbs_minimal_bits
    functionSourceFile: /src/spdm-rs/external/ring/src/limb.rs
    functionUses: 1
    functionsReached:
    - Vec::len
    - rev
    - bits::BitLength::from_bits
    - LIMB_shr
    linkageType: ''
    returnType: bits::BitLength
    signature: 'pub fn limbs_minimal_bits(a: &[Limb]) -> bits::BitLength'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NonZeroUsize::new
      Src: /src/spdm-rs/external/ring/src/limb.rs:161,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/limb.rs:161,1
    - Dst: OnceNonZeroUsize::ok_or_else
      Src: /src/spdm-rs/external/ring/src/limb.rs:161,1
    - Dst: LenMismatchError::new
      Src: /src/spdm-rs/external/ring/src/limb.rs:161,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/limb.rs:161,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/ring/src/limb.rs:162,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/ring/src/limb.rs:163,1
    - Dst: LIMBS_reduce_once
      Src: /src/spdm-rs/external/ring/src/limb.rs:164,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/limb.rs:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - r
    - m
    argTypes:
    - '&mut [Limb]'
    - '&[Limb]'
    constantsTouched: []
    func_position:
      end: 166
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 166
    functionName: limbs_reduce_once
    functionSourceFile: /src/spdm-rs/external/ring/src/limb.rs
    functionUses: 3
    functionsReached:
    - NonZeroUsize::new
    - LIMBS_reduce_once
    - as_mut_ptr
    - as_ptr
    - LenMismatchError::new
    - len
    - OnceNonZeroUsize::ok_or_else
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn limbs_reduce_once(r: &mut [Limb], m: &[Limb]) -> Result<(),
      LenMismatchError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_big_endian_and_pad_consttime
      Src: /src/spdm-rs/external/ring/src/limb.rs:188,1
    - Dst: verify_limbs_less_than_limbs_leak_bit
      Src: /src/spdm-rs/external/ring/src/limb.rs:189,1
    - Dst: limbs_are_zero
      Src: /src/spdm-rs/external/ring/src/limb.rs:191,1
    - Dst: LimbMask::leak
      Src: /src/spdm-rs/external/ring/src/limb.rs:191,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/limb.rs:192,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/limb.rs:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - input
    - allow_zero
    - max_exclusive
    - result
    argTypes:
    - untrusted::Input
    - AllowZero
    - '&[Limb]'
    - '&mut [Limb]'
    constantsTouched: []
    func_position:
      end: 196
      start: 182
    functionDepth: 9
    functionLinenumber: 182
    functionLinenumberEnd: 196
    functionName: parse_big_endian_in_range_and_pad_consttime
    functionSourceFile: /src/spdm-rs/external/ring/src/limb.rs
    functionUses: 2
    functionsReached:
    - limbs_are_zero
    - LimbMask::leak
    - Err
    - verify_limbs_less_than_limbs_leak_bit
    - parse_big_endian_and_pad_consttime
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn parse_big_endian_in_range_and_pad_consttime(input: untrusted::Input,allow_zero:
      AllowZero,max_exclusive: &[Limb],result: &mut [Limb],) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_empty
      Src: /src/spdm-rs/external/ring/src/limb.rs:205,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/limb.rs:206,1
    - Dst: as_slice_less_safe
      Src: /src/spdm-rs/external/ring/src/limb.rs:208,1
    - Dst: rchunks
      Src: /src/spdm-rs/external/ring/src/limb.rs:208,1
    - Dst: map
      Src: /src/spdm-rs/external/ring/src/limb.rs:208,1
    - Dst: sliceutil::overwrite_at_start
      Src: /src/spdm-rs/external/ring/src/limb.rs:210,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/limb.rs:210,1
    - Dst: Limb::from_be_bytes
      Src: /src/spdm-rs/external/ring/src/limb.rs:211,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/limb.rs:213,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/limb.rs:213,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/limb.rs:214,1
    - Dst: iter_mut
      Src: /src/spdm-rs/external/ring/src/limb.rs:217,1
    - Dst: zip
      Src: /src/spdm-rs/external/ring/src/limb.rs:217,1
    - Dst: chain
      Src: /src/spdm-rs/external/ring/src/limb.rs:219,1
    - Dst: iter::repeat
      Src: /src/spdm-rs/external/ring/src/limb.rs:219,1
    - Dst: for_each
      Src: /src/spdm-rs/external/ring/src/limb.rs:217,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/limb.rs:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 50
    argCount: 2
    argNames:
    - input
    - result
    argTypes:
    - untrusted::Input
    - '&mut [Limb]'
    constantsTouched: []
    func_position:
      end: 223
      start: 201
    functionDepth: 8
    functionLinenumber: 201
    functionLinenumberEnd: 223
    functionName: parse_big_endian_and_pad_consttime
    functionSourceFile: /src/spdm-rs/external/ring/src/limb.rs
    functionUses: 6
    functionsReached:
    - rchunks
    - zip
    - sliceutil::overwrite_at_start
    - Limb::from_be_bytes
    - is_empty
    - iter_mut
    - Err
    - map
    - for_each
    - chain
    - as_slice_less_safe
    - len
    - iter::repeat
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn parse_big_endian_and_pad_consttime(input: untrusted::Input,result:
      &mut [Limb],) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unstripped_be_bytes
      Src: /src/spdm-rs/external/ring/src/limb.rs:226,1
    - Dst: '&mut [u8]::iter_mut'
      Src: /src/spdm-rs/external/ring/src/limb.rs:228,1
    - Dst: zip
      Src: /src/spdm-rs/external/ring/src/limb.rs:228,1
    - Dst: for_each
      Src: /src/spdm-rs/external/ring/src/limb.rs:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - limbs
    - out
    argTypes:
    - '&[Limb]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 231
      start: 225
    functionDepth: 8
    functionLinenumber: 225
    functionLinenumberEnd: 231
    functionName: big_endian_from_limbs
    functionSourceFile: /src/spdm-rs/external/ring/src/limb.rs
    functionUses: 7
    functionsReached:
    - for_each
    - zip
    - unstripped_be_bytes
    - '&mut [u8]::iter_mut'
    linkageType: ''
    returnType: void
    signature: 'pub fn big_endian_from_limbs(limbs: &[Limb], out: &mut [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ArrayFlatMap::new
      Src: /src/spdm-rs/external/ring/src/limb.rs:239,1
    - Dst: Result::iter
      Src: /src/spdm-rs/external/ring/src/limb.rs:239,1
    - Dst: Self::IntoIter::rev
      Src: /src/spdm-rs/external/ring/src/limb.rs:239,1
    - Dst: copied
      Src: /src/spdm-rs/external/ring/src/limb.rs:239,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/ring/src/limb.rs:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - limbs
    argTypes:
    - '&[Limb]'
    constantsTouched: []
    func_position:
      end: 240
      start: 237
    functionDepth: 7
    functionLinenumber: 237
    functionLinenumberEnd: 240
    functionName: unstripped_be_bytes
    functionSourceFile: /src/spdm-rs/external/ring/src/limb.rs
    functionUses: 2
    functionsReached:
    - copied
    - ArrayFlatMap::new
    - Option::unwrap
    - Result::iter
    - Self::IntoIter::rev
    linkageType: ''
    returnType: impl ExactSizeIterator
    signature: 'pub fn unstripped_be_bytes(limbs: &[Limb]) -> impl ExactSizeIterator<Item
      = u8> + Clone + ''_'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::len
      Src: /src/spdm-rs/external/ring/src/limb.rs:281,1
    - Dst: BitIndex
      Src: /src/spdm-rs/external/ring/src/limb.rs:288,1
    - Dst: core::num::Wrapping
      Src: /src/spdm-rs/external/ring/src/limb.rs:288,1
    - Dst: LIMBS_window5_split_window
      Src: /src/spdm-rs/external/ring/src/limb.rs:293,1
    - Dst: Result::first
      Src: /src/spdm-rs/external/ring/src/limb.rs:293,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/ring/src/limb.rs:293,1
    - Dst: init
      Src: /src/spdm-rs/external/ring/src/limb.rs:295,1
    - Dst: Limb::from
      Src: /src/spdm-rs/external/ring/src/limb.rs:298,1
    - Dst: Result::iter
      Src: /src/spdm-rs/external/ring/src/limb.rs:299,1
    - Dst: Self::IntoIter::fold
      Src: /src/spdm-rs/external/ring/src/limb.rs:299,1
    - Dst: core::num::Wrapping
      Src: /src/spdm-rs/external/ring/src/limb.rs:303,1
    - Dst: LIMBS_window5_split_window
      Src: /src/spdm-rs/external/ring/src/limb.rs:305,1
    - Dst: fold
      Src: /src/spdm-rs/external/ring/src/limb.rs:307,1
    - Dst: core::num::Wrapping
      Src: /src/spdm-rs/external/ring/src/limb.rs:309,1
    - Dst: LIMBS_window5_unsplit_window
      Src: /src/spdm-rs/external/ring/src/limb.rs:310,1
    - Dst: fold
      Src: /src/spdm-rs/external/ring/src/limb.rs:314,1
    - Dst: core::num::Wrapping
      Src: /src/spdm-rs/external/ring/src/limb.rs:316,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 65
    argCount: 3
    argNames:
    - limbs
    - init
    - fold
    argTypes:
    - '&[Limb]'
    - I
    - F
    constantsTouched: []
    func_position:
      end: 320
      start: 261
    functionDepth: 5
    functionLinenumber: 261
    functionLinenumberEnd: 320
    functionName: fold_5_bit_windows
    functionSourceFile: /src/spdm-rs/external/ring/src/limb.rs
    functionUses: 1
    functionsReached:
    - core::num::Wrapping
    - init
    - LIMBS_window5_split_window
    - Result::len
    - Option::unwrap
    - Self::IntoIter::fold
    - Result::iter
    - BitIndex
    - Result::first
    - Limb::from
    - fold
    - LIMBS_window5_unsplit_window
    linkageType: ''
    returnType: R
    signature: 'pub fn fold_5_bit_windows<R, I: FnOnce(Window) -> R, F: Fn(R, Window)
      -> R>(limbs: &[Limb],init: I,fold: F,) -> R'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NonZeroUsize::new
      Src: /src/spdm-rs/external/ring/src/limb.rs:338,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/limb.rs:338,1
    - Dst: OnceNonZeroUsize::ok_or_else
      Src: /src/spdm-rs/external/ring/src/limb.rs:338,1
    - Dst: LenMismatchError::new
      Src: /src/spdm-rs/external/ring/src/limb.rs:338,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/limb.rs:338,1
    - Dst: with_non_dangling_non_null_pointers_rab
      Src: /src/spdm-rs/external/ring/src/limb.rs:339,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/ring/src/limb.rs:340,1
    - Dst: LIMBS_add_mod
      Src: /src/spdm-rs/external/ring/src/limb.rs:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - a
    - b
    - m
    argTypes:
    - '&mut [Limb]'
    - '&[Limb]'
    - '&[Limb]'
    constantsTouched: []
    func_position:
      end: 343
      start: 323
    functionDepth: 13
    functionLinenumber: 323
    functionLinenumberEnd: 343
    functionName: limbs_add_assign_mod
    functionSourceFile: /src/spdm-rs/external/ring/src/limb.rs
    functionUses: 2
    functionsReached:
    - NonZeroUsize::new
    - as_ptr
    - LenMismatchError::new
    - len
    - with_non_dangling_non_null_pointers_rab
    - OnceNonZeroUsize::ok_or_else
    - LIMBS_add_mod
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn limbs_add_assign_mod(a: &mut [Limb],b: &[Limb],m: &[Limb],)
      -> Result<(), LenMismatchError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NonZeroUsize::new
      Src: /src/spdm-rs/external/ring/src/limb.rs:355,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/limb.rs:355,1
    - Dst: OnceNonZeroUsize::ok_or_else
      Src: /src/spdm-rs/external/ring/src/limb.rs:355,1
    - Dst: LenMismatchError::new
      Src: /src/spdm-rs/external/ring/src/limb.rs:355,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/limb.rs:355,1
    - Dst: with_non_dangling_non_null_pointers_ra
      Src: /src/spdm-rs/external/ring/src/limb.rs:356,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/ring/src/limb.rs:357,1
    - Dst: LIMBS_shl_mod
      Src: /src/spdm-rs/external/ring/src/limb.rs:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - r
    - m
    argTypes:
    - '&mut [Limb]'
    - '&[Limb]'
    constantsTouched: []
    func_position:
      end: 362
      start: 346
    functionDepth: 13
    functionLinenumber: 346
    functionLinenumberEnd: 362
    functionName: limbs_double_mod
    functionSourceFile: /src/spdm-rs/external/ring/src/limb.rs
    functionUses: 2
    functionsReached:
    - NonZeroUsize::new
    - with_non_dangling_non_null_pointers_ra
    - as_ptr
    - LenMismatchError::new
    - LIMBS_shl_mod
    - len
    - OnceNonZeroUsize::ok_or_else
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn limbs_double_mod(r: &mut [Limb], m: &[Limb]) -> Result<(),
      LenMismatchError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter_mut
      Src: /src/spdm-rs/external/ring/src/limb.rs:369,1
    - Dst: zip
      Src: /src/spdm-rs/external/ring/src/limb.rs:369,1
    - Dst: Vec::iter
      Src: /src/spdm-rs/external/ring/src/limb.rs:369,1
    - Dst: for_each
      Src: /src/spdm-rs/external/ring/src/limb.rs:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - '&mut [Limb]'
    - '&[Limb]'
    constantsTouched: []
    func_position:
      end: 375
      start: 365
    functionDepth: 2
    functionLinenumber: 365
    functionLinenumberEnd: 375
    functionName: limbs_negative_odd
    functionSourceFile: /src/spdm-rs/external/ring/src/limb.rs
    functionUses: 1
    functionsReached:
    - for_each
    - zip
    - iter_mut
    - Vec::iter
    linkageType: ''
    returnType: void
    signature: 'pub(crate) fn limbs_negative_odd(r: &mut [Limb], a: &[Limb])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::leak
      Src: /src/spdm-rs/external/ring/src/bb/mod.rs:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - BoolMask
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: tests::leak_in_test
    functionSourceFile: /src/spdm-rs/external/ring/src/bb/mod.rs
    functionUses: 0
    functionsReached:
    - Vec::leak
    linkageType: ''
    returnType: bool
    signature: 'fn leak_in_test(a: BoolMask) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::from_iter
      Src: /src/spdm-rs/external/ring/src/limb.rs:409,1
    - Dst: core::iter
      Src: /src/spdm-rs/external/ring/src/limb.rs:409,1
    - Dst: Self::IntoIter::copied
      Src: /src/spdm-rs/external/ring/src/limb.rs:409,1
    - Dst: map
      Src: /src/spdm-rs/external/ring/src/limb.rs:409,1
    - Dst: Vec::from_iter
      Src: /src/spdm-rs/external/ring/src/limb.rs:426,1
    - Dst: core::iter
      Src: /src/spdm-rs/external/ring/src/limb.rs:426,1
    - Dst: Self::IntoIter::copied
      Src: /src/spdm-rs/external/ring/src/limb.rs:426,1
    - Dst: map
      Src: /src/spdm-rs/external/ring/src/limb.rs:426,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 429
      start: 396
    functionDepth: 8
    functionLinenumber: 396
    functionLinenumberEnd: 429
    functionName: tests::test_limbs_are_even
    functionSourceFile: /src/spdm-rs/external/ring/src/limb.rs
    functionUses: 0
    functionsReached:
    - Vec::from_iter
    - Self::IntoIter::copied
    - core::iter
    - map
    linkageType: ''
    returnType: void
    signature: fn test_limbs_are_even()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::from_iter
      Src: /src/spdm-rs/external/ring/src/limb.rs:456,1
    - Dst: '&''a [u8]::iter'
      Src: /src/spdm-rs/external/ring/src/limb.rs:456,1
    - Dst: Self::IntoIter::copied
      Src: /src/spdm-rs/external/ring/src/limb.rs:456,1
    - Dst: map
      Src: /src/spdm-rs/external/ring/src/limb.rs:456,1
    - Dst: Vec::from_iter
      Src: /src/spdm-rs/external/ring/src/limb.rs:460,1
    - Dst: Self::iter
      Src: /src/spdm-rs/external/ring/src/limb.rs:460,1
    - Dst: Self::IntoIter::copied
      Src: /src/spdm-rs/external/ring/src/limb.rs:460,1
    - Dst: map
      Src: /src/spdm-rs/external/ring/src/limb.rs:460,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 463
      start: 454
    functionDepth: 8
    functionLinenumber: 454
    functionLinenumberEnd: 463
    functionName: tests::test_limbs_are_zero
    functionSourceFile: /src/spdm-rs/external/ring/src/limb.rs
    functionUses: 0
    functionsReached:
    - '&''a [u8]::iter'
    - Vec::from_iter
    - Self::IntoIter::copied
    - map
    - Self::iter
    linkageType: ''
    returnType: void
    signature: fn test_limbs_are_zero()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::from_iter
      Src: /src/spdm-rs/external/ring/src/limb.rs:470,1
    - Dst: Vec::iter
      Src: /src/spdm-rs/external/ring/src/limb.rs:470,1
    - Dst: Self::IntoIter::copied
      Src: /src/spdm-rs/external/ring/src/limb.rs:470,1
    - Dst: map
      Src: /src/spdm-rs/external/ring/src/limb.rs:470,1
    - Dst: Vec::from_iter
      Src: /src/spdm-rs/external/ring/src/limb.rs:488,1
    - Dst: Vec::iter
      Src: /src/spdm-rs/external/ring/src/limb.rs:488,1
    - Dst: Self::IntoIter::copied
      Src: /src/spdm-rs/external/ring/src/limb.rs:488,1
    - Dst: map
      Src: /src/spdm-rs/external/ring/src/limb.rs:488,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 494
      start: 466
    functionDepth: 8
    functionLinenumber: 466
    functionLinenumberEnd: 494
    functionName: tests::test_limbs_equal_limb
    functionSourceFile: /src/spdm-rs/external/ring/src/limb.rs
    functionUses: 0
    functionsReached:
    - Vec::from_iter
    - Self::IntoIter::copied
    - Vec::iter
    - map
    linkageType: ''
    returnType: void
    signature: fn test_limbs_equal_limb()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/limb.rs:502,1
    - Dst: map
      Src: /src/spdm-rs/external/ring/src/limb.rs:503,1
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/limb.rs:510,1
    - Dst: map
      Src: /src/spdm-rs/external/ring/src/limb.rs:511,1
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/limb.rs:518,1
    - Dst: map
      Src: /src/spdm-rs/external/ring/src/limb.rs:519,1
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/limb.rs:530,1
    - Dst: map
      Src: /src/spdm-rs/external/ring/src/limb.rs:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 583
      start: 497
    functionDepth: 8
    functionLinenumber: 497
    functionLinenumberEnd: 583
    functionName: tests::test_parse_big_endian_and_pad_consttime
    functionSourceFile: /src/spdm-rs/external/ring/src/limb.rs
    functionUses: 0
    functionsReached:
    - untrusted::Input::from
    - map
    linkageType: ''
    returnType: void
    signature: fn test_parse_big_endian_and_pad_consttime()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::map
      Src: /src/spdm-rs/external/ring/src/limb.rs:601,1
    - Dst: big_endian_from_limbs
      Src: /src/spdm-rs/external/ring/src/limb.rs:610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 612
      start: 586
    functionDepth: 8
    functionLinenumber: 586
    functionLinenumberEnd: 612
    functionName: tests::test_big_endian_from_limbs_same_length
    functionSourceFile: /src/spdm-rs/external/ring/src/limb.rs
    functionUses: 0
    functionsReached:
    - big_endian_from_limbs
    - Result::map
    linkageType: ''
    returnType: void
    signature: fn test_big_endian_from_limbs_same_length()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::map
      Src: /src/spdm-rs/external/ring/src/limb.rs:631,1
    - Dst: big_endian_from_limbs
      Src: /src/spdm-rs/external/ring/src/limb.rs:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 636
      start: 616
    functionDepth: 8
    functionLinenumber: 616
    functionLinenumberEnd: 636
    functionName: tests::test_big_endian_from_limbs_fewer_limbs
    functionSourceFile: /src/spdm-rs/external/ring/src/limb.rs
    functionUses: 0
    functionsReached:
    - big_endian_from_limbs
    - Result::map
    linkageType: ''
    returnType: void
    signature: fn test_big_endian_from_limbs_fewer_limbs()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::from_iter
      Src: /src/spdm-rs/external/ring/src/limb.rs:658,1
    - Dst: Result::iter
      Src: /src/spdm-rs/external/ring/src/limb.rs:658,1
    - Dst: Self::IntoIter::copied
      Src: /src/spdm-rs/external/ring/src/limb.rs:658,1
    - Dst: map
      Src: /src/spdm-rs/external/ring/src/limb.rs:658,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 661
      start: 639
    functionDepth: 8
    functionLinenumber: 639
    functionLinenumberEnd: 661
    functionName: tests::test_limbs_minimal_bits
    functionSourceFile: /src/spdm-rs/external/ring/src/limb.rs
    functionUses: 0
    functionsReached:
    - Vec::from_iter
    - Result::iter
    - Self::IntoIter::copied
    - map
    linkageType: ''
    returnType: void
    signature: fn test_limbs_minimal_bits()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pub
      Src: /src/spdm-rs/external/ring/src/cpu.rs:5,1
    - Dst: impl
      Src: /src/spdm-rs/external/ring/src/cpu.rs:8,1
    - Dst: get_feature
      Src: /src/spdm-rs/external/ring/src/cpu.rs:17,1
    - Dst: $Name::mask
      Src: /src/spdm-rs/external/ring/src/cpu.rs:18,1
    - Dst: Some
      Src: /src/spdm-rs/external/ring/src/cpu.rs:21,1
    - Dst: impl_get_feature::cpu
      Src: /src/spdm-rs/external/ring/src/cpu.rs:21,1
    - Dst: impl_get_feature::values
      Src: /src/spdm-rs/external/ring/src/cpu.rs:24,1
    - Dst: Some
      Src: /src/spdm-rs/external/ring/src/cpu.rs:25,1
    - Dst: impl_get_feature::cpu
      Src: /src/spdm-rs/external/ring/src/cpu.rs:25,1
    - Dst: repr
      Src: /src/spdm-rs/external/ring/src/cpu.rs:33,1
    - Dst: Shift
      Src: /src/spdm-rs/external/ring/src/cpu.rs:34,1
    - Dst: cfg
      Src: /src/spdm-rs/external/ring/src/cpu.rs:40,1
    - Dst: cfg
      Src: /src/spdm-rs/external/ring/src/cpu.rs:43,1
    - Dst: any
      Src: /src/spdm-rs/external/ring/src/cpu.rs:43,1
    - Dst: all
      Src: /src/spdm-rs/external/ring/src/cpu.rs:43,1
    - Dst: all
      Src: /src/spdm-rs/external/ring/src/cpu.rs:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 18
    functionDepth: 9
    functionLinenumber: 18
    functionLinenumberEnd: 74
    functionName: impl_get_feature
    functionSourceFile: /src/spdm-rs/external/ring/src/cpu.rs
    functionUses: 0
    functionsReached:
    - repr
    - $Name::mask
    - get_feature
    - impl_get_feature::values
    - all
    - impl_get_feature::cpu
    - Shift
    - pub
    - any
    - cfg
    - impl
    - Some
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: features::Values::get_feature
      Src: /src/spdm-rs/external/ring/src/cpu.rs:109,1
    - Dst: features::Values::get_feature
      Src: /src/spdm-rs/external/ring/src/cpu.rs:109,1
    - Dst: features::Values::get_feature
      Src: /src/spdm-rs/external/ring/src/cpu.rs:109,1
    - Dst: Some
      Src: /src/spdm-rs/external/ring/src/cpu.rs:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: features::Values::get_feature
    functionSourceFile: /src/spdm-rs/external/ring/src/cpu.rs
    functionUses: 1
    functionsReached:
    - Some
    - features::Values::get_feature
    linkageType: ''
    returnType: Option
    signature: fn get_feature(&self) -> Option<(A, B, C)>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Features::values
      Src: /src/spdm-rs/external/ring/src/cpu.rs:122,1
    - Dst: get_feature
      Src: /src/spdm-rs/external/ring/src/cpu.rs:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 10
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: Features::get_feature
    functionSourceFile: /src/spdm-rs/external/ring/src/cpu.rs
    functionUses: 4
    functionsReached:
    - get_feature
    - Features::values
    linkageType: ''
    returnType: Option
    signature: fn get_feature(&self) -> Option<F>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: featureflags::get_or_init
      Src: /src/spdm-rs/external/ring/src/cpu.rs:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 13
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: features
    functionSourceFile: /src/spdm-rs/external/ring/src/cpu.rs
    functionUses: 73
    functionsReached:
    - featureflags::get_or_init
    linkageType: ''
    returnType: Features
    signature: pub(crate) fn features() -> Features
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: features
      Src: /src/spdm-rs/external/ring/src/cpu.rs:227,1
    - Dst: featureflags::get
      Src: /src/spdm-rs/external/ring/src/cpu.rs:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 226
    functionDepth: 14
    functionLinenumber: 226
    functionLinenumberEnd: 230
    functionName: tests::test_static_is_subset_of_dynamic
    functionSourceFile: /src/spdm-rs/external/ring/src/cpu.rs
    functionUses: 0
    functionsReached:
    - featureflags::get
    - features
    linkageType: ''
    returnType: void
    signature: fn test_static_is_subset_of_dynamic()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hmac::Context::with_key
      Src: /src/spdm-rs/external/ring/src/pbkdf2.rs:224,1
    - Dst: update
      Src: /src/spdm-rs/external/ring/src/pbkdf2.rs:225,1
    - Dst: update
      Src: /src/spdm-rs/external/ring/src/pbkdf2.rs:226,1
    - Dst: u32::to_be_bytes
      Src: /src/spdm-rs/external/ring/src/pbkdf2.rs:226,1
    - Dst: try_sign
      Src: /src/spdm-rs/external/ring/src/pbkdf2.rs:228,1
    - Dst: NonZeroU32::into
      Src: /src/spdm-rs/external/ring/src/pbkdf2.rs:230,1
    - Dst: bb::xor_assign_at_start
      Src: /src/spdm-rs/external/ring/src/pbkdf2.rs:232,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/ring/src/pbkdf2.rs:232,1
    - Dst: Option::sign
      Src: /src/spdm-rs/external/ring/src/pbkdf2.rs:242,1
    - Dst: Result::as_ref
      Src: /src/spdm-rs/external/ring/src/pbkdf2.rs:242,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/pbkdf2.rs:244,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 6
    argNames:
    - secret
    - iterations
    - salt
    - idx
    - out
    - cpu
    argTypes:
    - '&hmac::Key'
    - NonZeroU32
    - '&[u8]'
    - u32
    - '&mut [u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 245
      start: 216
    functionDepth: 12
    functionLinenumber: 216
    functionLinenumberEnd: 245
    functionName: derive_block
    functionSourceFile: /src/spdm-rs/external/ring/src/pbkdf2.rs
    functionUses: 2
    functionsReached:
    - Result::as_ref
    - Ok
    - NonZeroU32::into
    - bb::xor_assign_at_start
    - Option::sign
    - update
    - try_sign
    - hmac::Context::with_key
    - u32::to_be_bytes
    linkageType: ''
    returnType: Result
    signature: 'fn derive_block(secret: &hmac::Key,iterations: NonZeroU32,salt: &[u8],idx:
      u32,out: &mut [u8],cpu: cpu::Features,) -> Result<(), InputTooLongError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digest_algorithm
      Src: /src/spdm-rs/external/ring/src/pbkdf2.rs:299,1
    - Dst: '&[u8]::is_empty'
      Src: /src/spdm-rs/external/ring/src/pbkdf2.rs:301,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/pbkdf2.rs:302,1
    - Dst: VerifyError::previously_derived_empty
      Src: /src/spdm-rs/external/ring/src/pbkdf2.rs:302,1
    - Dst: Option::output_len
      Src: /src/spdm-rs/external/ring/src/pbkdf2.rs:307,1
    - Dst: hmac::Key::try_new
      Src: /src/spdm-rs/external/ring/src/pbkdf2.rs:309,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/pbkdf2.rs:309,1
    - Dst: '&[u8]::chunks'
      Src: /src/spdm-rs/external/ring/src/pbkdf2.rs:314,1
    - Dst: checked_add
      Src: /src/spdm-rs/external/ring/src/pbkdf2.rs:315,1
    - Dst: ok_or_else
      Src: /src/spdm-rs/external/ring/src/pbkdf2.rs:315,1
    - Dst: VerifyError::mismatch
      Src: /src/spdm-rs/external/ring/src/pbkdf2.rs:318,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/pbkdf2.rs:321,1
    - Dst: fill
      Src: /src/spdm-rs/external/ring/src/pbkdf2.rs:322,1
    - Dst: derive_block
      Src: /src/spdm-rs/external/ring/src/pbkdf2.rs:324,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/pbkdf2.rs:324,1
    - Dst: bb::verify_slices_are_equal
      Src: /src/spdm-rs/external/ring/src/pbkdf2.rs:330,1
    - Dst: Result::is_ok
      Src: /src/spdm-rs/external/ring/src/pbkdf2.rs:330,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/pbkdf2.rs:340,1
    - Dst: VerifyError::mismatch
      Src: /src/spdm-rs/external/ring/src/pbkdf2.rs:340,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/pbkdf2.rs:343,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 62
    argCount: 6
    argNames:
    - algorithm
    - iterations
    - salt
    - secret
    - previously_derived
    - cpu
    argTypes:
    - Algorithm
    - NonZeroU32
    - '&[u8]'
    - '&[u8]'
    - '&[u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 344
      start: 291
    functionDepth: 13
    functionLinenumber: 291
    functionLinenumberEnd: 344
    functionName: try_verify
    functionSourceFile: /src/spdm-rs/external/ring/src/pbkdf2.rs
    functionUses: 0
    functionsReached:
    - Ok
    - digest_algorithm
    - VerifyError::mismatch
    - '&[u8]::is_empty'
    - Result::is_ok
    - Err
    - Result::map_err
    - Option::output_len
    - ok_or_else
    - len
    - hmac::Key::try_new
    - bb::verify_slices_are_equal
    - checked_add
    - VerifyError::previously_derived_empty
    - derive_block
    - fill
    - '&[u8]::chunks'
    linkageType: ''
    returnType: Result
    signature: 'fn try_verify(algorithm: Algorithm,iterations: NonZeroU32,salt: &[u8],secret:
      &[u8],previously_derived: &[u8],cpu: cpu::Features,) -> Result<(), VerifyError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TestCase::consume_string
      Src: /src/spdm-rs/external/ring/src/testutil.rs:266,1
    - Dst: parse::<usize>
      Src: /src/spdm-rs/external/ring/src/testutil.rs:267,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/ring/src/testutil.rs:267,1
    - Dst: bits::BitLength::from_bits
      Src: /src/spdm-rs/external/ring/src/testutil.rs:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 5
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: TestCase::consume_usize_bits
    functionSourceFile: /src/spdm-rs/external/ring/src/testutil.rs
    functionUses: 0
    functionsReached:
    - TestCase::consume_string
    - parse::<usize>
    - bits::BitLength::from_bits
    - unwrap
    linkageType: ''
    returnType: bits::BitLength
    signature: 'pub fn consume_usize_bits(&mut self, key: &str) -> bits::BitLength'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 303
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 303
    functionName: test_vector_file
    functionSourceFile: /src/spdm-rs/external/ring/src/testutil.rs
    functionUses: 44
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/spdm-rs/external/ring/src/digest.rs:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - '&''static Algorithm'
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: BlockContext::new
    functionSourceFile: /src/spdm-rs/external/ring/src/digest.rs
    functionUses: 1
    functionsReached:
    - clone
    linkageType: ''
    returnType: Self
    signature: 'pub(crate) fn new(algorithm: &''static Algorithm) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BlockContext::block_data_order
      Src: /src/spdm-rs/external/ring/src/digest.rs:65,1
    - Dst: saturating_add
      Src: /src/spdm-rs/external/ring/src/digest.rs:70,1
    - Dst: polyfill::u64_from_usize
      Src: /src/spdm-rs/external/ring/src/digest.rs:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - input
    - cpu_features
    argTypes:
    - '&''i [u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: BlockContext::update
    functionSourceFile: /src/spdm-rs/external/ring/src/digest.rs
    functionUses: 0
    functionsReached:
    - BlockContext::block_data_order
    - saturating_add
    - polyfill::u64_from_usize
    linkageType: ''
    returnType: '&''i [u8]'
    signature: 'pub(crate) fn update<''i>(&mut self, input: &''i [u8], cpu_features:
      cpu::Features) -> &''i [u8]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checked_add
      Src: /src/spdm-rs/external/ring/src/digest.rs:87,1
    - Dst: polyfill::u64_from_usize
      Src: /src/spdm-rs/external/ring/src/digest.rs:89,1
    - Dst: ok_or_else
      Src: /src/spdm-rs/external/ring/src/digest.rs:87,1
    - Dst: InputTooLongError::new
      Src: /src/spdm-rs/external/ring/src/digest.rs:92,1
    - Dst: and_then
      Src: /src/spdm-rs/external/ring/src/digest.rs:87,1
    - Dst: map_err
      Src: /src/spdm-rs/external/ring/src/digest.rs:87,1
    - Dst: block_len
      Src: /src/spdm-rs/external/ring/src/digest.rs:97,1
    - Dst: SpdmSupportedAlgorithmsBlock::get_mut
      Src: /src/spdm-rs/external/ring/src/digest.rs:100,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/digest.rs:107,1
    - Dst: FinishError::pending_not_a_partial_block
      Src: /src/spdm-rs/external/ring/src/digest.rs:107,1
    - Dst: as_deref
      Src: /src/spdm-rs/external/ring/src/digest.rs:108,1
    - Dst: Result::len
      Src: /src/spdm-rs/external/ring/src/digest.rs:113,1
    - Dst: usize::checked_sub
      Src: /src/spdm-rs/external/ring/src/digest.rs:113,1
    - Dst: len_len
      Src: /src/spdm-rs/external/ring/src/digest.rs:115,1
    - Dst: Result::fill
      Src: /src/spdm-rs/external/ring/src/digest.rs:119,1
    - Dst: BlockContext::block_data_order
      Src: /src/spdm-rs/external/ring/src/digest.rs:120,1
    - Dst: Result::split_at_mut
      Src: /src/spdm-rs/external/ring/src/digest.rs:128,1
    - Dst: Result::len
      Src: /src/spdm-rs/external/ring/src/digest.rs:128,1
    - Dst: fill
      Src: /src/spdm-rs/external/ring/src/digest.rs:129,1
    - Dst: usize::copy_from_slice
      Src: /src/spdm-rs/external/ring/src/digest.rs:130,1
    - Dst: to_be_bytes
      Src: /src/spdm-rs/external/ring/src/digest.rs:130,1
    - Dst: BlockContext::block_data_order
      Src: /src/spdm-rs/external/ring/src/digest.rs:132,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/digest.rs:135,1
    - Dst: format_output
      Src: /src/spdm-rs/external/ring/src/digest.rs:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 74
    argCount: 3
    argNames:
    - block
    - num_pending
    - cpu_features
    argTypes:
    - '&mut [u8; MAX_BLOCK_LEN]'
    - usize
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 139
      start: 81
    functionDepth: 10
    functionLinenumber: 81
    functionLinenumberEnd: 139
    functionName: BlockContext::try_finish
    functionSourceFile: /src/spdm-rs/external/ring/src/digest.rs
    functionUses: 0
    functionsReached:
    - map_err
    - Result::len
    - to_be_bytes
    - usize::checked_sub
    - and_then
    - format_output
    - FinishError::pending_not_a_partial_block
    - as_deref
    - ok_or_else
    - Result::split_at_mut
    - Ok
    - fill
    - block_len
    - len_len
    - Err
    - Result::fill
    - SpdmSupportedAlgorithmsBlock::get_mut
    - usize::copy_from_slice
    - BlockContext::block_data_order
    - InputTooLongError::new
    - checked_add
    - polyfill::u64_from_usize
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn try_finish(mut self,block: &mut [u8; MAX_BLOCK_LEN],num_pending:
      usize,cpu_features: cpu::Features,) -> Result<Digest, FinishError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - data
    - cpu_features
    argTypes:
    - '&''d [u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 148
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 148
    functionName: BlockContext::block_data_order
    functionSourceFile: /src/spdm-rs/external/ring/src/digest.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: (usize, &'d [u8])
    signature: 'fn block_data_order<''d>(&mut self,data: &''d [u8],cpu_features: cpu::Features,)
      -> (usize, &''d [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc::vec::Vec::new
      Src: /src/spdm-rs/external/ring/src/digest.rs:153,1
    - Dst: Bytes::push
      Src: /src/spdm-rs/external/ring/src/digest.rs:163,1
    - Dst: Bytes::extend_from_slice
      Src: /src/spdm-rs/external/ring/src/digest.rs:166,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/external/ring/src/digest.rs:166,1
    - Dst: Bytes::extend_from_slice
      Src: /src/spdm-rs/external/ring/src/digest.rs:169,1
    - Dst: to_bytes
      Src: /src/spdm-rs/external/ring/src/digest.rs:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 172
    functionName: BlockContext::to_bytes
    functionSourceFile: /src/spdm-rs/external/ring/src/digest.rs
    functionUses: 0
    functionsReached:
    - alloc::vec::Vec::new
    - to_bytes
    - Bytes::push
    - to_le_bytes
    - Bytes::extend_from_slice
    linkageType: ''
    returnType: alloc::vec::Vec
    signature: pub(crate) fn to_bytes(&self) -> alloc::vec::Vec<u8>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bytes::len
      Src: /src/spdm-rs/external/ring/src/digest.rs:176,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/digest.rs:177,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/digest.rs:188,1
    - Dst: u64::from_le_bytes
      Src: /src/spdm-rs/external/ring/src/digest.rs:192,1
    - Dst: DynState::from_bytes
      Src: /src/spdm-rs/external/ring/src/digest.rs:197,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/digest.rs:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 204
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 204
    functionName: BlockContext::from_bytes
    functionSourceFile: /src/spdm-rs/external/ring/src/digest.rs
    functionUses: 1
    functionsReached:
    - Bytes::len
    - Err
    - DynState::from_bytes
    - u64::from_le_bytes
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn from_bytes(bytes: &[u8]) -> Result<Self, ()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::pending_not_a_partial_block_inner
      Src: /src/spdm-rs/external/ring/src/digest.rs:221,1
    - Dst: Self::pending_not_a_partial_block_inner
      Src: /src/spdm-rs/external/ring/src/digest.rs:222,1
    - Dst: Result::len
      Src: /src/spdm-rs/external/ring/src/digest.rs:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - padding
    argTypes:
    - Option<&[u8]>
    constantsTouched: []
    func_position:
      end: 224
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 224
    functionName: FinishError::pending_not_a_partial_block
    functionSourceFile: /src/spdm-rs/external/ring/src/digest.rs
    functionUses: 1
    functionsReached:
    - Result::len
    - Self::pending_not_a_partial_block_inner
    linkageType: ''
    returnType: Self
    signature: 'fn pending_not_a_partial_block(padding: Option<&[u8]>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmSupportedAlgorithmsBlock::clone
      Src: /src/spdm-rs/external/ring/src/digest.rs:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - block
    argTypes:
    - '&BlockContext'
    constantsTouched: []
    func_position:
      end: 270
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 270
    functionName: Context::clone_from
    functionSourceFile: /src/spdm-rs/external/ring/src/digest.rs
    functionUses: 1
    functionsReached:
    - SpdmSupportedAlgorithmsBlock::clone
    linkageType: ''
    returnType: Self
    signature: 'pub(crate) fn clone_from(block: &BlockContext) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_bytes
      Src: /src/spdm-rs/external/ring/src/digest.rs:349,1
    - Dst: Bytes::extend_from_slice
      Src: /src/spdm-rs/external/ring/src/digest.rs:352,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/external/ring/src/digest.rs:352,1
    - Dst: Bytes::extend_from_slice
      Src: /src/spdm-rs/external/ring/src/digest.rs:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 358
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 358
    functionName: Context::to_bytes
    functionSourceFile: /src/spdm-rs/external/ring/src/digest.rs
    functionUses: 0
    functionsReached:
    - to_bytes
    - to_le_bytes
    - Bytes::extend_from_slice
    linkageType: ''
    returnType: alloc::vec::Vec
    signature: pub fn to_bytes(&self) -> alloc::vec::Vec<u8>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bytes::len
      Src: /src/spdm-rs/external/ring/src/digest.rs:363,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/digest.rs:364,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/digest.rs:372,1
    - Dst: Bytes::len
      Src: /src/spdm-rs/external/ring/src/digest.rs:377,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/digest.rs:378,1
    - Dst: BlockContext::from_bytes
      Src: /src/spdm-rs/external/ring/src/digest.rs:382,1
    - Dst: u64::from_le_bytes
      Src: /src/spdm-rs/external/ring/src/digest.rs:386,1
    - Dst: block_len
      Src: /src/spdm-rs/external/ring/src/digest.rs:398,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/digest.rs:400,1
    - Dst: Bytes::len
      Src: /src/spdm-rs/external/ring/src/digest.rs:403,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/digest.rs:404,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/ring/src/digest.rs:409,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/digest.rs:412,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 81
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 417
      start: 361
    functionDepth: 5
    functionLinenumber: 361
    functionLinenumberEnd: 417
    functionName: Context::from_bytes
    functionSourceFile: /src/spdm-rs/external/ring/src/digest.rs
    functionUses: 1
    functionsReached:
    - Bytes::len
    - block_len
    - Err
    - copy_from_slice
    - BlockContext::from_bytes
    - u64::from_le_bytes
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_bytes(bytes: &[u8]) -> Result<Self, ()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Context::new
      Src: /src/spdm-rs/external/ring/src/digest.rs:443,1
    - Dst: update
      Src: /src/spdm-rs/external/ring/src/digest.rs:444,1
    - Dst: try_finish
      Src: /src/spdm-rs/external/ring/src/digest.rs:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - algorithm
    - data
    - cpu
    argTypes:
    - '&''static Algorithm'
    - '&[u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 446
      start: 438
    functionDepth: 11
    functionLinenumber: 438
    functionLinenumberEnd: 446
    functionName: Digest::compute_from
    functionSourceFile: /src/spdm-rs/external/ring/src/digest.rs
    functionUses: 2
    functionsReached:
    - try_finish
    - update
    - Context::new
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn compute_from(algorithm: &''static Algorithm,data: &[u8],cpu:
      cpu::Features,) -> Result<Self, InputTooLongError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Output
      Src: /src/spdm-rs/external/ring/src/digest.rs:661,1
    - Dst: chunks_mut
      Src: /src/spdm-rs/external/ring/src/digest.rs:662,1
    - Dst: zip
      Src: /src/spdm-rs/external/ring/src/digest.rs:662,1
    - Dst: iter
      Src: /src/spdm-rs/external/ring/src/digest.rs:665,1
    - Dst: Self::IntoIter::copied
      Src: /src/spdm-rs/external/ring/src/digest.rs:665,1
    - Dst: map
      Src: /src/spdm-rs/external/ring/src/digest.rs:665,1
    - Dst: f
      Src: /src/spdm-rs/external/ring/src/digest.rs:665,1
    - Dst: for_each
      Src: /src/spdm-rs/external/ring/src/digest.rs:662,1
    - Dst: SpdmResult::copy_from_slice
      Src: /src/spdm-rs/external/ring/src/digest.rs:667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 2
    argNames:
    - input
    - f
    argTypes:
    - '[Wrapping<T>; sha2::CHAINING_WORDS]'
    - F
    constantsTouched: []
    func_position:
      end: 670
      start: 656
    functionDepth: 9
    functionLinenumber: 656
    functionLinenumberEnd: 670
    functionName: format_output
    functionSourceFile: /src/spdm-rs/external/ring/src/digest.rs
    functionUses: 1
    functionsReached:
    - zip
    - Output
    - Self::IntoIter::copied
    - iter
    - map
    - for_each
    - SpdmResult::copy_from_slice
    - chunks_mut
    - f
    linkageType: ''
    returnType: Output
    signature: 'fn format_output<T, F, const N: usize>(input: [Wrapping<T>; sha2::CHAINING_WORDS],
      f: F) -> OutputwhereF: Fn(T) -> [u8; N],T: Copy,'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 698
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 698
    functionName: BlockLen::into
    functionSourceFile: /src/spdm-rs/external/ring/src/digest.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: const fn into(self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 707
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 707
    functionName: BlockLen::len_len
    functionSourceFile: /src/spdm-rs/external/ring/src/digest.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: const fn len_len(self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 730
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 730
    functionName: OutputLen::into
    functionSourceFile: /src/spdm-rs/external/ring/src/digest.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: const fn into(self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::debug_tuple
      Src: /src/spdm-rs/external/ring/src/aead.rs:104,1
    - Dst: field
      Src: /src/spdm-rs/external/ring/src/aead.rs:104,1
    - Dst: finish
      Src: /src/spdm-rs/external/ring/src/aead.rs:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 11
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: Aad::fmt
    functionSourceFile: /src/spdm-rs/external/ring/src/aead.rs
    functionUses: 0
    functionsReached:
    - SpdmCertChainBuffer::debug_tuple
    - finish
    - field
    linkageType: ''
    returnType: core::fmt::Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter<''_>) -> core::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eq
      Src: /src/spdm-rs/external/ring/src/aead.rs:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - other
    argTypes:
    - '&Self'
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: Aad::eq
    functionSourceFile: /src/spdm-rs/external/ring/src/aead.rs
    functionUses: 0
    functionsReached:
    - eq
    linkageType: ''
    returnType: bool
    signature: 'fn eq(&self, other: &Self) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usize_from_u64_saturated
      Src: /src/spdm-rs/external/ring/src/aead.rs:130,1
    - Dst: '{

        cpu,error,

        polyfill::u64_from_usize'
      Src: /src/spdm-rs/external/ring/src/aead.rs:131,1
    - Dst: '{

        cpu,error,

        polyfill::u64_from_usize'
      Src: /src/spdm-rs/external/ring/src/aead.rs:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - block_len
    - overhead_blocks_per_nonce
    argTypes:
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 133
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 133
    functionName: max_input_len
    functionSourceFile: /src/spdm-rs/external/ring/src/aead.rs
    functionUses: 0
    functionsReached:
    - '{

      cpu,error,

      polyfill::u64_from_usize'
    - usize_from_u64_saturated
    linkageType: ''
    returnType: usize
    signature: 'const fn max_input_len(block_len: usize, overhead_blocks_per_nonce:
      usize) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::try_into
      Src: /src/spdm-rs/external/ring/src/aead.rs:151,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/aead.rs:151,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/aead.rs:152,1
    - Dst: Self::from
      Src: /src/spdm-rs/external/ring/src/aead.rs:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - value
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 4
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: Tag::try_from
    functionSourceFile: /src/spdm-rs/external/ring/src/aead.rs
    functionUses: 1
    functionsReached:
    - u8::try_into
    - Self::from
    - Ok
    - Result::map_err
    linkageType: ''
    returnType: Result
    signature: 'fn try_from(value: &[u8]) -> Result<Self, Self::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/ring/src/aead.rs:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - '[u8; TAG_LEN]'
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: Tag::from
    functionSourceFile: /src/spdm-rs/external/ring/src/aead.rs
    functionUses: 1
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: 'fn from(value: [u8; TAG_LEN]) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16
      start: 2
    functionDepth: 0
    functionLinenumber: 2
    functionLinenumberEnd: 16
    functionName: core_name_and_version
    functionSourceFile: /src/spdm-rs/external/ring/src/prefixed.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: prefix
    functionSourceFile: /src/spdm-rs/external/ring/src/prefixed.rs
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prefixed_item
      Src: /src/spdm-rs/external/ring/src/prefixed.rs:3,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 82
    functionName: prefixed_extern
    functionSourceFile: /src/spdm-rs/external/ring/src/prefixed.rs
    functionUses: 16
    functionsReached:
    - prefixed_item
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prefixed_item
      Src: /src/spdm-rs/external/ring/src/prefixed.rs:2,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 107
    functionName: prefixed_export
    functionSourceFile: /src/spdm-rs/external/ring/src/prefixed.rs
    functionUses: 0
    functionsReached:
    - prefixed_item
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: prefixed_item
    functionSourceFile: /src/spdm-rs/external/ring/src/prefixed.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EphemeralPrivateKey::bytes_for_test
      Src: /src/spdm-rs/external/ring/src/agreement.rs:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: EphemeralPrivateKey::bytes
    functionSourceFile: /src/spdm-rs/external/ring/src/agreement.rs
    functionUses: 0
    functionsReached:
    - EphemeralPrivateKey::bytes_for_test
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn bytes(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bytes_less_safe
      Src: /src/spdm-rs/external/ring/src/agreement.rs:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: EphemeralPrivateKey::bytes_for_test
    functionSourceFile: /src/spdm-rs/external/ring/src/agreement.rs
    functionUses: 1
    functionsReached:
    - bytes_less_safe
    linkageType: ''
    returnType: '&[u8]'
    signature: pub(super) fn bytes_for_test(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bytes_less_safe
      Src: /src/spdm-rs/external/ring/src/agreement.rs:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: EphemeralPrivateKey::export_private_key_bytes
    functionSourceFile: /src/spdm-rs/external/ring/src/agreement.rs
    functionUses: 0
    functionsReached:
    - bytes_less_safe
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn export_private_key_bytes(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ec::Seed::from_bytes
      Src: /src/spdm-rs/external/ring/src/agreement.rs:167,1
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/agreement.rs:167,1
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/agreement.rs:167,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/agreement.rs:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - alg
    - bytes
    argTypes:
    - '&''static Algorithm'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 14
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: EphemeralPrivateKey::from_private_key_bytes
    functionSourceFile: /src/spdm-rs/external/ring/src/agreement.rs
    functionUses: 3
    functionsReached:
    - untrusted::Input::from
    - Ok
    - ec::Seed::from_bytes
    - cpu::features
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_private_key_bytes(alg: &''static Algorithm, bytes: &[u8])
      -> Result<Self, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/agreement.rs:294,1
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/agreement.rs:319,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/agreement.rs:327,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 4
    argNames:
    - my_private_key
    - peer_public_key
    - kdf
    - cpu
    argTypes:
    - EphemeralPrivateKey
    - UnparsedPublicKey<&[u8]>
    - impl FnOnce(&[u8]) -> R
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 328
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 328
    functionName: agree_ephemeral_
    functionSourceFile: /src/spdm-rs/external/ring/src/agreement.rs
    functionUses: 0
    functionsReached:
    - untrusted::Input::from
    - Err
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn agree_ephemeral_<R>(my_private_key: EphemeralPrivateKey,peer_public_key:
      UnparsedPublicKey<&[u8]>,kdf: impl FnOnce(&[u8]) -> R,cpu: cpu::Features,) ->
      Result<R, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut [u8]::len'
      Src: /src/spdm-rs/external/ring/src/hkdf.rs:194,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/hkdf.rs:195,1
    - Dst: algorithm
      Src: /src/spdm-rs/external/ring/src/hkdf.rs:198,1
    - Dst: digest_algorithm
      Src: /src/spdm-rs/external/ring/src/hkdf.rs:198,1
    - Dst: hmac::Context::with_key
      Src: /src/spdm-rs/external/ring/src/hkdf.rs:201,1
    - Dst: update
      Src: /src/spdm-rs/external/ring/src/hkdf.rs:207,1
    - Dst: update
      Src: /src/spdm-rs/external/ring/src/hkdf.rs:209,1
    - Dst: sign
      Src: /src/spdm-rs/external/ring/src/hkdf.rs:211,1
    - Dst: SpdmResult::as_ref
      Src: /src/spdm-rs/external/ring/src/hkdf.rs:212,1
    - Dst: '&mut [u8]::len'
      Src: /src/spdm-rs/external/ring/src/hkdf.rs:215,1
    - Dst: Option::output_len
      Src: /src/spdm-rs/external/ring/src/hkdf.rs:215,1
    - Dst: '&mut [u8]::len'
      Src: /src/spdm-rs/external/ring/src/hkdf.rs:216,1
    - Dst: '&mut [u8]::copy_from_slice'
      Src: /src/spdm-rs/external/ring/src/hkdf.rs:217,1
    - Dst: '&mut [u8]::split_at_mut'
      Src: /src/spdm-rs/external/ring/src/hkdf.rs:220,1
    - Dst: Option::output_len
      Src: /src/spdm-rs/external/ring/src/hkdf.rs:220,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/ring/src/hkdf.rs:221,1
    - Dst: '&mut [u8]::is_empty'
      Src: /src/spdm-rs/external/ring/src/hkdf.rs:225,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/hkdf.rs:226,1
    - Dst: hmac::Context::with_key
      Src: /src/spdm-rs/external/ring/src/hkdf.rs:229,1
    - Dst: update
      Src: /src/spdm-rs/external/ring/src/hkdf.rs:230,1
    - Dst: checked_add
      Src: /src/spdm-rs/external/ring/src/hkdf.rs:231,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/ring/src/hkdf.rs:231,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 80
    argCount: 4
    argNames:
    - prk
    - info
    - out
    - len
    argTypes:
    - '&Prk'
    - '&[&[u8]]'
    - '&mut [u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 233
      start: 188
    functionDepth: 11
    functionLinenumber: 188
    functionLinenumberEnd: 233
    functionName: fill_okm
    functionSourceFile: /src/spdm-rs/external/ring/src/hkdf.rs
    functionUses: 1
    functionsReached:
    - '&mut [u8]::copy_from_slice'
    - algorithm
    - digest_algorithm
    - SpdmResult::as_ref
    - '&mut [u8]::is_empty'
    - unwrap
    - Err
    - '&mut [u8]::len'
    - sign
    - '&mut [u8]::split_at_mut'
    - Option::output_len
    - update
    - copy_from_slice
    - hmac::Context::with_key
    - checked_add
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn fill_okm(prk: &Prk,info: &[&[u8]],out: &mut [u8],len: usize,) ->
      Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: u64_from_usize
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill.rs
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: 'pub const fn u64_from_usize(x: usize) -> u64'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: usize_from_u32
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: 'pub const fn usize_from_u32(x: u32) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: usize_from_u64
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: 'pub fn usize_from_u64(x: u64) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: usize_from_u64_saturated
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: 'pub const fn usize_from_u64_saturated(x: u64) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: tests::test_usize_from_u64_saturated
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_usize_from_u64_saturated()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: LengthMeasurement::zero
    functionSourceFile: /src/spdm-rs/external/ring/src/io/writer.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: pub fn zero() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checked_add
      Src: /src/spdm-rs/external/ring/src/io/writer.rs:40,1
    - Dst: ok_or_else
      Src: /src/spdm-rs/external/ring/src/io/writer.rs:40,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/io/writer.rs:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - _value
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: LengthMeasurement::write_byte
    functionSourceFile: /src/spdm-rs/external/ring/src/io/writer.rs
    functionUses: 0
    functionsReached:
    - ok_or_else
    - checked_add
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn write_byte(&mut self, _value: u8) -> Result<(), TooLongError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checked_add
      Src: /src/spdm-rs/external/ring/src/io/writer.rs:44,1
    - Dst: u8::len
      Src: /src/spdm-rs/external/ring/src/io/writer.rs:46,1
    - Dst: ok_or_else
      Src: /src/spdm-rs/external/ring/src/io/writer.rs:44,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/io/writer.rs:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - value
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: LengthMeasurement::write_bytes
    functionSourceFile: /src/spdm-rs/external/ring/src/io/writer.rs
    functionUses: 0
    functionsReached:
    - ok_or_else
    - u8::len
    - checked_add
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn write_bytes(&mut self, value: &[u8]) -> Result<(), TooLongError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::with_capacity
      Src: /src/spdm-rs/external/ring/src/io/writer.rs:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - capacity
    argTypes:
    - LengthMeasurement
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: Writer::with_capacity
    functionSourceFile: /src/spdm-rs/external/ring/src/io/writer.rs
    functionUses: 1
    functionsReached:
    - Vec::with_capacity
    linkageType: ''
    returnType: Self
    signature: 'pub(super) fn with_capacity(capacity: LengthMeasurement) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into_boxed_slice
      Src: /src/spdm-rs/external/ring/src/io/writer.rs:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - writer
    argTypes:
    - Writer
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: Box::from
    functionSourceFile: /src/spdm-rs/external/ring/src/io/writer.rs
    functionUses: 0
    functionsReached:
    - into_boxed_slice
    linkageType: ''
    returnType: Self
    signature: 'fn from(writer: Writer) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/spdm-rs/external/ring/src/io/writer.rs:75,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/io/writer.rs:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: Writer::write_byte
    functionSourceFile: /src/spdm-rs/external/ring/src/io/writer.rs
    functionUses: 2
    functionsReached:
    - Ok
    - push
    linkageType: ''
    returnType: Result
    signature: 'fn write_byte(&mut self, value: u8) -> Result<(), TooLongError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extend
      Src: /src/spdm-rs/external/ring/src/io/writer.rs:79,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/io/writer.rs:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: Writer::write_bytes
    functionSourceFile: /src/spdm-rs/external/ring/src/io/writer.rs
    functionUses: 0
    functionsReached:
    - extend
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn write_bytes(&mut self, value: &[u8]) -> Result<(), TooLongError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut dyn Accumulator::write_bytes'
      Src: /src/spdm-rs/external/ring/src/io/writer.rs:88,1
    - Dst: untrusted::Input::as_slice_less_safe
      Src: /src/spdm-rs/external/ring/src/io/writer.rs:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - accumulator
    - to_copy
    argTypes:
    - '&mut dyn Accumulator'
    - untrusted::Input
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: write_copy
    functionSourceFile: /src/spdm-rs/external/ring/src/io/writer.rs
    functionUses: 1
    functionsReached:
    - untrusted::Input::as_slice_less_safe
    - '&mut dyn Accumulator::write_bytes'
    linkageType: ''
    returnType: Result
    signature: 'pub fn write_copy(accumulator: &mut dyn Accumulator,to_copy: untrusted::Input,)
      -> Result<(), TooLongError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/ring/src/io/writer.rs:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: TooLongError::new
    functionSourceFile: /src/spdm-rs/external/ring/src/io/writer.rs
    functionUses: 5
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: pub fn new() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: Tag::into
    functionSourceFile: /src/spdm-rs/external/ring/src/io/der.rs
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: pub const fn into(self) -> u8
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nested
      Src: /src/spdm-rs/external/ring/src/io/der.rs:124,1
    - Dst: u8::read_byte
      Src: /src/spdm-rs/external/ring/src/io/der.rs:125,1
    - Dst: map_err
      Src: /src/spdm-rs/external/ring/src/io/der.rs:125,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/io/der.rs:127,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/io/der.rs:129,1
    - Dst: u8::read_bytes_to_end
      Src: /src/spdm-rs/external/ring/src/io/der.rs:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - tag
    - input
    argTypes:
    - Tag
    - '&mut untrusted::Reader<''a>'
    constantsTouched: []
    func_position:
      end: 131
      start: 120
    functionDepth: 14
    functionLinenumber: 120
    functionLinenumberEnd: 131
    functionName: bit_string_tagged_with_no_unused_bits
    functionSourceFile: /src/spdm-rs/external/ring/src/io/der.rs
    functionUses: 2
    functionsReached:
    - nested
    - map_err
    - u8::read_bytes_to_end
    - Err
    - u8::read_byte
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn bit_string_tagged_with_no_unused_bits<''a>(tag: Tag,input:
      &mut untrusted::Reader<''a>,) -> Result<untrusted::Input<''a>, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/io/der.rs:204,1
    - Dst: Self::read_all
      Src: /src/spdm-rs/external/ring/src/io/der.rs:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value
    - f
    argTypes:
    - '&''a [u8]'
    - F
    constantsTouched: []
    func_position:
      end: 205
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 205
    functionName: tests::with_i
    functionSourceFile: /src/spdm-rs/external/ring/src/io/der.rs
    functionUses: 0
    functionsReached:
    - Self::read_all
    - untrusted::Input::from
    linkageType: ''
    returnType: Result
    signature: 'fn with_i<''a, F, R>(value: &''a [u8], f: F) -> Result<R, error::Unspecified>whereF:
      FnOnce(&mut untrusted::Reader<''a>) -> Result<R, error::Unspecified>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_slice_less_safe
      Src: /src/spdm-rs/external/ring/src/io/positive.rs:27,1
    - Dst: first
      Src: /src/spdm-rs/external/ring/src/io/positive.rs:27,1
    - Dst: ok_or
      Src: /src/spdm-rs/external/ring/src/io/positive.rs:27,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/io/positive.rs:33,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/io/positive.rs:35,1
    - Dst: Self
      Src: /src/spdm-rs/external/ring/src/io/positive.rs:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - input
    argTypes:
    - untrusted::Input<'a>
    constantsTouched: []
    func_position:
      end: 36
      start: 25
    functionDepth: 3
    functionLinenumber: 25
    functionLinenumberEnd: 36
    functionName: Positive::from_be_bytes
    functionSourceFile: /src/spdm-rs/external/ring/src/io/positive.rs
    functionUses: 2
    functionsReached:
    - Self
    - Err
    - ok_or
    - first
    - as_slice_less_safe
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn from_be_bytes(input: untrusted::Input<''a>) -> Result<Self,
      error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/io/positive.rs:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 97
    functionName: tests::test_from_be_bytes
    functionSourceFile: /src/spdm-rs/external/ring/src/io/positive.rs
    functionUses: 0
    functionsReached:
    - untrusted::Input::from
    linkageType: ''
    returnType: void
    signature: fn test_from_be_bytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::first_byte
      Src: /src/spdm-rs/external/ring/src/io/der_writer.rs:22,1
    - Dst: u8::big_endian_without_leading_zero_as_input
      Src: /src/spdm-rs/external/ring/src/io/der_writer.rs:23,1
    - Dst: write_tlv
      Src: /src/spdm-rs/external/ring/src/io/der_writer.rs:24,1
    - Dst: write_byte
      Src: /src/spdm-rs/external/ring/src/io/der_writer.rs:26,1
    - Dst: write_copy
      Src: /src/spdm-rs/external/ring/src/io/der_writer.rs:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - output
    - value
    argTypes:
    - '&mut dyn Accumulator'
    - '&Positive'
    constantsTouched: []
    func_position:
      end: 30
      start: 18
    functionDepth: 5
    functionLinenumber: 18
    functionLinenumberEnd: 30
    functionName: write_positive_integer
    functionSourceFile: /src/spdm-rs/external/ring/src/io/der_writer.rs
    functionUses: 1
    functionsReached:
    - u8::big_endian_without_leading_zero_as_input
    - u8::first_byte
    - write_byte
    - write_tlv
    - write_copy
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn write_positive_integer(output: &mut dyn Accumulator,value:
      &Positive,) -> Result<(), TooLongError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LengthMeasurement::zero
      Src: /src/spdm-rs/external/ring/src/io/der_writer.rs:37,1
    - Dst: write_tlv
      Src: /src/spdm-rs/external/ring/src/io/der_writer.rs:38,1
    - Dst: Writer::with_capacity
      Src: /src/spdm-rs/external/ring/src/io/der_writer.rs:42,1
    - Dst: write_tlv
      Src: /src/spdm-rs/external/ring/src/io/der_writer.rs:43,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/io/der_writer.rs:45,1
    - Dst: into
      Src: /src/spdm-rs/external/ring/src/io/der_writer.rs:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - tag
    - write_value
    argTypes:
    - Tag
    - '&dyn Fn(&mut dyn Accumulator) -> Result<(), TooLongError>'
    constantsTouched: []
    func_position:
      end: 46
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 46
    functionName: write_all
    functionSourceFile: /src/spdm-rs/external/ring/src/io/der_writer.rs
    functionUses: 2
    functionsReached:
    - LengthMeasurement::zero
    - into
    - Writer::with_capacity
    - write_tlv
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn write_all(tag: Tag,write_value: &dyn Fn(&mut dyn Accumulator)
      -> Result<(), TooLongError>,) -> Result<Box<[u8]>, TooLongError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LengthMeasurement::zero
      Src: /src/spdm-rs/external/ring/src/io/der_writer.rs:53,1
    - Dst: write_value
      Src: /src/spdm-rs/external/ring/src/io/der_writer.rs:54,1
    - Dst: Option::into
      Src: /src/spdm-rs/external/ring/src/io/der_writer.rs:55,1
    - Dst: Option::try_into
      Src: /src/spdm-rs/external/ring/src/io/der_writer.rs:57,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/io/der_writer.rs:57,1
    - Dst: TooLongError::new
      Src: /src/spdm-rs/external/ring/src/io/der_writer.rs:57,1
    - Dst: write_byte
      Src: /src/spdm-rs/external/ring/src/io/der_writer.rs:59,1
    - Dst: Tag::into
      Src: /src/spdm-rs/external/ring/src/io/der_writer.rs:59,1
    - Dst: Option::to_le_bytes
      Src: /src/spdm-rs/external/ring/src/io/der_writer.rs:61,1
    - Dst: write_byte
      Src: /src/spdm-rs/external/ring/src/io/der_writer.rs:63,1
    - Dst: write_byte
      Src: /src/spdm-rs/external/ring/src/io/der_writer.rs:64,1
    - Dst: write_byte
      Src: /src/spdm-rs/external/ring/src/io/der_writer.rs:66,1
    - Dst: write_byte
      Src: /src/spdm-rs/external/ring/src/io/der_writer.rs:68,1
    - Dst: write_value
      Src: /src/spdm-rs/external/ring/src/io/der_writer.rs:70,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 3
    argNames:
    - output
    - tag
    - write_value
    argTypes:
    - '&mut dyn Accumulator'
    - Tag
    - F
    constantsTouched: []
    func_position:
      end: 71
      start: 48
    functionDepth: 4
    functionLinenumber: 48
    functionLinenumberEnd: 71
    functionName: write_tlv
    functionSourceFile: /src/spdm-rs/external/ring/src/io/der_writer.rs
    functionUses: 2
    functionsReached:
    - Option::try_into
    - LengthMeasurement::zero
    - Option::into
    - write_byte
    - Result::map_err
    - Tag::into
    - write_value
    - TooLongError::new
    - Option::to_le_bytes
    linkageType: ''
    returnType: Result
    signature: 'fn write_tlv<F>(output: &mut dyn Accumulator, tag: Tag, write_value:
      F) -> Result<(), TooLongError>whereF: Fn(&mut dyn Accumulator) -> Result<(),
      TooLongError>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BitLength::<usize>::from_byte_len
      Src: /src/spdm-rs/external/ring/src/tests/bits_tests.rs:25,1
    - Dst: BitLength::<u64>::from_byte_len
      Src: /src/spdm-rs/external/ring/src/tests/bits_tests.rs:38,1
    - Dst: BitLength::<u64>::from_byte_len
      Src: /src/spdm-rs/external/ring/src/tests/bits_tests.rs:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 64
    functionName: test_from_byte_len_overflow
    functionSourceFile: /src/spdm-rs/external/ring/src/tests/bits_tests.rs
    functionUses: 0
    functionsReached:
    - BitLength::<u64>::from_byte_len
    - BitLength::<usize>::from_byte_len
    linkageType: ''
    returnType: void
    signature: fn test_from_byte_len_overflow()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - imprecise_input_length
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: InputTooLongError::new
    functionSourceFile: /src/spdm-rs/external/ring/src/error/input_too_long.rs
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub(crate) fn new(imprecise_input_length: T) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames: []
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: erase
    functionSourceFile: /src/spdm-rs/external/ring/src/error/mod.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Unspecified
    signature: 'pub(crate) fn erase<T>(_: T) -> Unspecified'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/ring/src/error/key_rejected.rs:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: KeyRejected::invalid_component
    functionSourceFile: /src/spdm-rs/external/ring/src/error/key_rejected.rs
    functionUses: 4
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: pub(crate) fn invalid_component() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/ring/src/error/key_rejected.rs:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: KeyRejected::rng_failed
    functionSourceFile: /src/spdm-rs/external/ring/src/error/key_rejected.rs
    functionUses: 1
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: pub(crate) fn rng_failed() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/ring/src/error/key_rejected.rs:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: KeyRejected::public_key_is_missing
    functionSourceFile: /src/spdm-rs/external/ring/src/error/key_rejected.rs
    functionUses: 1
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: pub(crate) fn public_key_is_missing() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/ring/src/error/key_rejected.rs:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: KeyRejected::version_not_supported
    functionSourceFile: /src/spdm-rs/external/ring/src/error/key_rejected.rs
    functionUses: 3
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: pub(crate) fn version_not_supported() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/ring/src/error/key_rejected.rs:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: KeyRejected::private_modulus_len_not_multiple_of_512_bits
    functionSourceFile: /src/spdm-rs/external/ring/src/error/key_rejected.rs
    functionUses: 1
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: pub(crate) fn private_modulus_len_not_multiple_of_512_bits() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::to_ascii_lowercase
      Src: /src/spdm-rs/external/ring/src/arithmetic/constant.rs:5,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - d
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 10
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 10
    functionName: parse_digit
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/constant.rs
    functionUses: 1
    functionsReached:
    - Vec::to_ascii_lowercase
    linkageType: ''
    returnType: u8
    signature: 'const fn parse_digit(d: u8) -> u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::as_bytes
      Src: /src/spdm-rs/external/ring/src/arithmetic/constant.rs:14,1
    - Dst: size_of::<LeakyLimb>
      Src: /src/spdm-rs/external/ring/src/arithmetic/constant.rs:16,1
    - Dst: Result::len
      Src: /src/spdm-rs/external/ring/src/arithmetic/constant.rs:19,1
    - Dst: Result::len
      Src: /src/spdm-rs/external/ring/src/arithmetic/constant.rs:20,1
    - Dst: parse_digit
      Src: /src/spdm-rs/external/ring/src/arithmetic/constant.rs:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 1
    argNames:
    - hex
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 27
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 27
    functionName: limbs_from_hex
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/constant.rs
    functionUses: 1
    functionsReached:
    - Result::len
    - parse_digit
    - size_of::<LeakyLimb>
    - Result::as_bytes
    linkageType: ''
    returnType: '[LeakyLimb; LIMBS]'
    signature: 'pub const fn limbs_from_hex<const LIMBS: usize>(hex: &str) -> [LeakyLimb;
      LIMBS]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/arithmetic/ffi.rs:77,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/arithmetic/ffi.rs:78,1
    - Dst: LimbSliceError::too_short
      Src: /src/spdm-rs/external/ring/src/arithmetic/ffi.rs:78,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/arithmetic/ffi.rs:78,1
    - Dst: NonZeroUsize::new
      Src: /src/spdm-rs/external/ring/src/arithmetic/ffi.rs:80,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/arithmetic/ffi.rs:80,1
    - Dst: OnceNonZeroUsize::unwrap_or_else
      Src: /src/spdm-rs/external/ring/src/arithmetic/ffi.rs:80,1
    - Dst: usize::get
      Src: /src/spdm-rs/external/ring/src/arithmetic/ffi.rs:87,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/arithmetic/ffi.rs:88,1
    - Dst: LimbSliceError::too_long
      Src: /src/spdm-rs/external/ring/src/arithmetic/ffi.rs:88,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/arithmetic/ffi.rs:88,1
    - Dst: impl AliasingSlices3<Limb>::with_non_dangling_non_null_pointers_rab
      Src: /src/spdm-rs/external/ring/src/arithmetic/ffi.rs:90,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/ring/src/arithmetic/ffi.rs:92,1
    - Dst: f
      Src: /src/spdm-rs/external/ring/src/arithmetic/ffi.rs:94,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/arithmetic/ffi.rs:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    argCount: 5
    argNames:
    - in_out
    - n
    - n0
    - cpu
    - f
    argTypes:
    - impl AliasingSlices3<Limb>
    - '&[Limb]'
    - '&N0'
    - Cpu
    - "unsafe extern \"C\" fn(\n        r: *mut Limb,\n        a: *const Limb,\n \
      \       b: *const Limb,\n        n: *const Limb,\n        n0: &N0,\n       \
      \ len: c::NonZero_size_t,\n    )"
    constantsTouched: []
    func_position:
      end: 97
      start: 55
    functionDepth: 13
    functionLinenumber: 55
    functionLinenumberEnd: 97
    functionName: bn_mul_mont_ffi
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/ffi.rs
    functionUses: 0
    functionsReached:
    - LimbSliceError::too_short
    - NonZeroUsize::new
    - Err
    - usize::get
    - as_ptr
    - Result::map_err
    - len
    - impl AliasingSlices3<Limb>::with_non_dangling_non_null_pointers_rab
    - f
    - LimbSliceError::too_long
    - OnceNonZeroUsize::unwrap_or_else
    linkageType: ''
    returnType: Result
    signature: 'pub(super) unsafe fn bn_mul_mont_ffi<Cpu, const LEN_MIN: usize, const
      LEN_MOD: usize>(in_out: impl AliasingSlices3<Limb>,n: &[Limb],n0: &N0,cpu: Cpu,f:
      unsafe extern "C" fn(r: *mut Limb,a: *const Limb,b: *const Limb,n: *const Limb,n0:
      &N0,len: c::NonZero_size_t,),) -> Result<(), LimbSliceError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/ring/src/arithmetic/n0.rs:29,1
    - Dst: Self
      Src: /src/spdm-rs/external/ring/src/arithmetic/n0.rs:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - n0
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 36
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 36
    functionName: N0::precalculated
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/n0.rs
    functionUses: 1
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: 'pub const fn precalculated(n0: u64) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elem
    argTypes:
    - Elem<M, E>
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: Storage::from
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'fn from(elem: Elem<M, E>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - out
    argTypes:
    - Storage<M>
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: Elem::clone_into
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs
    functionUses: 1
    functionsReached:
    - copy_from_slice
    linkageType: ''
    returnType: Self
    signature: 'pub fn clone_into(&self, mut out: Storage<M>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limb::limbs_are_zero
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:104,1
    - Dst: LimbMask::leak
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 3
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: Elem::is_zero
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs
    functionUses: 1
    functionsReached:
    - LimbMask::leak
    - limb::limbs_are_zero
    linkageType: ''
    returnType: bool
    signature: pub fn is_zero(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limbs
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:116,1
    - Dst: Result::len
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:116,1
    - Dst: limbs_mul_mont
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:117,1
    - Dst: limbs
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:119,1
    - Dst: n0
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:120,1
    - Dst: cpu_features
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:121,1
    - Dst: Result::unwrap_or_else
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 2
    argNames:
    - in_out
    - m
    argTypes:
    - Storage<M>
    - '&Modulus<M>'
    constantsTouched: []
    func_position:
      end: 128
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 128
    functionName: from_montgomery_amm
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs
    functionUses: 2
    functionsReached:
    - Result::len
    - limbs_mul_mont
    - n0
    - Result::unwrap_or_else
    - limbs
    - cpu_features
    linkageType: ''
    returnType: Elem
    signature: 'fn from_montgomery_amm<M>(mut in_out: Storage<M>, m: &Modulus<M>)
      -> Elem<M, Unencoded>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_montgomery_amm
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:134,1
    - Dst: Storage::from
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - '&Modulus<M>'
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 4
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: Elem::into_unencoded
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs
    functionUses: 2
    functionsReached:
    - from_montgomery_amm
    - Storage::from
    linkageType: ''
    returnType: Elem
    signature: 'pub fn into_unencoded(self, m: &Modulus<M>) -> Elem<M, Unencoded>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:143,1
    - Dst: BoxedLimbs::from_be_bytes_padded_less_than
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - input
    - m
    argTypes:
    - untrusted::Input
    - '&Modulus<M>'
    constantsTouched: []
    func_position:
      end: 147
      start: 139
    functionDepth: 10
    functionLinenumber: 139
    functionLinenumberEnd: 147
    functionName: Elem::from_be_bytes_padded
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs
    functionUses: 3
    functionsReached:
    - Ok
    - BoxedLimbs::from_be_bytes_padded_less_than
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_be_bytes_padded(input: untrusted::Input,m: &Modulus<M>,)
      -> Result<Self, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limb::big_endian_from_limbs
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - out
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 9
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: Elem::fill_be_bytes
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs
    functionUses: 1
    functionsReached:
    - limb::big_endian_from_limbs
    linkageType: ''
    returnType: void
    signature: 'pub fn fill_be_bytes(&self, out: &mut [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limbs_mul_mont
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:165,1
    - Dst: as_mut
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:166,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:166,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:166,1
    - Dst: limbs
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:167,1
    - Dst: n0
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:168,1
    - Dst: cpu_features
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:169,1
    - Dst: Result::unwrap_or_else
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 4
    argNames:
    - out
    - a
    - b
    - m
    argTypes:
    - Storage<M>
    - '&Elem<M, AF>'
    - '&Elem<M, BF>'
    - '&Modulus<M>'
    constantsTouched: []
    func_position:
      end: 176
      start: 156
    functionDepth: 3
    functionLinenumber: 156
    functionLinenumberEnd: 176
    functionName: elem_mul_into
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs
    functionUses: 1
    functionsReached:
    - limbs_mul_mont
    - as_mut
    - n0
    - Result::unwrap_or_else
    - as_ref
    - limbs
    - cpu_features
    linkageType: ''
    returnType: Elem
    signature: 'pub fn elem_mul_into<M, AF, BF>(mut out: Storage<M>,a: &Elem<M, AF>,b:
      &Elem<M, BF>,m: &Modulus<M>,) -> Elem<M, <(AF, BF) as ProductEncoding>::Output>where(AF,
      BF): ProductEncoding,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limbs_mul_mont
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:186,1
    - Dst: limbs
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:188,1
    - Dst: n0
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:189,1
    - Dst: cpu_features
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:190,1
    - Dst: Result::unwrap_or_else
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 3
    argNames:
    - a
    - b
    - m
    argTypes:
    - '&Elem<M, AF>'
    - Elem<M, BF>
    - '&Modulus<M>'
    constantsTouched: []
    func_position:
      end: 197
      start: 178
    functionDepth: 3
    functionLinenumber: 178
    functionLinenumberEnd: 197
    functionName: elem_mul
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs
    functionUses: 13
    functionsReached:
    - cpu_features
    - limbs_mul_mont
    - n0
    - limbs
    - Result::unwrap_or_else
    linkageType: ''
    returnType: Elem
    signature: 'pub fn elem_mul<M, AF, BF>(a: &Elem<M, AF>,mut b: Elem<M, BF>,m: &Modulus<M>,)
      -> Elem<M, <(AF, BF) as ProductEncoding>::Output>where(AF, BF): ProductEncoding,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limb::limbs_double_mod
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:201,1
    - Dst: limbs
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:201,1
    - Dst: Result::unwrap_or_else
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - r
    - m
    argTypes:
    - '&mut Elem<M, AF>'
    - '&Modulus<M>'
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 14
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: elem_double
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs
    functionUses: 1
    functionsReached:
    - limbs
    - limb::limbs_double_mod
    - Result::unwrap_or_else
    linkageType: ''
    returnType: void
    signature: 'fn elem_double<M, AF>(r: &mut Elem<M, AF>, m: &Modulus<M>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:216,1
    - Dst: limb::limbs_reduce_once
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:217,1
    - Dst: limbs
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:217,1
    - Dst: Result::unwrap_or_else
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 4
    argNames:
    - r
    - a
    - m
    - other_modulus_len_bits
    argTypes:
    - Storage<M>
    - '&Elem<A, Unencoded>'
    - '&Modulus<M>'
    - BitLength
    constantsTouched: []
    func_position:
      end: 223
      start: 209
    functionDepth: 3
    functionLinenumber: 209
    functionLinenumberEnd: 223
    functionName: elem_reduced_once
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs
    functionUses: 2
    functionsReached:
    - limb::limbs_reduce_once
    - limbs
    - Result::unwrap_or_else
    - copy_from_slice
    linkageType: ''
    returnType: Elem
    signature: 'pub fn elem_reduced_once<A, M>(mut r: Storage<M>,a: &Elem<A, Unencoded>,m:
      &Modulus<M>,other_modulus_len_bits: BitLength,) -> Elem<M, Unencoded>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:241,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:242,1
    - Dst: limbs_from_mont_in_place
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:244,1
    - Dst: limbs
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:244,1
    - Dst: n0
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 4
    argNames:
    - r
    - a
    - m
    - other_prime_len_bits
    argTypes:
    - Storage<Smaller>
    - '&Elem<Larger, Unencoded>'
    - '&Modulus<Smaller>'
    - BitLength
    constantsTouched: []
    func_position:
      end: 249
      start: 226
    functionDepth: 6
    functionLinenumber: 226
    functionLinenumberEnd: 249
    functionName: elem_reduced
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs
    functionUses: 3
    functionsReached:
    - limbs_from_mont_in_place
    - n0
    - len
    - copy_from_slice
    - limbs
    linkageType: ''
    returnType: Elem
    signature: 'pub fn elem_reduced<Larger, Smaller>(mut r: Storage<Smaller>,a: &Elem<Larger,
      Unencoded>,m: &Modulus<Smaller>,other_prime_len_bits: BitLength,) -> Elem<Smaller,
      RInverse>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limbs_square_mont
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:259,1
    - Dst: limbs
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:259,1
    - Dst: n0
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:259,1
    - Dst: cpu_features
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:259,1
    - Dst: Result::unwrap_or_else
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - a
    - m
    argTypes:
    - Elem<M, E>
    - '&Modulus<M>'
    constantsTouched: []
    func_position:
      end: 265
      start: 252
    functionDepth: 12
    functionLinenumber: 252
    functionLinenumberEnd: 265
    functionName: elem_squared
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs
    functionUses: 11
    functionsReached:
    - limbs_square_mont
    - cpu_features
    - n0
    - limbs
    - Result::unwrap_or_else
    linkageType: ''
    returnType: Elem
    signature: 'fn elem_squared<M, E>(mut a: Elem<M, E>,m: &Modulus<M>,) -> Elem<M,
      <(E, E) as ProductEncoding>::Output>where(E, E): ProductEncoding,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len_bits
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:273,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:274,1
    - Dst: split_at_mut
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:276,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:276,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:277,1
    - Dst: fill
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:278,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 4
    argNames:
    - r
    - a
    - m
    - smaller_modulus_bits
    argTypes:
    - Storage<Larger>
    - Elem<Smaller, Unencoded>
    - '&Modulus<Larger>'
    - BitLength
    constantsTouched: []
    func_position:
      end: 283
      start: 267
    functionDepth: 3
    functionLinenumber: 267
    functionLinenumberEnd: 283
    functionName: elem_widen
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs
    functionUses: 1
    functionsReached:
    - split_at_mut
    - Err
    - len
    - copy_from_slice
    - len_bits
    - Ok
    - fill
    linkageType: ''
    returnType: Result
    signature: 'pub fn elem_widen<Larger, Smaller>(mut r: Storage<Larger>,a: Elem<Smaller,
      Unencoded>,m: &Modulus<Larger>,smaller_modulus_bits: BitLength,) -> Result<Elem<Larger,
      Unencoded>, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limb::limbs_add_assign_mod
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:287,1
    - Dst: limbs
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:287,1
    - Dst: Result::unwrap_or_else
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - a
    - b
    - m
    argTypes:
    - Elem<M, E>
    - Elem<M, E>
    - '&Modulus<M>'
    constantsTouched: []
    func_position:
      end: 290
      start: 286
    functionDepth: 14
    functionLinenumber: 286
    functionLinenumberEnd: 290
    functionName: elem_add
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs
    functionUses: 1
    functionsReached:
    - limbs
    - Result::unwrap_or_else
    - limb::limbs_add_assign_mod
    linkageType: ''
    returnType: Elem
    signature: 'pub fn elem_add<M, E>(mut a: Elem<M, E>, b: Elem<M, E>, m: &Modulus<M>)
      -> Elem<M, E>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NonZeroUsize::new
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:304,1
    - Dst: limbs
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:304,1
    - Dst: Result::len
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:304,1
    - Dst: OnceNonZeroUsize::unwrap
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:304,1
    - Dst: as_mut
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:305,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:305,1
    - Dst: with_non_dangling_non_null_pointers_rab
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:305,1
    - Dst: limbs
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:307,1
    - Dst: Result::as_ptr
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:307,1
    - Dst: LIMBS_sub_mod
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:308,1
    - Dst: unwrap_or_else
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 3
    argNames:
    - a
    - b
    - m
    argTypes:
    - Elem<M, E>
    - '&Elem<M, E>'
    - '&Modulus<M>'
    constantsTouched: []
    func_position:
      end: 312
      start: 293
    functionDepth: 13
    functionLinenumber: 293
    functionLinenumberEnd: 312
    functionName: elem_sub
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs
    functionUses: 2
    functionsReached:
    - LIMBS_sub_mod
    - unwrap_or_else
    - NonZeroUsize::new
    - Result::len
    - as_mut
    - Result::as_ptr
    - OnceNonZeroUsize::unwrap
    - with_non_dangling_non_null_pointers_rab
    - limbs
    - as_ref
    linkageType: ''
    returnType: Elem
    signature: 'pub fn elem_sub<M, E>(mut a: Elem<M, E>, b: &Elem<M, E>, m: &Modulus<M>)
      -> Elem<M, E>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limbs
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:327,1
    - Dst: Result::len
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:327,1
    - Dst: oneR
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:332,1
    - Dst: Self::trailing_zeros
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:349,1
    - Dst: elem_double
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:355,1
    - Dst: elem_squared
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:390,1
    - Dst: Self
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:393,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 2
    argNames:
    - out
    - m
    argTypes:
    - Storage<M>
    - '&Modulus<M>'
    constantsTouched: []
    func_position:
      end: 397
      start: 325
    functionDepth: 15
    functionLinenumber: 325
    functionLinenumberEnd: 397
    functionName: One::newRR
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs
    functionUses: 5
    functionsReached:
    - elem_double
    - Self
    - Result::len
    - oneR
    - elem_squared
    - limbs
    - Self::trailing_zeros
    linkageType: ''
    returnType: Self
    signature: 'pub(crate) fn newRR(mut out: Storage<M>, m: &Modulus<M>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:402,1
    - Dst: elem_squared
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - m
    argTypes:
    - One<M, RR>
    - '&Modulus<M>'
    constantsTouched: []
    func_position:
      end: 403
      start: 401
    functionDepth: 13
    functionLinenumber: 401
    functionLinenumberEnd: 403
    functionName: One::newRRR
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs
    functionUses: 2
    functionsReached:
    - Self
    - elem_squared
    linkageType: ''
    returnType: Self
    signature: 'pub(crate) fn newRRR(One(oneRR): One<M, RR>, m: &Modulus<M>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 409
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 409
    functionName: One::as_ref
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&Elem'
    signature: fn as_ref(&self) -> &Elem<M, E>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:414,1
    - Dst: clone_into
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - out
    argTypes:
    - Storage<M>
    constantsTouched: []
    func_position:
      end: 415
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 415
    functionName: One::clone_into
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached:
    - Self
    - clone_into
    linkageType: ''
    returnType: Self
    signature: 'pub fn clone_into(&self, out: Storage<M>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:450,1
    - Dst: SpdmBaseAsymAlgo::clone_into
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:451,1
    - Dst: leading_zeros
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:452,1
    - Dst: elem_squared
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:456,1
    - Dst: elem_mul
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 4
    argNames:
    - out
    - base
    - exponent
    - m
    argTypes:
    - Storage<M>
    - Elem<M, R>
    - NonZeroU64
    - '&Modulus<M>'
    constantsTouched: []
    func_position:
      end: 462
      start: 427
    functionDepth: 13
    functionLinenumber: 427
    functionLinenumberEnd: 462
    functionName: elem_exp_vartime
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs
    functionUses: 1
    functionsReached:
    - SpdmBaseAsymAlgo::clone_into
    - leading_zeros
    - elem_mul
    - elem_squared
    - get
    linkageType: ''
    returnType: Elem
    signature: 'pub(crate) fn elem_exp_vartime<M>(out: Storage<M>,base: Elem<M, R>,exponent:
      NonZeroU64,m: &Modulus<M>,) -> Elem<M, R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulus
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:494,1
    - Dst: bigint::elem_exp_consttime
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:495,1
    - Dst: alloc_zero
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:496,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 4
    argNames:
    - c
    - p
    - other_prime_len_bits
    - cpu_features
    argTypes:
    - '&bigint::Elem<N>'
    - '&PrivateCrtPrime<M>'
    - BitLength
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 504
      start: 488
    functionDepth: 10
    functionLinenumber: 488
    functionLinenumberEnd: 504
    functionName: elem_exp_consttime
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/keypair.rs
    functionUses: 3
    functionsReached:
    - modulus
    - bigint::elem_exp_consttime
    - alloc_zero
    - Result::map_err
    linkageType: ''
    returnType: Result
    signature: 'fn elem_exp_consttime<M>(c: &bigint::Elem<N>,p: &PrivateCrtPrime<M>,other_prime_len_bits:
      BitLength,cpu_features: cpu::Features,) -> Result<bigint::Elem<M>, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::from
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:538,1
    - Dst: LIMBS_select_512_32
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:539,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:539,1
    - Dst: usize::as_ptr
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:539,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:539,1
    - Dst: Self::unwrap
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:538,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - table
    - acc
    - i
    argTypes:
    - '&[Limb]'
    - '&mut Elem<M, R>'
    - Window
    constantsTouched: []
    func_position:
      end: 542
      start: 529
    functionDepth: 5
    functionLinenumber: 529
    functionLinenumberEnd: 542
    functionName: e::l::e::m::_::e::x::p::_::c::o::n::s::t::t::i::m::e::_::i::n::n::e::r::gather
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached:
    - usize::as_ptr
    - as_mut_ptr
    - len
    - Result::from
    - LIMBS_select_512_32
    - Self::unwrap
    linkageType: ''
    returnType: void
    signature: 'fn gather<M>(table: &[Limb], acc: &mut Elem<M, R>, i: Window)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_squared
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:552,1
    - Dst: gather
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:554,1
    - Dst: elem_mul
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:555,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - table
    - acc
    - m
    - i
    - tmp
    argTypes:
    - '&[Limb]'
    - Elem<M, R>
    - '&Modulus<M>'
    - Window
    - Elem<M, R>
    constantsTouched: []
    func_position:
      end: 557
      start: 544
    functionDepth: 13
    functionLinenumber: 544
    functionLinenumberEnd: 557
    functionName: e::l::e::m::_::e::x::p::_::c::o::n::s::t::t::i::m::e::_::i::n::n::e::r::power
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached:
    - elem_mul
    - gather
    - elem_squared
    linkageType: ''
    returnType: (Elem
    signature: 'fn power<M>(table: &[Limb],mut acc: Elem<M, R>,m: &Modulus<M>,i: Window,mut
      tmp: Elem<M, R>,) -> (Elem<M, R>, Elem<M, R>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - table
    - i
    - num_limbs
    argTypes:
    - '&[Limb]'
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 561
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 561
    functionName: e::l::e::m::_::e::x::p::_::c::o::n::s::t::t::i::m::e::_::i::n::n::e::r::entry
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[Limb]'
    signature: 'fn entry(table: &[Limb], i: usize, num_limbs: usize) -> &[Limb]'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - table
    - i
    - num_limbs
    argTypes:
    - '&mut [Limb]'
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 564
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 564
    functionName: e::l::e::m::_::e::x::p::_::c::o::n::s::t::t::i::m::e::_::i::n::n::e::r::entry_mut
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&mut [Limb]'
    signature: 'fn entry_mut(table: &mut [Limb], i: usize, num_limbs: usize) -> &mut
      [Limb]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: n0
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:635,1
    - Dst: cpu_features
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:637,1
    - Dst: cpu::Features::get_feature
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:637,1
    - Dst: cpu_features
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:638,1
    - Dst: cpu::Features::get_feature
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:638,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:640,1
    - Dst: limbs
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:640,1
    - Dst: Result::len
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:640,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:641,1
    - Dst: LimbSliceError::len_mismatch
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:641,1
    - Dst: LenMismatchError::new
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:641,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:642,1
    - Dst: slice::as_chunks
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:646,1
    - Dst: limbs
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:646,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:648,1
    - Dst: LimbSliceError::len_mismatch
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:648,1
    - Dst: LenMismatchError::new
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:648,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:650,1
    - Dst: '&One<M, RRR>::as_ref'
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:652,1
    - Dst: slice::as_chunks
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:653,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:656,1
    - Dst: LimbSliceError::len_mismatch
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:656,1
    - Dst: LenMismatchError::new
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:656,1
    - Dst: '&One<M, RRR>::len'
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:657,1
    - Dst: limbs512::AlignedStorage::<STORAGE_LIMBS>::zeroed
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:682,1
    - Dst: usize::aligned_chunks_mut
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:683,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:683,1
    - Dst: usize::split_at_mut
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:686,1
    - Dst: SpdmResult::split_at_mut
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:690,1
    - Dst: '&[u8]::split_at_mut'
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:691,1
    - Dst: as_flattened_mut
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:694,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:694,1
    - Dst: as_flattened
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:696,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:697,1
    - Dst: elem_reduced
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:699,1
    - Dst: slice::as_chunks
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:700,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:703,1
    - Dst: LimbSliceError::len_mismatch
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:703,1
    - Dst: LenMismatchError::new
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:703,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:704,1
    - Dst: mul_mont5
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:710,1
    - Dst: as_mut
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:711,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:718,1
    - Dst: Storage::from
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:719,1
    - Dst: oneR
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:745,1
    - Dst: as_flattened_mut
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:745,1
    - Dst: scatter5
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:746,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:746,1
    - Dst: usize::as_mut
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:746,1
    - Dst: as_flattened_mut
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:749,1
    - Dst: '&mut [T]::copy_from_slice'
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:749,1
    - Dst: as_flattened
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:750,1
    - Dst: scatter_powers_of_2
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:753,1
    - Dst: usize::as_mut
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:753,1
    - Dst: as_mut
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:753,1
    - Dst: step_by
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:756,1
    - Dst: Window::from
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:757,1
    - Dst: mul_mont_gather5_amm
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:760,1
    - Dst: as_mut
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:761,1
    - Dst: usize::as_ref
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:763,1
    - Dst: scatter_powers_of_2
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:770,1
    - Dst: usize::as_mut
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:770,1
    - Dst: as_mut
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:770,1
    - Dst: usize::as_ref
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:773,1
    - Dst: limb::fold_5_bit_windows
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:775,1
    - Dst: limbs
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:776,1
    - Dst: gather5
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:778,1
    - Dst: as_mut
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:778,1
    - Dst: unwrap_or_else
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:778,1
    - Dst: power5_amm
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:783,1
    - Dst: as_mut
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:783,1
    - Dst: unwrap_or_else
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:783,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:790,1
    - Dst: as_flattened
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:790,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:791,1
    - Dst: from_montgomery_amm
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:791,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 196
    argCount: 6
    argNames:
    - out
    - base_mod_n
    - oneRRR
    - exponent
    - m
    - other_prime_len_bits
    argTypes:
    - Storage<M>
    - '&Elem<N>'
    - '&One<M, RRR>'
    - '&PrivateExponent'
    - '&Modulus<M>'
    - BitLength
    constantsTouched: []
    func_position:
      end: 792
      start: 615
    functionDepth: 11
    functionLinenumber: 615
    functionLinenumberEnd: 792
    functionName: elem_exp_consttime_inner
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached:
    - usize::aligned_chunks_mut
    - slice::as_chunks
    - scatter5
    - step_by
    - from_montgomery_amm
    - mul_mont_gather5_amm
    - usize::split_at_mut
    - n0
    - Result::len
    - scatter_powers_of_2
    - SpdmResult::split_at_mut
    - Storage::from
    - mul_mont5
    - as_flattened
    - unwrap_or_else
    - limb::fold_5_bit_windows
    - power5_amm
    - limbs512::AlignedStorage::<STORAGE_LIMBS>::zeroed
    - gather5
    - '&One<M, RRR>::len'
    - '&mut [T]::copy_from_slice'
    - cpu::Features::get_feature
    - Ok
    - usize::as_ref
    - as_mut
    - Err
    - LimbSliceError::len_mismatch
    - len
    - limbs
    - usize::as_mut
    - cpu_features
    - '&[u8]::split_at_mut'
    - as_flattened_mut
    - oneR
    - Result::map_err
    - LenMismatchError::new
    - copy_from_slice
    - Window::from
    - elem_reduced
    - as_ref
    - '&One<M, RRR>::as_ref'
    linkageType: ''
    returnType: Result
    signature: 'fn elem_exp_consttime_inner<N, M, const STORAGE_LIMBS: usize>(out:
      Storage<M>,base_mod_n: &Elem<N>,oneRRR: &One<M, RRR>,exponent: &PrivateExponent,m:
      &Modulus<M>,other_prime_len_bits: BitLength,) -> Result<Elem<M, Unencoded>,
      LimbSliceError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: scatter5
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:732,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:732,1
    - Dst: usize::as_mut
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:732,1
    - Dst: sqr_mont5
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:737,1
    - Dst: as_mut
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:737,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:739,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 6
    argNames:
    - table
    - acc
    - m_cached
    - n0
    - i
    - cpu
    argTypes:
    - AsChunksMut<Limb, 8>
    - AsChunksMut<Limb, 8>
    - AsChunks<Limb, 8>
    - '&N0'
    - LeakyWindow
    - Option<(Adx, Bmi2)>
    constantsTouched: []
    func_position:
      end: 740
      start: 723
    functionDepth: 14
    functionLinenumber: 723
    functionLinenumberEnd: 740
    functionName: e::l::e::m::_::e::x::p::_::c::o::n::s::t::t::i::m::e::_::i::n::n::e::r::scatter_powers_of_2
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached:
    - scatter5
    - usize::as_mut
    - sqr_mont5
    - as_mut
    - as_ref
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn scatter_powers_of_2(mut table: AsChunksMut<Limb, 8>,mut acc: AsChunksMut<Limb,
      8>,m_cached: AsChunks<Limb, 8>,n0: &N0,mut i: LeakyWindow,cpu: Option<(Adx,
      Bmi2)>,) -> Result<(), LimbSliceError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_mul
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:800,1
    - Dst: limb::verify_limbs_equal_1_leak_bit
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - a
    - b
    - m
    argTypes:
    - '&Elem<M, R>'
    - Elem<M, Unencoded>
    - '&Modulus<M>'
    constantsTouched: []
    func_position:
      end: 802
      start: 795
    functionDepth: 4
    functionLinenumber: 795
    functionLinenumberEnd: 802
    functionName: verify_inverses_consttime
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs
    functionUses: 1
    functionsReached:
    - limb::verify_limbs_equal_1_leak_bit
    - elem_mul
    linkageType: ''
    returnType: Result
    signature: 'pub fn verify_inverses_consttime<M>(a: &Elem<M, R>,b: Elem<M, Unencoded>,m:
      &Modulus<M>,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limb::limbs_equal_limbs_consttime
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:809,1
    - Dst: Result::unwrap_or_else
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:809,1
    - Dst: bool::leak
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:811,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:812,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:814,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - '&Elem<M, E>'
    - '&Elem<M, E>'
    constantsTouched: []
    func_position:
      end: 815
      start: 805
    functionDepth: 3
    functionLinenumber: 805
    functionLinenumberEnd: 815
    functionName: elem_verify_equal_consttime
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs
    functionUses: 2
    functionsReached:
    - Err
    - bool::leak
    - limb::limbs_equal_limbs_consttime
    - Ok
    - Result::unwrap_or_else
    linkageType: ''
    returnType: Result
    signature: 'pub fn elem_verify_equal_consttime<M, E>(a: &Elem<M, E>,b: &Elem<M,
      E>,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames: []
    argTypes:
    - LenMismatchError
    constantsTouched: []
    func_position:
      end: 610
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 610
    functionName: unwrap_impossible_len_mismatch_error
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: fn unwrap_impossible_len_mismatch_error<T>(LenMismatchError
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - LimbSliceError
    constantsTouched: []
    func_position:
      end: 831
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 831
    functionName: unwrap_impossible_limb_slice_error
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn unwrap_impossible_limb_slice_error(err: LimbSliceError)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:846,1
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:847,1
    - Dst: test_vector_file
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:848,1
    - Dst: consume_modulus::<M>
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:852,1
    - Dst: modulus
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:853,1
    - Dst: consume_elem
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:854,1
    - Dst: consume_elem
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:855,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:857,1
    - Dst: PrivateExponent::from_be_bytes_for_test_only
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:858,1
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:858,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:858,1
    - Dst: One::newRR
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:862,1
    - Dst: alloc_zero
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:862,1
    - Dst: One::newRRR
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:863,1
    - Dst: len_bits
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:870,1
    - Dst: BoxedLimbs::zero
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:872,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:872,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:873,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:873,1
    - Dst: limbs
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:880,1
    - Dst: Result::len
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:880,1
    - Dst: elem_exp_consttime
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:882,1
    - Dst: alloc_zero
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:883,1
    - Dst: elem_exp_consttime
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:891,1
    - Dst: alloc_zero
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:892,1
    - Dst: elem_exp_consttime_inner::<_, _, { (4096 / LIMB_BITS) * STORAGE_ENTRIES
        }>
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:902,1
    - Dst: alloc_zero
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:903,1
    - Dst: assert_elem_eq
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:912,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:918,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 921
      start: 845
    functionDepth: 14
    functionLinenumber: 845
    functionLinenumberEnd: 921
    functionName: tests::test_elem_exp_consttime
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached:
    - Result::len
    - assert_elem_eq
    - One::newRR
    - Option::consume_bytes
    - Result::expect
    - elem_exp_consttime
    - consume_elem
    - alloc_zero
    - One::newRRR
    - test::run
    - Ok
    - BoxedLimbs::zero
    - untrusted::Input::from
    - len
    - test_vector_file
    - limbs
    - consume_modulus::<M>
    - PrivateExponent::from_be_bytes_for_test_only
    - elem_exp_consttime_inner::<_, _, { (4096 / LIMB_BITS) * STORAGE_ENTRIES }>
    - cpu::features
    - modulus
    - copy_from_slice
    - len_bits
    linkageType: ''
    returnType: void
    signature: fn test_elem_exp_consttime()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:929,1
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:930,1
    - Dst: test_vector_file
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:931,1
    - Dst: consume_modulus::<M>
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:935,1
    - Dst: modulus
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:936,1
    - Dst: consume_elem
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:937,1
    - Dst: consume_elem
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:938,1
    - Dst: consume_elem
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:939,1
    - Dst: into_encoded
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:941,1
    - Dst: alloc_zero
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:941,1
    - Dst: into_encoded
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:942,1
    - Dst: alloc_zero
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:942,1
    - Dst: elem_mul
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:943,1
    - Dst: Elem::into_unencoded
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:944,1
    - Dst: assert_elem_eq
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:945,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 950
      start: 928
    functionDepth: 14
    functionLinenumber: 928
    functionLinenumberEnd: 950
    functionName: tests::test_elem_mul
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached:
    - Elem::into_unencoded
    - consume_elem
    - alloc_zero
    - consume_modulus::<M>
    - elem_mul
    - into_encoded
    - cpu::features
    - assert_elem_eq
    - modulus
    - test_vector_file
    - test::run
    - Ok
    linkageType: ''
    returnType: void
    signature: fn test_elem_mul()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:954,1
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:955,1
    - Dst: test_vector_file
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:956,1
    - Dst: consume_modulus::<M>
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:960,1
    - Dst: modulus
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:961,1
    - Dst: consume_elem
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:962,1
    - Dst: consume_elem
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:963,1
    - Dst: into_encoded
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:965,1
    - Dst: alloc_zero
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:965,1
    - Dst: elem_squared
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:966,1
    - Dst: Elem::into_unencoded
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:967,1
    - Dst: assert_elem_eq
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:968,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:970,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 973
      start: 953
    functionDepth: 14
    functionLinenumber: 953
    functionLinenumberEnd: 973
    functionName: tests::test_elem_squared
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached:
    - Elem::into_unencoded
    - consume_elem
    - alloc_zero
    - consume_modulus::<M>
    - into_encoded
    - cpu::features
    - elem_squared
    - assert_elem_eq
    - modulus
    - test_vector_file
    - test::run
    - Ok
    linkageType: ''
    returnType: void
    signature: fn test_elem_squared()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:977,1
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:978,1
    - Dst: test_vector_file
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:979,1
    - Dst: consume_modulus::<M>
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:985,1
    - Dst: modulus
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:986,1
    - Dst: consume_elem
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:987,1
    - Dst: consume_elem_unchecked::<M>
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:989,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:989,1
    - Dst: len_bits
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:990,1
    - Dst: elem_reduced
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:992,1
    - Dst: alloc_zero
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:992,1
    - Dst: One::newRR
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:993,1
    - Dst: alloc_zero
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:993,1
    - Dst: elem_mul
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:994,1
    - Dst: '&bigint::Elem::as_ref'
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:994,1
    - Dst: assert_elem_eq
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:995,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 976
    functionDepth: 14
    functionLinenumber: 976
    functionLinenumberEnd: 1000
    functionName: tests::test_elem_reduced
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached:
    - len_bits
    - consume_elem
    - alloc_zero
    - '&bigint::Elem::as_ref'
    - elem_reduced
    - consume_modulus::<M>
    - elem_mul
    - cpu::features
    - assert_elem_eq
    - modulus
    - len
    - One::newRR
    - test_vector_file
    - consume_elem_unchecked::<M>
    - test::run
    - Ok
    linkageType: ''
    returnType: void
    signature: fn test_elem_reduced()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:1004,1
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:1005,1
    - Dst: test_vector_file
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:1006,1
    - Dst: consume_modulus::<M>
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:1012,1
    - Dst: modulus
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:1013,1
    - Dst: consume_elem_unchecked::<O>
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:1014,1
    - Dst: limbs
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:1014,1
    - Dst: Result::len
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:1014,1
    - Dst: consume_elem::<M>
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:1015,1
    - Dst: len_bits
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:1016,1
    - Dst: elem_reduced_once
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:1019,1
    - Dst: alloc_zero
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:1019,1
    - Dst: assert_elem_eq
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:1020,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:1022,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 1003
    functionDepth: 14
    functionLinenumber: 1003
    functionLinenumberEnd: 1025
    functionName: tests::test_elem_reduced_once
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached:
    - alloc_zero
    - consume_modulus::<M>
    - Result::len
    - elem_reduced_once
    - consume_elem::<M>
    - cpu::features
    - assert_elem_eq
    - modulus
    - test_vector_file
    - len_bits
    - limbs
    - consume_elem_unchecked::<O>
    - test::run
    - Ok
    linkageType: ''
    returnType: void
    signature: fn test_elem_reduced_once()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1367,1
    - Dst: Bytes::extend
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1369,1
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1371,1
    - Dst: elem_parse_big_endian_fixed_consttime
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1372,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - q
    - test_case
    - name
    argTypes:
    - '&Modulus<Q>'
    - '&mut test::TestCase'
    - '&str'
    constantsTouched: []
    func_position:
      end: 1379
      start: 1366
    functionDepth: 9
    functionLinenumber: 1366
    functionLinenumberEnd: 1379
    functionName: tests::consume_elem
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - Bytes::extend
    - Result::unwrap
    - untrusted::Input::from
    - elem_parse_big_endian_fixed_consttime
    - Option::consume_bytes
    linkageType: ''
    returnType: Elem
    signature: 'fn consume_elem(q: &Modulus<Q>, test_case: &mut test::TestCase, name:
      &str) -> Elem<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:1041,1
    - Dst: BoxedLimbs::zero
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:1042,1
    - Dst: limb::parse_big_endian_and_pad_consttime
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:1043,1
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:1043,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:1043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - test_case
    - name
    - num_limbs
    argTypes:
    - '&mut test::TestCase'
    - '&str'
    - usize
    constantsTouched: []
    func_position:
      end: 1049
      start: 1036
    functionDepth: 9
    functionLinenumber: 1036
    functionLinenumberEnd: 1049
    functionName: tests::consume_elem_unchecked
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached:
    - BoxedLimbs::zero
    - Result::unwrap
    - untrusted::Input::from
    - limb::parse_big_endian_and_pad_consttime
    - Option::consume_bytes
    linkageType: ''
    returnType: Elem
    signature: 'fn consume_elem_unchecked<M>(test_case: &mut test::TestCase,name:
      &str,num_limbs: usize,) -> Elem<M, Unencoded>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:1052,1
    - Dst: OwnedModulus::from
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:1053,1
    - Dst: OwnedModulusValue::from_be_bytes
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:1054,1
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:1054,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:1054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - test_case
    - name
    argTypes:
    - '&mut test::TestCase'
    - '&str'
    constantsTouched: []
    func_position:
      end: 1056
      start: 1051
    functionDepth: 10
    functionLinenumber: 1051
    functionLinenumberEnd: 1056
    functionName: tests::consume_modulus
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached:
    - OwnedModulus::from
    - Result::unwrap
    - untrusted::Input::from
    - Option::consume_bytes
    - OwnedModulusValue::from_be_bytes
    linkageType: ''
    returnType: OwnedModulus
    signature: 'fn consume_modulus<M>(test_case: &mut test::TestCase, name: &str)
      -> OwnedModulus<M>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_verify_equal_consttime
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:1059,1
    - Dst: Result::is_err
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:1059,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - '&Elem<M, E>'
    - '&Elem<M, E>'
    constantsTouched: []
    func_position:
      end: 1062
      start: 1058
    functionDepth: 4
    functionLinenumber: 1058
    functionLinenumberEnd: 1062
    functionName: tests::assert_elem_eq
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached:
    - elem_verify_equal_consttime
    - Result::is_err
    linkageType: ''
    returnType: void
    signature: 'fn assert_elem_eq<M, E>(a: &Elem<M, E>, b: &Elem<M, E>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: One::newRR
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:1065,1
    - Dst: elem_mul
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:1066,1
    - Dst: '&bigint::Elem::as_ref'
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs:1066,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - out
    - a
    - m
    argTypes:
    - Storage<M>
    - Elem<M, Unencoded>
    - '&Modulus<M>'
    constantsTouched: []
    func_position:
      end: 1067
      start: 1064
    functionDepth: 16
    functionLinenumber: 1064
    functionLinenumberEnd: 1067
    functionName: tests::into_encoded
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached:
    - elem_mul
    - '&bigint::Elem::as_ref'
    - One::newRR
    linkageType: ''
    returnType: Elem
    signature: 'fn into_encoded<M>(out: Storage<M>, a: Elem<M, Unencoded>, m: &Modulus<M>)
      -> Elem<M, R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AliasingSlices2::with_potentially_dangling_non_null_pointers_ra
      Src: /src/spdm-rs/external/ring/src/arithmetic/inout.rs:44,1
    - Dst: NonZeroUsize::get
      Src: /src/spdm-rs/external/ring/src/arithmetic/inout.rs:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - expected_len
    - f
    argTypes:
    - NonZeroUsize
    - impl FnOnce(*mut T, *const T) -> R
    constantsTouched: []
    func_position:
      end: 45
      start: 36
    functionDepth: 12
    functionLinenumber: 36
    functionLinenumberEnd: 45
    functionName: AliasingSlices2::with_non_dangling_non_null_pointers_ra
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/inout.rs
    functionUses: 0
    functionsReached:
    - NonZeroUsize::get
    - AliasingSlices2::with_potentially_dangling_non_null_pointers_ra
    linkageType: ''
    returnType: Result
    signature: 'fn with_non_dangling_non_null_pointers_ra<R>(self,expected_len: NonZeroUsize,f:
      impl FnOnce(*mut T, *const T) -> R,) -> Result<R, LenMismatchError>whereSelf:
      Sized,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/arithmetic/inout.rs:69,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/arithmetic/inout.rs:70,1
    - Dst: LenMismatchError::new
      Src: /src/spdm-rs/external/ring/src/arithmetic/inout.rs:70,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/arithmetic/inout.rs:70,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/arithmetic/inout.rs:72,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/ring/src/arithmetic/inout.rs:72,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/ring/src/arithmetic/inout.rs:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - expected_len
    - f
    argTypes:
    - usize
    - impl FnOnce(*mut T, *const T) -> R
    constantsTouched: []
    func_position:
      end: 73
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 73
    functionName: '&mut [T]::with_potentially_dangling_non_null_pointers_ra'
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/inout.rs
    functionUses: 0
    functionsReached:
    - Err
    - as_mut_ptr
    - as_ptr
    - LenMismatchError::new
    - len
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn with_potentially_dangling_non_null_pointers_ra<R>(self,expected_len:
      usize,f: impl FnOnce(*mut T, *const T) -> R,) -> Result<R, LenMismatchError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/arithmetic/inout.rs:83,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/arithmetic/inout.rs:84,1
    - Dst: LenMismatchError::new
      Src: /src/spdm-rs/external/ring/src/arithmetic/inout.rs:84,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/arithmetic/inout.rs:84,1
    - Dst: Vec::len
      Src: /src/spdm-rs/external/ring/src/arithmetic/inout.rs:86,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/arithmetic/inout.rs:87,1
    - Dst: LenMismatchError::new
      Src: /src/spdm-rs/external/ring/src/arithmetic/inout.rs:87,1
    - Dst: Vec::len
      Src: /src/spdm-rs/external/ring/src/arithmetic/inout.rs:87,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/arithmetic/inout.rs:89,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/ring/src/arithmetic/inout.rs:89,1
    - Dst: Vec::as_ptr
      Src: /src/spdm-rs/external/ring/src/arithmetic/inout.rs:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 2
    argNames:
    - expected_len
    - f
    argTypes:
    - usize
    - impl FnOnce(*mut T, *const T) -> R
    constantsTouched: []
    func_position:
      end: 90
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 90
    functionName: (&mut [T], &[T])::with_potentially_dangling_non_null_pointers_ra
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/inout.rs
    functionUses: 0
    functionsReached:
    - Err
    - as_mut_ptr
    - LenMismatchError::new
    - len
    - Vec::len
    - Vec::as_ptr
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn with_potentially_dangling_non_null_pointers_ra<R>(self,expected_len:
      usize,f: impl FnOnce(*mut T, *const T) -> R,) -> Result<R, LenMismatchError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AliasingSlices3::with_potentially_dangling_non_null_pointers_rab
      Src: /src/spdm-rs/external/ring/src/arithmetic/inout.rs:119,1
    - Dst: NonZeroUsize::get
      Src: /src/spdm-rs/external/ring/src/arithmetic/inout.rs:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - expected_len
    - f
    argTypes:
    - NonZeroUsize
    - impl FnOnce(*mut T, *const T, *const T) -> R
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 12
    functionLinenumber: 111
    functionLinenumberEnd: 120
    functionName: AliasingSlices3::with_non_dangling_non_null_pointers_rab
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/inout.rs
    functionUses: 0
    functionsReached:
    - NonZeroUsize::get
    - AliasingSlices3::with_potentially_dangling_non_null_pointers_rab
    linkageType: ''
    returnType: Result
    signature: 'fn with_non_dangling_non_null_pointers_rab<R>(self,expected_len: NonZeroUsize,f:
      impl FnOnce(*mut T, *const T, *const T) -> R,) -> Result<R, LenMismatchError>whereSelf:
      Sized,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: <Self as AliasingSlices2<T>>::with_potentially_dangling_non_null_pointers_ra
      Src: /src/spdm-rs/external/ring/src/arithmetic/inout.rs:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - expected_len
    - f
    argTypes:
    - usize
    - impl FnOnce(*mut T, *const T, *const T) -> R
    constantsTouched: []
    func_position:
      end: 148
      start: 138
    functionDepth: 3
    functionLinenumber: 138
    functionLinenumberEnd: 148
    functionName: '&mut [T]::with_potentially_dangling_non_null_pointers_rab'
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/inout.rs
    functionUses: 0
    functionsReached:
    - <Self as AliasingSlices2<T>>::with_potentially_dangling_non_null_pointers_ra
    linkageType: ''
    returnType: Result
    signature: 'fn with_potentially_dangling_non_null_pointers_rab<R>(self,expected_len:
      usize,f: impl FnOnce(*mut T, *const T, *const T) -> R,) -> Result<R, LenMismatchError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: with_potentially_dangling_non_null_pointers_rab
      Src: /src/spdm-rs/external/ring/src/arithmetic/inout.rs:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - expected_len
    - f
    argTypes:
    - usize
    - impl FnOnce(*mut T, *const T, *const T) -> R
    constantsTouched: []
    func_position:
      end: 159
      start: 152
    functionDepth: 4
    functionLinenumber: 152
    functionLinenumberEnd: 159
    functionName: (&mut [T], &[T], &[T])::with_potentially_dangling_non_null_pointers_rab
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/inout.rs
    functionUses: 0
    functionsReached:
    - with_potentially_dangling_non_null_pointers_rab
    linkageType: ''
    returnType: Result
    signature: 'fn with_potentially_dangling_non_null_pointers_rab<R>(self,expected_len:
      usize,f: impl FnOnce(*mut T, *const T, *const T) -> R,) -> Result<R, LenMismatchError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmResult::len
      Src: /src/spdm-rs/external/ring/src/arithmetic/inout.rs:172,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/arithmetic/inout.rs:173,1
    - Dst: LenMismatchError::new
      Src: /src/spdm-rs/external/ring/src/arithmetic/inout.rs:173,1
    - Dst: SpdmResult::len
      Src: /src/spdm-rs/external/ring/src/arithmetic/inout.rs:173,1
    - Dst: Result::with_potentially_dangling_non_null_pointers_ra
      Src: /src/spdm-rs/external/ring/src/arithmetic/inout.rs:175,1
    - Dst: SpdmResult::as_ptr
      Src: /src/spdm-rs/external/ring/src/arithmetic/inout.rs:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - expected_len
    - f
    argTypes:
    - usize
    - impl FnOnce(*mut T, *const T, *const T) -> R
    constantsTouched: []
    func_position:
      end: 176
      start: 166
    functionDepth: 3
    functionLinenumber: 166
    functionLinenumberEnd: 176
    functionName: (RA, &[T])::with_potentially_dangling_non_null_pointers_rab
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/inout.rs
    functionUses: 0
    functionsReached:
    - SpdmResult::as_ptr
    - Result::with_potentially_dangling_non_null_pointers_ra
    - Err
    - SpdmResult::len
    - LenMismatchError::new
    linkageType: ''
    returnType: Result
    signature: 'fn with_potentially_dangling_non_null_pointers_rab<R>(self,expected_len:
      usize,f: impl FnOnce(*mut T, *const T, *const T) -> R,) -> Result<R, LenMismatchError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 0
    argCount: 4
    argNames:
    - in_out
    - n
    - n0
    - cpu
    argTypes:
    - impl AliasingSlices3<Limb>
    - '&[Limb]'
    - '&N0'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 190
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 190
    functionName: limbs_mul_mont
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/montgomery.rs
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn limbs_mul_mont(in_out: impl AliasingSlices3<Limb>,n:
      &[Limb],n0: &N0,cpu: cpu::Features,) -> Result<(), LimbSliceError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::from
      Src: /src/spdm-rs/external/ring/src/arithmetic/montgomery.rs:269,1
    - Dst: bn_from_montgomery_in_place
      Src: /src/spdm-rs/external/ring/src/arithmetic/montgomery.rs:270,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/ring/src/arithmetic/montgomery.rs:271,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/arithmetic/montgomery.rs:272,1
    - Dst: '&mut [Limb]::as_mut_ptr'
      Src: /src/spdm-rs/external/ring/src/arithmetic/montgomery.rs:273,1
    - Dst: '&mut [Limb]::len'
      Src: /src/spdm-rs/external/ring/src/arithmetic/montgomery.rs:274,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/ring/src/arithmetic/montgomery.rs:275,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/arithmetic/montgomery.rs:276,1
    - Dst: Self::unwrap
      Src: /src/spdm-rs/external/ring/src/arithmetic/montgomery.rs:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 4
    argNames:
    - r
    - tmp
    - m
    - n0
    argTypes:
    - '&mut [Limb]'
    - '&mut [Limb]'
    - '&[Limb]'
    - '&N0'
    constantsTouched: []
    func_position:
      end: 281
      start: 257
    functionDepth: 5
    functionLinenumber: 257
    functionLinenumberEnd: 281
    functionName: limbs_from_mont_in_place
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/montgomery.rs
    functionUses: 1
    functionsReached:
    - '&mut [Limb]::len'
    - '&mut [Limb]::as_mut_ptr'
    - as_mut_ptr
    - as_ptr
    - len
    - Result::from
    - bn_from_montgomery_in_place
    - Self::unwrap
    linkageType: ''
    returnType: void
    signature: 'pub(super) fn limbs_from_mont_in_place(r: &mut [Limb], tmp: &mut [Limb],
      m: &[Limb], n0: &N0)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::len
      Src: /src/spdm-rs/external/ring/src/arithmetic/montgomery.rs:291,1
    - Dst: fill
      Src: /src/spdm-rs/external/ring/src/arithmetic/montgomery.rs:293,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/ring/src/arithmetic/montgomery.rs:294,1
    - Dst: Self::IntoIter::enumerate
      Src: /src/spdm-rs/external/ring/src/arithmetic/montgomery.rs:294,1
    - Dst: limbs_mul_add_limb
      Src: /src/spdm-rs/external/ring/src/arithmetic/montgomery.rs:296,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/ring/src/arithmetic/montgomery.rs:296,1
    - Dst: Vec::as_ptr
      Src: /src/spdm-rs/external/ring/src/arithmetic/montgomery.rs:296,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - '&mut [Limb]'
    - '&[Limb]'
    - '&[Limb]'
    constantsTouched: []
    func_position:
      end: 299
      start: 288
    functionDepth: 3
    functionLinenumber: 288
    functionLinenumberEnd: 299
    functionName: limbs_mul
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/montgomery.rs
    functionUses: 0
    functionsReached:
    - as_mut_ptr
    - limbs_mul_add_limb
    - SpdmResult::iter
    - Self::IntoIter::enumerate
    - Vec::len
    - Vec::as_ptr
    - fill
    linkageType: ''
    returnType: void
    signature: 'fn limbs_mul(r: &mut [Limb], a: &[Limb], b: &[Limb])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice::as_chunks_mut
      Src: /src/spdm-rs/external/ring/src/arithmetic/montgomery.rs:326,1
    - Dst: slice::as_chunks
      Src: /src/spdm-rs/external/ring/src/arithmetic/montgomery.rs:326,1
    - Dst: aarch64::mont::sqr_mont5
      Src: /src/spdm-rs/external/ring/src/arithmetic/montgomery.rs:327,1
    - Dst: slice::as_chunks_mut
      Src: /src/spdm-rs/external/ring/src/arithmetic/montgomery.rs:335,1
    - Dst: slice::as_chunks
      Src: /src/spdm-rs/external/ring/src/arithmetic/montgomery.rs:335,1
    - Dst: x86_64::mont::sqr_mont5
      Src: /src/spdm-rs/external/ring/src/arithmetic/montgomery.rs:336,1
    - Dst: cpu::Features::get_feature
      Src: /src/spdm-rs/external/ring/src/arithmetic/montgomery.rs:336,1
    - Dst: limbs_mul_mont
      Src: /src/spdm-rs/external/ring/src/arithmetic/montgomery.rs:340,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 4
    argNames:
    - r
    - n
    - n0
    - cpu
    argTypes:
    - '&mut [Limb]'
    - '&[Limb]'
    - '&N0'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 341
      start: 316
    functionDepth: 11
    functionLinenumber: 316
    functionLinenumberEnd: 341
    functionName: limbs_square_mont
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/montgomery.rs
    functionUses: 1
    functionsReached:
    - slice::as_chunks
    - limbs_mul_mont
    - slice::as_chunks_mut
    - aarch64::mont::sqr_mont5
    - x86_64::mont::sqr_mont5
    - cpu::Features::get_feature
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn limbs_square_mont(r: &mut [Limb],n: &[Limb],n0: &N0,cpu:
      cpu::Features,) -> Result<(), LimbSliceError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/external/ring/src/arithmetic/montgomery.rs:366,1
    - Dst: enumerate
      Src: /src/spdm-rs/external/ring/src/arithmetic/montgomery.rs:366,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/arithmetic/montgomery.rs:369,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/ring/src/arithmetic/montgomery.rs:370,1
    - Dst: limbs_mul_add_limb
      Src: /src/spdm-rs/external/ring/src/arithmetic/montgomery.rs:375,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/ring/src/arithmetic/montgomery.rs:375,1
    - Dst: Vec::as_ptr
      Src: /src/spdm-rs/external/ring/src/arithmetic/montgomery.rs:375,1
    - Dst: Vec::len
      Src: /src/spdm-rs/external/ring/src/arithmetic/montgomery.rs:375,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 96
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 383
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 383
    functionName: tests::test_mul_add_words
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/montgomery.rs
    functionUses: 0
    functionsReached:
    - enumerate
    - iter
    - as_mut_ptr
    - limbs_mul_add_limb
    - len
    - copy_from_slice
    - Vec::len
    - Vec::as_ptr
    linkageType: ''
    returnType: void
    signature: fn test_mul_add_words()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut [T]::as_flattened_mut'
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:92,1
    - Dst: as_flattened
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:93,1
    - Dst: NonZeroUsize::new
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:94,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:94,1
    - Dst: OnceNonZeroUsize::ok_or_else
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:94,1
    - Dst: LimbSliceError::too_short
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:94,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:94,1
    - Dst: get
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:97,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:98,1
    - Dst: LimbSliceError::too_long
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:98,1
    - Dst: get
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:98,1
    - Dst: Limb::from
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:103,1
    - Dst: Limb::from
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:104,1
    - Dst: '&mut [T]::with_non_dangling_non_null_pointers_ra'
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:107,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:109,1
    - Dst: bn_sqr8x_mont
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:110,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 4
    argNames:
    - in_out
    - n
    - n0
    - maybe_adx_bmi2
    argTypes:
    - AsChunksMut<Limb, 8>
    - AsChunks<Limb, 8>
    - '&N0'
    - Option<(Adx, Bmi2)>
    constantsTouched: []
    func_position:
      end: 113
      start: 73
    functionDepth: 13
    functionLinenumber: 73
    functionLinenumberEnd: 113
    functionName: sqr_mont5
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs
    functionUses: 2
    functionsReached:
    - LimbSliceError::too_short
    - bn_sqr8x_mont
    - '&mut [T]::with_non_dangling_non_null_pointers_ra'
    - NonZeroUsize::new
    - Err
    - Result::map_err
    - as_ptr
    - len
    - get
    - '&mut [T]::as_flattened_mut'
    - Limb::from
    - OnceNonZeroUsize::ok_or_else
    - LimbSliceError::too_long
    - as_flattened
    linkageType: ''
    returnType: Result
    signature: 'pub(in super::super::super) fn sqr_mont5(mut in_out: AsChunksMut<Limb,
      8>,n: AsChunks<Limb, 8>,n0: &N0,maybe_adx_bmi2: Option<(Adx, Bmi2)>,) -> Result<(),
      LimbSliceError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_mont5_4x
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:42,1
    - Dst: as_flattened_mut
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:43,1
    - Dst: Vec::as_flattened
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:43,1
    - Dst: SpdmResult::as_flattened
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:43,1
    - Dst: into
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 6
    argNames:
    - r
    - a
    - b
    - m
    - n0
    - maybe_adx_bmi2
    argTypes:
    - AsChunksMut<Limb, 8>
    - AsChunks<Limb, 8>
    - AsChunks<Limb, 8>
    - AsChunks<Limb, 8>
    - '&N0'
    - Option<(Adx, Bmi2)>
    constantsTouched: []
    func_position:
      end: 48
      start: 34
    functionDepth: 4
    functionLinenumber: 34
    functionLinenumberEnd: 48
    functionName: mul_mont5
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs
    functionUses: 1
    functionsReached:
    - SpdmResult::as_flattened
    - into
    - as_flattened_mut
    - mul_mont5_4x
    - Vec::as_flattened
    linkageType: ''
    returnType: Result
    signature: 'pub(in super::super::super) fn mul_mont5(mut r: AsChunksMut<Limb,
      8>,a: AsChunks<Limb, 8>,b: AsChunks<Limb, 8>,m: AsChunks<Limb, 8>,n0: &N0,maybe_adx_bmi2:
      Option<(Adx, Bmi2)>,) -> Result<(), LimbSliceError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_flattened
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - in_out
    - n
    - n0
    - maybe_adx_bmi2
    argTypes:
    - impl AliasingSlices3<Limb>
    - AsChunks<Limb, 4>
    - '&N0'
    - Option<(Adx, Bmi2)>
    constantsTouched: []
    func_position:
      end: 70
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 70
    functionName: mul_mont5_4x
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs
    functionUses: 1
    functionsReached:
    - as_flattened
    linkageType: ''
    returnType: Result
    signature: 'pub(in super::super::super) fn mul_mont5_4x(in_out: impl AliasingSlices3<Limb>,n:
      AsChunks<Limb, 4>,n0: &N0,maybe_adx_bmi2: Option<(Adx, Bmi2)>,) -> Result<(),
      LimbSliceError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_common
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:131,1
    - Dst: usize::as_ref
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:131,1
    - Dst: Vec::as_flattened
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:132,1
    - Dst: usize::as_flattened_mut
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:133,1
    - Dst: bn_scatter5
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:135,1
    - Dst: Vec::as_ptr
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:135,1
    - Dst: usize::as_mut_ptr
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:135,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - a
    - table
    - power
    argTypes:
    - AsChunks<Limb, 8>
    - AsChunksMut<Limb, 8>
    - LeakyWindow
    constantsTouched: []
    func_position:
      end: 137
      start: 116
    functionDepth: 3
    functionLinenumber: 116
    functionLinenumberEnd: 137
    functionName: scatter5
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs
    functionUses: 3
    functionsReached:
    - usize::as_ref
    - usize::as_mut_ptr
    - bn_scatter5
    - Vec::as_flattened
    - check_common
    - usize::as_flattened_mut
    - Vec::as_ptr
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(in super::super::super) fn scatter5(a: AsChunks<Limb, 8>,mut table:
      AsChunksMut<Limb, 8>,power: LeakyWindow,) -> Result<(), LimbSliceError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_common
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:155,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:155,1
    - Dst: as_flattened_mut
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:156,1
    - Dst: usize::as_flattened
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:157,1
    - Dst: bn_gather5
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:160,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:160,1
    - Dst: usize::as_ptr
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:160,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - r
    - table
    - power
    argTypes:
    - AsChunksMut<Limb, 8>
    - AsChunks<Limb, 8>
    - Window
    constantsTouched: []
    func_position:
      end: 162
      start: 141
    functionDepth: 3
    functionLinenumber: 141
    functionLinenumberEnd: 162
    functionName: gather5
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs
    functionUses: 3
    functionsReached:
    - usize::as_flattened
    - usize::as_ptr
    - as_flattened_mut
    - as_mut_ptr
    - check_common
    - bn_gather5
    - as_ref
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(in super::super::super) unsafe fn gather5(mut r: AsChunksMut<Limb,
      8>,table: AsChunks<Limb, 8>,power: Window,) -> Result<(), LimbSliceError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_common_with_n
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:199,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:199,1
    - Dst: Vec::as_flattened
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:200,1
    - Dst: Vec::len
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:201,1
    - Dst: get
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:201,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:202,1
    - Dst: LimbSliceError::len_mismatch
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:202,1
    - Dst: LenMismatchError::new
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:202,1
    - Dst: Vec::len
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:202,1
    - Dst: as_flattened_mut
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:204,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:205,1
    - Dst: Vec::as_ptr
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:206,1
    - Dst: usize::as_flattened
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:207,1
    - Dst: usize::as_ptr
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:208,1
    - Dst: as_flattened
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:209,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:210,1
    - Dst: Option<(Adx, Bmi1, Bmi2)>::is_some
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:213,1
    - Dst: bn_mulx4x_mont_gather5
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:214,1
    - Dst: bn_mul4x_mont_gather5
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:216,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:218,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 44
    argCount: 7
    argNames:
    - r
    - a
    - table
    - n
    - n0
    - power
    - maybe_adx_bmi1_bmi2
    argTypes:
    - AsChunksMut<Limb, 8>
    - AsChunks<Limb, 8>
    - AsChunks<Limb, 8>
    - AsChunks<Limb, 8>
    - '&N0'
    - Window
    - Option<(Adx, Bmi1, Bmi2)>
    constantsTouched: []
    func_position:
      end: 219
      start: 166
    functionDepth: 4
    functionLinenumber: 166
    functionLinenumberEnd: 219
    functionName: mul_mont_gather5_amm
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs
    functionUses: 1
    functionsReached:
    - Option<(Adx, Bmi1, Bmi2)>::is_some
    - bn_mul4x_mont_gather5
    - usize::as_flattened
    - Vec::as_flattened
    - as_flattened
    - bn_mulx4x_mont_gather5
    - check_common_with_n
    - Vec::as_ptr
    - Ok
    - usize::as_ptr
    - Err
    - LimbSliceError::len_mismatch
    - get
    - Vec::len
    - as_flattened_mut
    - as_mut_ptr
    - as_ptr
    - LenMismatchError::new
    - as_ref
    linkageType: ''
    returnType: Result
    signature: 'pub(in super::super::super) unsafe fn mul_mont_gather5_amm(mut r:
      AsChunksMut<Limb, 8>,a: AsChunks<Limb, 8>,table: AsChunks<Limb, 8>,n: AsChunks<Limb,
      8>,n0: &N0,power: Window,maybe_adx_bmi1_bmi2: Option<(Adx, Bmi1, Bmi2)>,) ->
      Result<(), LimbSliceError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_common_with_n
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:255,1
    - Dst: AsChunksMut<Limb, 8>::as_ref
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:255,1
    - Dst: '&mut [T]::as_flattened_mut'
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:256,1
    - Dst: '&mut [T]::as_mut_ptr'
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:257,1
    - Dst: '&mut [T]::as_ptr'
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:258,1
    - Dst: usize::as_flattened
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:259,1
    - Dst: usize::as_ptr
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:260,1
    - Dst: as_flattened
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:261,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:262,1
    - Dst: Option<(Adx, Bmi1, Bmi2)>::is_some
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:265,1
    - Dst: bn_powerx5
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:266,1
    - Dst: bn_power5_nohw
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:268,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:270,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 6
    argNames:
    - in_out
    - table
    - n
    - n0
    - power
    - maybe_adx_bmi1_bmi2
    argTypes:
    - AsChunksMut<Limb, 8>
    - AsChunks<Limb, 8>
    - AsChunks<Limb, 8>
    - '&N0'
    - Window
    - Option<(Adx, Bmi1, Bmi2)>
    constantsTouched: []
    func_position:
      end: 271
      start: 223
    functionDepth: 4
    functionLinenumber: 223
    functionLinenumberEnd: 271
    functionName: power5_amm
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs
    functionUses: 1
    functionsReached:
    - '&mut [T]::as_mut_ptr'
    - Option<(Adx, Bmi1, Bmi2)>::is_some
    - AsChunksMut<Limb, 8>::as_ref
    - bn_power5_nohw
    - usize::as_flattened
    - usize::as_ptr
    - bn_powerx5
    - '&mut [T]::as_ptr'
    - as_ptr
    - '&mut [T]::as_flattened_mut'
    - check_common_with_n
    - Ok
    - as_flattened
    linkageType: ''
    returnType: Result
    signature: 'pub(in super::super::super) unsafe fn power5_amm(mut in_out: AsChunksMut<Limb,
      8>,table: AsChunks<Limb, 8>,n: AsChunks<Limb, 8>,n0: &N0,power: Window,maybe_adx_bmi1_bmi2:
      Option<(Adx, Bmi1, Bmi2)>,) -> Result<(), LimbSliceError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::as_flattened
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:283,1
    - Dst: usize::as_flattened
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:284,1
    - Dst: NonZeroUsize::new
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:285,1
    - Dst: Vec::len
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:285,1
    - Dst: OnceNonZeroUsize::ok_or_else
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:285,1
    - Dst: LimbSliceError::too_short
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:285,1
    - Dst: Vec::len
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:285,1
    - Dst: get
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:286,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:287,1
    - Dst: LimbSliceError::too_long
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:287,1
    - Dst: Vec::len
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:287,1
    - Dst: get
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:289,1
    - Dst: usize::len
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:289,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:290,1
    - Dst: LimbSliceError::len_mismatch
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:290,1
    - Dst: LenMismatchError::new
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:290,1
    - Dst: usize::len
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:291,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 42
    argCount: 2
    argNames:
    - a
    - table
    argTypes:
    - AsChunks<Limb, 8>
    - AsChunks<Limb, 8>
    constantsTouched: []
    func_position:
      end: 295
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 295
    functionName: check_common
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs
    functionUses: 3
    functionsReached:
    - LimbSliceError::too_short
    - usize::as_flattened
    - NonZeroUsize::new
    - Err
    - Vec::as_flattened
    - usize::len
    - LimbSliceError::len_mismatch
    - LenMismatchError::new
    - get
    - Vec::len
    - OnceNonZeroUsize::ok_or_else
    - Ok
    - LimbSliceError::too_long
    linkageType: ''
    returnType: Result
    signature: 'fn check_common(a: AsChunks<Limb, 8>,table: AsChunks<Limb, 8>,) ->
      Result<NonZeroUsize, LimbSliceError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_common
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:306,1
    - Dst: as_flattened
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:307,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:308,1
    - Dst: get
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:308,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:309,1
    - Dst: LimbSliceError::len_mismatch
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:309,1
    - Dst: LenMismatchError::new
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:309,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:309,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - a
    - table
    - n
    argTypes:
    - AsChunks<Limb, 8>
    - AsChunks<Limb, 8>
    - AsChunks<Limb, 8>
    constantsTouched: []
    func_position:
      end: 312
      start: 298
    functionDepth: 3
    functionLinenumber: 298
    functionLinenumberEnd: 312
    functionName: check_common_with_n
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs
    functionUses: 2
    functionsReached:
    - Err
    - LenMismatchError::new
    - LimbSliceError::len_mismatch
    - len
    - get
    - check_common
    - Ok
    - as_flattened
    linkageType: ''
    returnType: Result
    signature: 'fn check_common_with_n(a: AsChunks<Limb, 8>,table: AsChunks<Limb,
      8>,n: AsChunks<Limb, 8>,) -> Result<NonZeroUsize, LimbSliceError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: BoxedLimbs::deref
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint/boxed_limbs.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&Self::Target'
    signature: fn deref(&self) -> &Self::Target
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: BoxedLimbs::deref_mut
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint/boxed_limbs.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&mut Self::Target'
    signature: fn deref_mut(&mut self) -> &mut Self::Target
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/boxed_limbs.rs:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: BoxedLimbs::clone
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint/boxed_limbs.rs
    functionUses: 0
    functionsReached:
    - clone
    linkageType: ''
    returnType: Self
    signature: fn clone(&self) -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::zero
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/boxed_limbs.rs:65,1
    - Dst: limbs
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/boxed_limbs.rs:65,1
    - Dst: Result::len
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/boxed_limbs.rs:65,1
    - Dst: limb::parse_big_endian_and_pad_consttime
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/boxed_limbs.rs:66,1
    - Dst: limb::verify_limbs_less_than_limbs_leak_bit
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/boxed_limbs.rs:67,1
    - Dst: limbs
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/boxed_limbs.rs:67,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/boxed_limbs.rs:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - input
    - m
    argTypes:
    - untrusted::Input
    - '&Modulus<M>'
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 9
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: BoxedLimbs::from_be_bytes_padded_less_than
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint/boxed_limbs.rs
    functionUses: 2
    functionsReached:
    - Result::len
    - Self::zero
    - limb::parse_big_endian_and_pad_consttime
    - limbs
    - Ok
    - limb::verify_limbs_less_than_limbs_leak_bit
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn from_be_bytes_padded_less_than(input: untrusted::Input,m:
      &Modulus<M>,) -> Result<Self, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into_boxed_slice
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/boxed_limbs.rs:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - len
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: BoxedLimbs::zero
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint/boxed_limbs.rs
    functionUses: 5
    functionsReached:
    - into_boxed_slice
    linkageType: ''
    returnType: Self
    signature: 'pub(super) fn zero(len: usize) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: BoxedLimbs::into_limbs
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint/boxed_limbs.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Box
    signature: pub(super) fn into_limbs(self) -> Box<[Limb]>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulus.rs:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: OwnedModulus::clone
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulus.rs
    functionUses: 0
    functionsReached:
    - clone
    linkageType: ''
    returnType: Self
    signature: fn clone(&self) -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prefixed_extern
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulus.rs:87,1
    - Dst: u64::from
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulus.rs:92,1
    - Dst: limbs
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulus.rs:92,1
    - Dst: u64::from
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulus.rs:98,1
    - Dst: limbs
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulus.rs:98,1
    - Dst: N0::precalculated
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulus.rs:100,1
    - Dst: bn_neg_inv_mod_r_u64
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulus.rs:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - n
    argTypes:
    - OwnedModulusValue<M>
    constantsTouched: []
    func_position:
      end: 104
      start: 82
    functionDepth: 3
    functionLinenumber: 82
    functionLinenumberEnd: 104
    functionName: OwnedModulus::from
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulus.rs
    functionUses: 3
    functionsReached:
    - prefixed_extern
    - N0::precalculated
    - u64::from
    - bn_neg_inv_mod_r_u64
    - limbs
    linkageType: ''
    returnType: Self
    signature: 'pub(crate) fn from(n: OwnedModulusValue<M>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verify_less_than
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulus.rs:107,1
    - Dst: BoxedLimbs::zero
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulus.rs:108,1
    - Dst: Option::limbs
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulus.rs:108,1
    - Dst: Result::len
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulus.rs:108,1
    - Dst: limbs
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulus.rs:109,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulus.rs:109,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulus.rs:109,1
    - Dst: limbs
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulus.rs:109,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulus.rs:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - l
    argTypes:
    - '&Modulus<L>'
    constantsTouched: []
    func_position:
      end: 114
      start: 106
    functionDepth: 4
    functionLinenumber: 106
    functionLinenumberEnd: 114
    functionName: OwnedModulus::to_elem
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulus.rs
    functionUses: 0
    functionsReached:
    - BoxedLimbs::zero
    - Ok
    - Result::len
    - verify_less_than
    - len
    - copy_from_slice
    - limbs
    - Option::limbs
    linkageType: ''
    returnType: Result
    signature: 'pub fn to_elem<L>(&self, l: &Modulus<L>) -> Result<Elem<L, Unencoded>,
      error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limbs
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulus.rs:118,1
    - Dst: OwnedModulus::len_bits
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulus.rs:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - cpu_features
    argTypes:
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 124
      start: 116
    functionDepth: 3
    functionLinenumber: 116
    functionLinenumberEnd: 124
    functionName: OwnedModulus::modulus
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulus.rs
    functionUses: 0
    functionsReached:
    - OwnedModulus::len_bits
    - limbs
    linkageType: ''
    returnType: Modulus
    signature: 'pub(crate) fn modulus(&self, cpu_features: cpu::Features) -> Modulus<''_,
      M>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len_bits
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulus.rs:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: OwnedModulus::len_bits
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulus.rs
    functionUses: 1
    functionsReached:
    - len_bits
    linkageType: ''
    returnType: BitLength
    signature: pub fn len_bits(&self) -> BitLength
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LeadingZerosStripped::new
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulus.rs:133,1
    - Dst: limb::unstripped_be_bytes
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulus.rs:133,1
    - Dst: limbs
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulus.rs:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 8
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: OwnedModulus::be_bytes
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulus.rs
    functionUses: 0
    functionsReached:
    - LeadingZerosStripped::new
    - limbs
    - limb::unstripped_be_bytes
    linkageType: ''
    returnType: LeadingZerosStripped
    signature: pub fn be_bytes(&self) -> LeadingZerosStripped<impl ExactSizeIterator<Item
      = u8> + Clone + '_>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulus.rs:149,1
    - Dst: limb::limbs_negative_odd
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulus.rs:152,1
    - Dst: Modulus::len_bits
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulus.rs:154,1
    - Dst: BitLength::as_bits
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulus.rs:154,1
    - Dst: '&mut [Limb]::last_mut'
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulus.rs:164,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulus.rs:164,1
    - Dst: limb::limbs_double_mod
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulus.rs:169,1
    - Dst: Result::unwrap_or_else
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulus.rs:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 1
    argNames:
    - out
    argTypes:
    - '&mut [Limb]'
    constantsTouched: []
    func_position:
      end: 175
      start: 146
    functionDepth: 14
    functionLinenumber: 146
    functionLinenumberEnd: 175
    functionName: Modulus::oneR
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulus.rs
    functionUses: 0
    functionsReached:
    - BitLength::as_bits
    - limb::limbs_double_mod
    - unwrap
    - Modulus::len_bits
    - len
    - limb::limbs_negative_odd
    - '&mut [Limb]::last_mut'
    - Result::unwrap_or_else
    linkageType: ''
    returnType: void
    signature: 'pub(super) fn oneR(&self, out: &mut [Limb])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BoxedLimbs::zero
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulus.rs:180,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulus.rs:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: Modulus::alloc_zero
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulus.rs
    functionUses: 0
    functionsReached:
    - BoxedLimbs::zero
    - len
    linkageType: ''
    returnType: Storage
    signature: pub fn alloc_zero(&self) -> Storage<M>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: Modulus::limbs
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulus.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[Limb]'
    signature: pub(super) fn limbs(&self) -> &[Limb]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: Modulus::n0
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulus.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&N0'
    signature: pub(super) fn n0(&self) -> &N0
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: Modulus::len_bits
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulus.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: BitLength
    signature: pub fn len_bits(&self) -> BitLength
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 201
    functionName: Modulus::cpu_features
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulus.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cpu::Features
    signature: pub(crate) fn cpu_features(&self) -> cpu::Features
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BoxedLimbs::from_be_bytes_padded_less_than
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/private_exponent.rs:31,1
    - Dst: limb::limbs_reject_even_leak_bit
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/private_exponent.rs:41,1
    - Dst: reverse
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/private_exponent.rs:42,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/private_exponent.rs:44,1
    - Dst: into_limbs
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/private_exponent.rs:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - input
    - p
    argTypes:
    - untrusted::Input
    - '&Modulus<M>'
    constantsTouched: []
    func_position:
      end: 47
      start: 27
    functionDepth: 10
    functionLinenumber: 27
    functionLinenumberEnd: 47
    functionName: PrivateExponent::from_be_bytes_padded
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint/private_exponent.rs
    functionUses: 1
    functionsReached:
    - BoxedLimbs::from_be_bytes_padded_less_than
    - limb::limbs_reject_even_leak_bit
    - into_limbs
    - Ok
    - reverse
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_be_bytes_padded<M>(input: untrusted::Input,p: &Modulus<M>,)
      -> Result<Self, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::from_be_bytes_padded
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/private_exponent.rs:59,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/private_exponent.rs:63,1
    - Dst: BoxedLimbs::<M>::zero
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/private_exponent.rs:64,1
    - Dst: limb::parse_big_endian_and_pad_consttime
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/private_exponent.rs:65,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/private_exponent.rs:65,1
    - Dst: error::KeyRejected::unexpected_error
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/private_exponent.rs:66,1
    - Dst: Result::reverse
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/private_exponent.rs:67,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/private_exponent.rs:68,1
    - Dst: Result::into_limbs
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/private_exponent.rs:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 2
    argNames:
    - input
    - p
    argTypes:
    - untrusted::Input
    - '&Modulus<M>'
    constantsTouched: []
    func_position:
      end: 71
      start: 52
    functionDepth: 11
    functionLinenumber: 52
    functionLinenumberEnd: 71
    functionName: PrivateExponent::from_be_bytes_for_test_only
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint/private_exponent.rs
    functionUses: 1
    functionsReached:
    - Self::from_be_bytes_padded
    - Result::reverse
    - error::KeyRejected::unexpected_error
    - Result::map_err
    - limb::parse_big_endian_and_pad_consttime
    - len
    - Result::into_limbs
    - BoxedLimbs::<M>::zero
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_be_bytes_for_test_only<M>(input: untrusted::Input,p: &Modulus<M>,)
      -> Result<Self, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: PrivateExponent::limbs
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint/private_exponent.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[Limb]'
    signature: pub(super) fn limbs(&self) -> &[Limb]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulusvalue.rs:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: OwnedModulusValue::clone
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulusvalue.rs
    functionUses: 0
    functionsReached:
    - clone
    linkageType: ''
    returnType: Self
    signature: fn clone(&self) -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulusvalue.rs:43,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulusvalue.rs:46,1
    - Dst: error::KeyRejected::unexpected_error
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulusvalue.rs:46,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulusvalue.rs:49,1
    - Dst: error::KeyRejected::too_large
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulusvalue.rs:49,1
    - Dst: untrusted::Reader::new
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulusvalue.rs:55,1
    - Dst: Self::peek
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulusvalue.rs:55,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulusvalue.rs:56,1
    - Dst: error::KeyRejected::invalid_encoding
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulusvalue.rs:56,1
    - Dst: BoxedLimbs::zero
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulusvalue.rs:59,1
    - Dst: limb::parse_big_endian_and_pad_consttime
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulusvalue.rs:60,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulusvalue.rs:60,1
    - Dst: error::KeyRejected::unexpected_error
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulusvalue.rs:61,1
    - Dst: limb::limbs_reject_even_leak_bit
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulusvalue.rs:62,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulusvalue.rs:62,1
    - Dst: error::KeyRejected::invalid_component
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulusvalue.rs:63,1
    - Dst: limb::limbs_minimal_bits
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulusvalue.rs:65,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulusvalue.rs:67,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 50
    argCount: 1
    argNames:
    - input
    argTypes:
    - untrusted::Input
    constantsTouched: []
    func_position:
      end: 68
      start: 42
    functionDepth: 9
    functionLinenumber: 42
    functionLinenumberEnd: 68
    functionName: OwnedModulusValue::from_be_bytes
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulusvalue.rs
    functionUses: 3
    functionsReached:
    - error::KeyRejected::too_large
    - BoxedLimbs::zero
    - error::KeyRejected::invalid_component
    - limb::limbs_reject_even_leak_bit
    - Err
    - error::KeyRejected::unexpected_error
    - Self::peek
    - Result::map_err
    - limb::limbs_minimal_bits
    - error::KeyRejected::invalid_encoding
    - limb::parse_big_endian_and_pad_consttime
    - len
    - Ok
    - untrusted::Reader::new
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn from_be_bytes(input: untrusted::Input) -> Result<Self,
      error::KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OwnedModulusValue::len_bits
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulusvalue.rs:71,1
    - Dst: Option::len_bits
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulusvalue.rs:71,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulusvalue.rs:72,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulusvalue.rs:74,1
    - Dst: Option::limbs
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulusvalue.rs:74,1
    - Dst: Result::len
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulusvalue.rs:74,1
    - Dst: limb::verify_limbs_less_than_limbs_leak_bit
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulusvalue.rs:75,1
    - Dst: Option::limbs
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulusvalue.rs:75,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulusvalue.rs:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 1
    argNames:
    - l
    argTypes:
    - '&Modulus<L>'
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: OwnedModulusValue::verify_less_than
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulusvalue.rs
    functionUses: 0
    functionsReached:
    - Option::len_bits
    - OwnedModulusValue::len_bits
    - Ok
    - Result::len
    - Err
    - len
    - Option::limbs
    - limb::verify_limbs_less_than_limbs_leak_bit
    linkageType: ''
    returnType: Result
    signature: 'pub fn verify_less_than<L>(&self, l: &Modulus<L>) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: OwnedModulusValue::len_bits
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulusvalue.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: BitLength
    signature: pub fn len_bits(&self) -> BitLength
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: OwnedModulusValue::limbs
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulusvalue.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[Limb]'
    signature: pub(super) fn limbs(&self) -> &[Limb]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs512/storage.rs:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: AlignedStorage::zeroed
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/limbs512/storage.rs
    functionUses: 0
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: pub fn zeroed() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs512/storage.rs:50,1
    - Dst: get_mut
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs512/storage.rs:51,1
    - Dst: ok_or_else
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs512/storage.rs:51,1
    - Dst: LenMismatchError::new
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs512/storage.rs:54,1
    - Dst: slice::as_chunks_mut
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs512/storage.rs:55,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs512/storage.rs:56,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs512/storage.rs:57,1
    - Dst: LenMismatchError::new
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs512/storage.rs:57,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/arithmetic/limbs512/storage.rs:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 2
    argNames:
    - num_entries
    - chunks_per_entry
    argTypes:
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 59
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 59
    functionName: AlignedStorage::aligned_chunks_mut
    functionSourceFile: /src/spdm-rs/external/ring/src/arithmetic/limbs512/storage.rs
    functionUses: 0
    functionsReached:
    - slice::as_chunks_mut
    - Err
    - LenMismatchError::new
    - ok_or_else
    - len
    - get_mut
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn aligned_chunks_mut(&mut self,num_entries: usize,chunks_per_entry:
      usize,) -> Result<AsChunksMut<''_, Limb, LIMBS_PER_CHUNK>, LenMismatchError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u128::from_ne_bytes
      Src: /src/spdm-rs/external/ring/src/bb/mod.rs:53,1
    - Dst: u128::from_ne_bytes
      Src: /src/spdm-rs/external/ring/src/bb/mod.rs:54,1
    - Dst: to_ne_bytes
      Src: /src/spdm-rs/external/ring/src/bb/mod.rs:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - '[u8; 16]'
    - '[u8; 16]'
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: xor_16
    functionSourceFile: /src/spdm-rs/external/ring/src/bb/mod.rs
    functionUses: 2
    functionsReached:
    - u128::from_ne_bytes
    - to_ne_bytes
    linkageType: ''
    returnType: '[u8; 16]'
    signature: 'pub(crate) fn xor_16(a: [u8; 16], b: [u8; 16]) -> [u8; 16]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::into_iter
      Src: /src/spdm-rs/external/ring/src/bb/mod.rs:61,1
    - Dst: Self::IntoIter::for_each
      Src: /src/spdm-rs/external/ring/src/bb/mod.rs:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - impl IntoIterator<Item = &'a mut u8>
    - u8
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: xor_assign
    functionSourceFile: /src/spdm-rs/external/ring/src/bb/mod.rs
    functionUses: 2
    functionsReached:
    - Vec::into_iter
    - Self::IntoIter::for_each
    linkageType: ''
    returnType: void
    signature: 'pub(crate) fn xor_assign<''a>(a: impl IntoIterator<Item = &''a mut
      u8>, b: u8)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::into_iter
      Src: /src/spdm-rs/external/ring/src/bb/mod.rs:71,1
    - Dst: Self::IntoIter::zip
      Src: /src/spdm-rs/external/ring/src/bb/mod.rs:71,1
    - Dst: for_each
      Src: /src/spdm-rs/external/ring/src/bb/mod.rs:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - impl IntoIterator<Item = &'a mut u8>
    - impl IntoIterator<Item = &'a u8>
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: xor_assign_at_start
    functionSourceFile: /src/spdm-rs/external/ring/src/bb/mod.rs
    functionUses: 6
    functionsReached:
    - for_each
    - Vec::into_iter
    - Self::IntoIter::zip
    linkageType: ''
    returnType: void
    signature: 'pub(crate) fn xor_assign_at_start<''a>(a: impl IntoIterator<Item =
      &''a mut u8>,b: impl IntoIterator<Item = &''a u8>,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::from
      Src: /src/spdm-rs/external/ring/src/bb/mod.rs:88,1
    - Dst: bssl_constant_time_test_main
      Src: /src/spdm-rs/external/ring/src/bb/mod.rs:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: tests::test_constant_time
    functionSourceFile: /src/spdm-rs/external/ring/src/bb/mod.rs
    functionUses: 0
    functionsReached:
    - Result::from
    - bssl_constant_time_test_main
    linkageType: ''
    returnType: Result
    signature: fn test_constant_time() -> Result<(), error::Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand::SystemRandom::new
      Src: /src/spdm-rs/external/ring/src/bb/mod.rs:93,1
    - Dst: rand::generate::<[u8; 256]>
      Src: /src/spdm-rs/external/ring/src/bb/mod.rs:95,1
    - Dst: expose
      Src: /src/spdm-rs/external/ring/src/bb/mod.rs:95,1
    - Dst: rand::generate::<[u8; 256]>
      Src: /src/spdm-rs/external/ring/src/bb/mod.rs:96,1
    - Dst: expose
      Src: /src/spdm-rs/external/ring/src/bb/mod.rs:96,1
    - Dst: rand::generate::<[u8; 1]>
      Src: /src/spdm-rs/external/ring/src/bb/mod.rs:99,1
    - Dst: expose
      Src: /src/spdm-rs/external/ring/src/bb/mod.rs:99,1
    - Dst: prefixed_extern
      Src: /src/spdm-rs/external/ring/src/bb/mod.rs:104,1
    - Dst: bssl_constant_time_test_conditional_memcpy
      Src: /src/spdm-rs/external/ring/src/bb/mod.rs:108,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/bb/mod.rs:118,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 119
    functionName: tests::constant_time_conditional_memcpy
    functionSourceFile: /src/spdm-rs/external/ring/src/bb/mod.rs
    functionUses: 0
    functionsReached:
    - prefixed_extern
    - rand::generate::<[u8; 256]>
    - Ok
    - rand::generate::<[u8; 1]>
    - expose
    - bssl_constant_time_test_conditional_memcpy
    - rand::SystemRandom::new
    linkageType: ''
    returnType: Result
    signature: fn constant_time_conditional_memcpy() -> Result<(), error::Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand::SystemRandom::new
      Src: /src/spdm-rs/external/ring/src/bb/mod.rs:123,1
    - Dst: rand::generate::<[u8; 256]>
      Src: /src/spdm-rs/external/ring/src/bb/mod.rs:125,1
    - Dst: expose
      Src: /src/spdm-rs/external/ring/src/bb/mod.rs:125,1
    - Dst: rand::generate::<[u8; 256]>
      Src: /src/spdm-rs/external/ring/src/bb/mod.rs:126,1
    - Dst: expose
      Src: /src/spdm-rs/external/ring/src/bb/mod.rs:126,1
    - Dst: rand::generate::<[u8; 1]>
      Src: /src/spdm-rs/external/ring/src/bb/mod.rs:129,1
    - Dst: expose
      Src: /src/spdm-rs/external/ring/src/bb/mod.rs:129,1
    - Dst: xor_assign_at_start
      Src: /src/spdm-rs/external/ring/src/bb/mod.rs:134,1
    - Dst: prefixed_extern
      Src: /src/spdm-rs/external/ring/src/bb/mod.rs:137,1
    - Dst: bssl_constant_time_test_conditional_memxor
      Src: /src/spdm-rs/external/ring/src/bb/mod.rs:141,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/bb/mod.rs:152,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 122
    functionDepth: 3
    functionLinenumber: 122
    functionLinenumberEnd: 153
    functionName: tests::constant_time_conditional_memxor
    functionSourceFile: /src/spdm-rs/external/ring/src/bb/mod.rs
    functionUses: 0
    functionsReached:
    - prefixed_extern
    - rand::generate::<[u8; 256]>
    - Ok
    - rand::generate::<[u8; 1]>
    - expose
    - xor_assign_at_start
    - rand::SystemRandom::new
    - bssl_constant_time_test_conditional_memxor
    linkageType: ''
    returnType: Result
    signature: fn constant_time_conditional_memxor() -> Result<(), error::Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 161
    functionName: tests::test_bool_mask_bitwise_and_is_logical_and
    functionSourceFile: /src/spdm-rs/external/ring/src/bb/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_bool_mask_bitwise_and_is_logical_and()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: BoolMask::leak
    functionSourceFile: /src/spdm-rs/external/ring/src/bb/boolmask.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: pub(crate) fn leak(self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/ring/src/bb/boolmask.rs:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - Self
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: BoolMask::bitand
    functionSourceFile: /src/spdm-rs/external/ring/src/bb/boolmask.rs
    functionUses: 0
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: 'fn bitand(self, rhs: Self) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - W32
    - W32
    - W32
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: parity
    functionSourceFile: /src/spdm-rs/external/ring/src/digest/sha1.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: W32
    signature: 'fn parity(x: W32, y: W32, z: W32) -> W32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice::as_chunks
      Src: /src/spdm-rs/external/ring/src/digest/dynstate.rs:121,1
    - Dst: sha1::sha1_block_data_order
      Src: /src/spdm-rs/external/ring/src/digest/dynstate.rs:122,1
    - Dst: as_flattened
      Src: /src/spdm-rs/external/ring/src/digest/dynstate.rs:123,1
    - Dst: '&[T]::len'
      Src: /src/spdm-rs/external/ring/src/digest/dynstate.rs:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - state
    - data
    - _cpu_features
    argTypes:
    - '&mut DynState'
    - '&''d [u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 124
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 124
    functionName: sha1_block_data_order
    functionSourceFile: /src/spdm-rs/external/ring/src/digest/dynstate.rs
    functionUses: 1
    functionsReached:
    - '&[T]::len'
    - sha1::sha1_block_data_order
    - slice::as_chunks
    - as_flattened
    linkageType: ''
    returnType: (usize, &'d [u8])
    signature: 'pub(super) fn sha1_block_data_order<''d>(state: &mut DynState,data:
      &''d [u8],_cpu_features: cpu::Features,) -> (usize, &''d [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice::as_chunks
      Src: /src/spdm-rs/external/ring/src/digest/sha2/fallback.rs:39,1
    - Dst: S::zero_w
      Src: /src/spdm-rs/external/ring/src/digest/sha2/fallback.rs:46,1
    - Dst: '&mut [u8]::as_mut'
      Src: /src/spdm-rs/external/ring/src/digest/sha2/fallback.rs:47,1
    - Dst: '&mut [u8]::iter_mut'
      Src: /src/spdm-rs/external/ring/src/digest/sha2/fallback.rs:48,1
    - Dst: zip
      Src: /src/spdm-rs/external/ring/src/digest/sha2/fallback.rs:48,1
    - Dst: for_each
      Src: /src/spdm-rs/external/ring/src/digest/sha2/fallback.rs:48,1
    - Dst: into
      Src: /src/spdm-rs/external/ring/src/digest/sha2/fallback.rs:49,1
    - Dst: S::from_be_bytes
      Src: /src/spdm-rs/external/ring/src/digest/sha2/fallback.rs:50,1
    - Dst: sigma_1
      Src: /src/spdm-rs/external/ring/src/digest/sha2/fallback.rs:53,1
    - Dst: sigma_0
      Src: /src/spdm-rs/external/ring/src/digest/sha2/fallback.rs:53,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/src/digest/sha2/fallback.rs:60,1
    - Dst: iter
      Src: /src/spdm-rs/external/ring/src/digest/sha2/fallback.rs:60,1
    - Dst: zip
      Src: /src/spdm-rs/external/ring/src/digest/sha2/fallback.rs:60,1
    - Dst: '&mut [u8]::iter'
      Src: /src/spdm-rs/external/ring/src/digest/sha2/fallback.rs:60,1
    - Dst: SIGMA_1
      Src: /src/spdm-rs/external/ring/src/digest/sha2/fallback.rs:61,1
    - Dst: ch
      Src: /src/spdm-rs/external/ring/src/digest/sha2/fallback.rs:61,1
    - Dst: SIGMA_0
      Src: /src/spdm-rs/external/ring/src/digest/sha2/fallback.rs:62,1
    - Dst: maj
      Src: /src/spdm-rs/external/ring/src/digest/sha2/fallback.rs:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 95
    argCount: 2
    argNames:
    - H
    - M
    argTypes:
    - '[S; CHAINING_WORDS]'
    - AsChunks<u8, BLOCK_LEN>
    constantsTouched: []
    func_position:
      end: 85
      start: 31
    functionDepth: 4
    functionLinenumber: 31
    functionLinenumberEnd: 85
    functionName: block_data_order
    functionSourceFile: /src/spdm-rs/external/ring/src/digest/sha2/fallback.rs
    functionUses: 3
    functionsReached:
    - zip
    - slice::as_chunks
    - into
    - iter
    - sigma_0
    - '&mut [u8]::iter_mut'
    - for_each
    - sigma_1
    - S::zero_w
    - SIGMA_0
    - '&mut [u8]::iter'
    - SIGMA_1
    - S::from_be_bytes
    - '&mut [u8]::as_mut'
    - ch
    - as_ref
    - maj
    linkageType: ''
    returnType: '[S; CHAINING_WORDS]'
    signature: 'pub(super) fn block_data_order<S: Sha2, const BLOCK_LEN: usize, const
      BYTES_LEN: usize>(mut H: [S; CHAINING_WORDS],M: AsChunks<u8, BLOCK_LEN>,) ->
      [S; CHAINING_WORDS]wherefor<''a> &''a S::InputBytes: From<&''a [u8; BYTES_LEN]>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[W32; 80]::iter'
      Src: /src/spdm-rs/external/ring/src/digest/sha1.rs:105,1
    - Dst: rotl
      Src: /src/spdm-rs/external/ring/src/digest/sha1.rs:106,1
    - Dst: rotl
      Src: /src/spdm-rs/external/ring/src/digest/sha1.rs:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 9
    argNames:
    - a
    - b
    - c
    - d
    - e
    - W
    - t
    - k
    - f
    argTypes:
    - W32
    - W32
    - W32
    - W32
    - W32
    - '&[W32; 80]'
    - usize
    - W32
    - impl Fn(W32, W32, W32) -> W32
    constantsTouched: []
    func_position:
      end: 114
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 114
    functionName: step3
    functionSourceFile: /src/spdm-rs/external/ring/src/digest/sha1.rs
    functionUses: 0
    functionsReached:
    - '&[W32; 80]::iter'
    - rotl
    linkageType: ''
    returnType: (W32, W32, W32, W32, W32)
    signature: 'fn step3(mut a: W32,mut b: W32,mut c: W32,mut d: W32,mut e: W32,W:
      &[W32; 80],t: usize,k: W32,f: impl Fn(W32, W32, W32) -> W32,) -> (W32, W32,
      W32, W32, W32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::num::Wrapping
      Src: /src/spdm-rs/external/ring/src/digest/sha1.rs:118,1
    - Dst: rotate_left
      Src: /src/spdm-rs/external/ring/src/digest/sha1.rs:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - W32
    - u32
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: rotl
    functionSourceFile: /src/spdm-rs/external/ring/src/digest/sha1.rs
    functionUses: 1
    functionsReached:
    - core::num::Wrapping
    - rotate_left
    linkageType: ''
    returnType: W32
    signature: 'fn rotl(x: W32, n: u32) -> W32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::As32
      Src: /src/spdm-rs/external/ring/src/digest/dynstate.rs:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - initial_state
    argTypes:
    - sha2::State32
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: DynState::new32
    functionSourceFile: /src/spdm-rs/external/ring/src/digest/dynstate.rs
    functionUses: 0
    functionsReached:
    - Self::As32
    linkageType: ''
    returnType: Self
    signature: 'pub const fn new32(initial_state: sha2::State32) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::As64
      Src: /src/spdm-rs/external/ring/src/digest/dynstate.rs:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - initial_state
    argTypes:
    - sha2::State64
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: DynState::new64
    functionSourceFile: /src/spdm-rs/external/ring/src/digest/dynstate.rs
    functionUses: 0
    functionsReached:
    - Self::As64
    linkageType: ''
    returnType: Self
    signature: 'pub const fn new64(initial_state: sha2::State64) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size_of::<u64>
      Src: /src/spdm-rs/external/ring/src/digest/dynstate.rs:42,1
    - Dst: format_output::<_, _, { size_of::<u64>() }>
      Src: /src/spdm-rs/external/ring/src/digest/dynstate.rs:42,1
    - Dst: size_of::<u32>
      Src: /src/spdm-rs/external/ring/src/digest/dynstate.rs:45,1
    - Dst: format_output::<_, _, { size_of::<u32>() }>
      Src: /src/spdm-rs/external/ring/src/digest/dynstate.rs:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: DynState::format_output
    functionSourceFile: /src/spdm-rs/external/ring/src/digest/dynstate.rs
    functionUses: 0
    functionsReached:
    - size_of::<u64>
    - format_output::<_, _, { size_of::<u32>() }>
    - size_of::<u32>
    - format_output::<_, _, { size_of::<u64>() }>
    linkageType: ''
    returnType: Output
    signature: pub fn format_output(self) -> Output
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc::vec::Vec::with_capacity
      Src: /src/spdm-rs/external/ring/src/digest/dynstate.rs:56,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/ring/src/digest/dynstate.rs:57,1
    - Dst: Bytes::extend_from_slice
      Src: /src/spdm-rs/external/ring/src/digest/dynstate.rs:58,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/external/ring/src/digest/dynstate.rs:58,1
    - Dst: alloc::vec::Vec::with_capacity
      Src: /src/spdm-rs/external/ring/src/digest/dynstate.rs:63,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/ring/src/digest/dynstate.rs:64,1
    - Dst: Bytes::extend_from_slice
      Src: /src/spdm-rs/external/ring/src/digest/dynstate.rs:65,1
    - Dst: to_le_bytes
      Src: /src/spdm-rs/external/ring/src/digest/dynstate.rs:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 70
    functionName: DynState::to_bytes
    functionSourceFile: /src/spdm-rs/external/ring/src/digest/dynstate.rs
    functionUses: 0
    functionsReached:
    - SpdmResult::iter
    - to_le_bytes
    - Bytes::extend_from_slice
    - alloc::vec::Vec::with_capacity
    linkageType: ''
    returnType: alloc::vec::Vec
    signature: pub(super) fn to_bytes(&self) -> alloc::vec::Vec<u8>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bytes::len
      Src: /src/spdm-rs/external/ring/src/digest/dynstate.rs:78,1
    - Dst: Wrapping
      Src: /src/spdm-rs/external/ring/src/digest/dynstate.rs:80,1
    - Dst: Bytes::chunks_exact
      Src: /src/spdm-rs/external/ring/src/digest/dynstate.rs:81,1
    - Dst: enumerate
      Src: /src/spdm-rs/external/ring/src/digest/dynstate.rs:81,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/digest/dynstate.rs:83,1
    - Dst: u32::from_le_bytes
      Src: /src/spdm-rs/external/ring/src/digest/dynstate.rs:85,1
    - Dst: Wrapping
      Src: /src/spdm-rs/external/ring/src/digest/dynstate.rs:86,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/digest/dynstate.rs:88,1
    - Dst: Self::As32
      Src: /src/spdm-rs/external/ring/src/digest/dynstate.rs:88,1
    - Dst: Wrapping
      Src: /src/spdm-rs/external/ring/src/digest/dynstate.rs:91,1
    - Dst: Bytes::chunks_exact
      Src: /src/spdm-rs/external/ring/src/digest/dynstate.rs:92,1
    - Dst: enumerate
      Src: /src/spdm-rs/external/ring/src/digest/dynstate.rs:92,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/digest/dynstate.rs:94,1
    - Dst: u64::from_le_bytes
      Src: /src/spdm-rs/external/ring/src/digest/dynstate.rs:96,1
    - Dst: Wrapping
      Src: /src/spdm-rs/external/ring/src/digest/dynstate.rs:100,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/digest/dynstate.rs:102,1
    - Dst: Self::As64
      Src: /src/spdm-rs/external/ring/src/digest/dynstate.rs:102,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/digest/dynstate.rs:104,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 64
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 106
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 106
    functionName: DynState::from_bytes
    functionSourceFile: /src/spdm-rs/external/ring/src/digest/dynstate.rs
    functionUses: 1
    functionsReached:
    - Bytes::len
    - Self::As32
    - enumerate
    - Bytes::chunks_exact
    - Err
    - u32::from_le_bytes
    - Self::As64
    - u64::from_le_bytes
    - Wrapping
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn from_bytes(bytes: &[u8]) -> Result<Self, ()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice::as_chunks
      Src: /src/spdm-rs/external/ring/src/digest/dynstate.rs:138,1
    - Dst: sha2::block_data_order_32
      Src: /src/spdm-rs/external/ring/src/digest/dynstate.rs:139,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/digest/dynstate.rs:140,1
    - Dst: into
      Src: /src/spdm-rs/external/ring/src/digest/dynstate.rs:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - state
    - data
    - cpu_features
    argTypes:
    - '&mut DynState'
    - '&''d [u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 141
      start: 126
    functionDepth: 4
    functionLinenumber: 126
    functionLinenumberEnd: 141
    functionName: sha256_block_data_order
    functionSourceFile: /src/spdm-rs/external/ring/src/digest/dynstate.rs
    functionUses: 0
    functionsReached:
    - into
    - slice::as_chunks
    - len
    - sha2::block_data_order_32
    linkageType: ''
    returnType: (usize, &'d [u8])
    signature: 'pub(super) fn sha256_block_data_order<''d>(state: &mut DynState,data:
      &''d [u8],cpu_features: cpu::Features,) -> (usize, &''d [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice::as_chunks
      Src: /src/spdm-rs/external/ring/src/digest/dynstate.rs:155,1
    - Dst: sha2::block_data_order_64
      Src: /src/spdm-rs/external/ring/src/digest/dynstate.rs:156,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/digest/dynstate.rs:157,1
    - Dst: into
      Src: /src/spdm-rs/external/ring/src/digest/dynstate.rs:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - state
    - data
    - cpu_features
    argTypes:
    - '&mut DynState'
    - '&''d [u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 158
      start: 143
    functionDepth: 4
    functionLinenumber: 143
    functionLinenumberEnd: 158
    functionName: sha512_block_data_order
    functionSourceFile: /src/spdm-rs/external/ring/src/digest/dynstate.rs
    functionUses: 0
    functionsReached:
    - into
    - slice::as_chunks
    - len
    - sha2::block_data_order_64
    linkageType: ''
    returnType: (usize, &'d [u8])
    signature: 'pub(super) fn sha512_block_data_order<''d>(state: &mut DynState,data:
      &''d [u8],cpu_features: cpu::Features,) -> (usize, &''d [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - W
    - W
    - W
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: ch
    functionSourceFile: /src/spdm-rs/external/ring/src/digest/sha2/fallback.rs
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: W
    signature: 'pub(in super::super) fn ch<W: Word>(x: W, y: W, z: W) -> W'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - W
    - W
    - W
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: maj
    functionSourceFile: /src/spdm-rs/external/ring/src/digest/sha2/fallback.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: W
    signature: 'pub(in super::super) fn maj<W: Word>(x: W, y: W, z: W) -> W'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::rotr
      Src: /src/spdm-rs/external/ring/src/digest/sha2/fallback.rs:102,1
    - Dst: Result::rotr
      Src: /src/spdm-rs/external/ring/src/digest/sha2/fallback.rs:102,1
    - Dst: Result::rotr
      Src: /src/spdm-rs/external/ring/src/digest/sha2/fallback.rs:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - x
    argTypes:
    - S
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: SIGMA_0
    functionSourceFile: /src/spdm-rs/external/ring/src/digest/sha2/fallback.rs
    functionUses: 1
    functionsReached:
    - Result::rotr
    linkageType: ''
    returnType: S
    signature: 'fn SIGMA_0<S: Sha2>(x: S) -> S'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::rotr
      Src: /src/spdm-rs/external/ring/src/digest/sha2/fallback.rs:108,1
    - Dst: Result::rotr
      Src: /src/spdm-rs/external/ring/src/digest/sha2/fallback.rs:108,1
    - Dst: Result::rotr
      Src: /src/spdm-rs/external/ring/src/digest/sha2/fallback.rs:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - x
    argTypes:
    - S
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: SIGMA_1
    functionSourceFile: /src/spdm-rs/external/ring/src/digest/sha2/fallback.rs
    functionUses: 1
    functionsReached:
    - Result::rotr
    linkageType: ''
    returnType: S
    signature: 'fn SIGMA_1<S: Sha2>(x: S) -> S'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::rotr
      Src: /src/spdm-rs/external/ring/src/digest/sha2/fallback.rs:114,1
    - Dst: Result::rotr
      Src: /src/spdm-rs/external/ring/src/digest/sha2/fallback.rs:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - x
    argTypes:
    - S
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: sigma_0
    functionSourceFile: /src/spdm-rs/external/ring/src/digest/sha2/fallback.rs
    functionUses: 1
    functionsReached:
    - Result::rotr
    linkageType: ''
    returnType: S
    signature: 'fn sigma_0<S: Sha2>(x: S) -> S'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::rotr
      Src: /src/spdm-rs/external/ring/src/digest/sha2/fallback.rs:120,1
    - Dst: Result::rotr
      Src: /src/spdm-rs/external/ring/src/digest/sha2/fallback.rs:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - x
    argTypes:
    - S
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: sigma_1
    functionSourceFile: /src/spdm-rs/external/ring/src/digest/sha2/fallback.rs
    functionUses: 1
    functionsReached:
    - Result::rotr
    linkageType: ''
    returnType: S
    signature: 'fn sigma_1<S: Sha2>(x: S) -> S'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/ring/src/digest/sha2/fallback.rs:264,1
    - Dst: u64::from_be_bytes
      Src: /src/spdm-rs/external/ring/src/digest/sha2/fallback.rs:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - Self::InputBytes
    constantsTouched: []
    func_position:
      end: 265
      start: 263
    functionDepth: 4
    functionLinenumber: 263
    functionLinenumberEnd: 265
    functionName: Wrapping::from_be_bytes
    functionSourceFile: /src/spdm-rs/external/ring/src/digest/sha2/fallback.rs
    functionUses: 0
    functionsReached:
    - Self
    - u64::from_be_bytes
    linkageType: ''
    returnType: Self
    signature: 'fn from_be_bytes(input: Self::InputBytes) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/ring/src/digest/sha2/fallback.rs:269,1
    - Dst: rotate_right
      Src: /src/spdm-rs/external/ring/src/digest/sha2/fallback.rs:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - count
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: Wrapping::rotr
    functionSourceFile: /src/spdm-rs/external/ring/src/digest/sha2/fallback.rs
    functionUses: 0
    functionsReached:
    - Self
    - rotate_right
    linkageType: ''
    returnType: Self
    signature: 'fn rotr(self, count: u32) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 287
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 287
    functionName: Wrapping::zero_w
    functionSourceFile: /src/spdm-rs/external/ring/src/digest/sha2/fallback.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self::W
    signature: fn zero_w() -> Self::W
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - state
    - data
    - cpu
    argTypes:
    - '&mut State32'
    - AsChunks<u8, { SHA256_BLOCK_LEN.into() }>
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 63
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 63
    functionName: block_data_order_32
    functionSourceFile: /src/spdm-rs/external/ring/src/digest/sha2/sha2_32.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub(crate) fn block_data_order_32(state: &mut State32,data: AsChunks<u8,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NonZeroUsize::new
      Src: /src/spdm-rs/external/ring/src/digest/sha2/ffi.rs:61,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/digest/sha2/ffi.rs:61,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/ring/src/digest/sha2/ffi.rs:62,1
    - Dst: f
      Src: /src/spdm-rs/external/ring/src/digest/sha2/ffi.rs:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - state
    - data
    - cpu
    - f
    argTypes:
    - '&mut [Wrapping<U>; CHAINING_WORDS]'
    - AsChunks<u8, BLOCK_LEN>
    - Cpu
    - "unsafe extern \"C\" fn(\n        *mut [Wrapping<U>; CHAINING_WORDS],\n    \
      \    *const [u8; BLOCK_LEN],\n        crate::c::NonZero_size_t,\n    )"
    constantsTouched: []
    func_position:
      end: 71
      start: 51
    functionDepth: 11
    functionLinenumber: 51
    functionLinenumberEnd: 71
    functionName: sha2_ffi
    functionSourceFile: /src/spdm-rs/external/ring/src/digest/sha2/ffi.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    - f
    - len
    - NonZeroUsize::new
    linkageType: ''
    returnType: void
    signature: 'pub(super) unsafe fn sha2_ffi<U, Cpu, const BLOCK_LEN: usize>(state:
      &mut [Wrapping<U>; CHAINING_WORDS],data: AsChunks<u8, BLOCK_LEN>,cpu: Cpu,f:
      unsafe extern "C" fn(*mut [Wrapping<U>; CHAINING_WORDS],*const [u8; BLOCK_LEN],crate::c::NonZero_size_t,),)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: sha2_32_ffi
    functionSourceFile: /src/spdm-rs/external/ring/src/digest/sha2/ffi.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: sha2_64_ffi
    functionSourceFile: /src/spdm-rs/external/ring/src/digest/sha2/ffi.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - state
    - data
    - cpu
    argTypes:
    - '&mut State64'
    - AsChunks<u8, { SHA512_BLOCK_LEN.into() }>
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 60
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 60
    functionName: block_data_order_64
    functionSourceFile: /src/spdm-rs/external/ring/src/digest/sha2/sha2_64.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub(crate) fn block_data_order_64(state: &mut State64,data: AsChunks<u8,'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: UnboundKey::into_inner
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/unbound_key.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LessSafeKey
    signature: pub(super) fn into_inner(self) -> LessSafeKey
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Counter::zero_one_less_safe
      Src: /src/spdm-rs/external/ring/src/aead/chacha.rs:64,1
    - Dst: Key::encrypt
      Src: /src/spdm-rs/external/ring/src/aead/chacha.rs:65,1
    - Dst: '&mut [u8; N]::as_mut'
      Src: /src/spdm-rs/external/ring/src/aead/chacha.rs:65,1
    - Dst: '&mut [u8]::into'
      Src: /src/spdm-rs/external/ring/src/aead/chacha.rs:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - nonce
    - in_out
    - cpu
    argTypes:
    - Nonce
    - '&mut [u8; N]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 67
      start: 57
    functionDepth: 4
    functionLinenumber: 57
    functionLinenumberEnd: 67
    functionName: Key::encrypt_single_block_with_ctr_0
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/chacha.rs
    functionUses: 0
    functionsReached:
    - Key::encrypt
    - Counter::zero_one_less_safe
    - '&mut [u8]::into'
    - '&mut [u8; N]::as_mut'
    linkageType: ''
    returnType: Counter
    signature: 'pub(super) fn encrypt_single_block_with_ctr_0<const N: usize>(&self,nonce:
      Nonce,in_out: &mut [u8; N],cpu: cpu::Features,) -> Counter'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key::encrypt_block
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sample
    argTypes:
    - Sample
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 4
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: Key::new_mask
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/aes.rs
    functionUses: 0
    functionsReached:
    - Key::encrypt_block
    linkageType: ''
    returnType: '[u8; 5]'
    signature: 'pub fn new_mask(&self, sample: Sample) -> [u8; 5]'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 3
    argNames:
    - counter
    - in_out
    - cpu
    argTypes:
    - Counter
    - Overlapping<'_>
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 154
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 154
    functionName: Key::encrypt
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/chacha.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub(super) fn encrypt(&self, counter: Counter, in_out: Overlapping<''_>,
      cpu: cpu::Features)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionName: Key::words_less_safe
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/chacha.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u32; KEY_LEN / 4]'
    signature: pub(super) fn words_less_safe(&self) -> &[u32; KEY_LEN / 4]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::from_nonce_and_ctr
      Src: /src/spdm-rs/external/ring/src/aead/chacha.rs:170,1
    - Dst: Self
      Src: /src/spdm-rs/external/ring/src/aead/chacha.rs:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - nonce
    argTypes:
    - Nonce
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 3
    functionLinenumber: 169
    functionLinenumberEnd: 173
    functionName: Counter::zero_one_less_safe
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/chacha.rs
    functionUses: 1
    functionsReached:
    - Self
    - Self::from_nonce_and_ctr
    linkageType: ''
    returnType: (Self, Self)
    signature: 'fn zero_one_less_safe(nonce: Nonce) -> (Self, Self)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/src/aead/chacha.rs:176,1
    - Dst: '&[u8]::array_split_map'
      Src: /src/spdm-rs/external/ring/src/aead/chacha.rs:176,1
    - Dst: Self
      Src: /src/spdm-rs/external/ring/src/aead/chacha.rs:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - nonce
    - ctr
    argTypes:
    - Nonce
    - u32
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: Counter::from_nonce_and_ctr
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/chacha.rs
    functionUses: 1
    functionsReached:
    - Self
    - as_ref
    - '&[u8]::array_split_map'
    linkageType: ''
    returnType: Self
    signature: 'fn from_nonce_and_ctr(nonce: Nonce, ctr: u32) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: Counter::into_words_less_safe
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/chacha.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '[u32; 4]'
    signature: fn into_words_less_safe(self) -> [u32; 4]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chacha20_test
      Src: /src/spdm-rs/external/ring/src/aead/chacha.rs:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 217
    functionDepth: 15
    functionLinenumber: 217
    functionLinenumberEnd: 230
    functionName: tests::chacha20_test_default
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/chacha.rs
    functionUses: 0
    functionsReached:
    - chacha20_test
    linkageType: ''
    returnType: void
    signature: fn chacha20_test_default()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chacha20_test
      Src: /src/spdm-rs/external/ring/src/aead/chacha.rs:235,1
    - Dst: fallback::ChaCha20_ctr32
      Src: /src/spdm-rs/external/ring/src/aead/chacha.rs:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 234
    functionDepth: 15
    functionLinenumber: 234
    functionLinenumberEnd: 238
    functionName: tests::chacha20_test_fallback
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/chacha.rs
    functionUses: 0
    functionsReached:
    - chacha20_test
    - fallback::ChaCha20_ctr32
    linkageType: ''
    returnType: void
    signature: fn chacha20_test_fallback()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::try_into
      Src: /src/spdm-rs/external/ring/src/aead/quic.rs:147,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/aead/quic.rs:147,1
    - Dst: aes::Key::new
      Src: /src/spdm-rs/external/ring/src/aead/quic.rs:148,1
    - Dst: aes::KeyBytes::AES_128
      Src: /src/spdm-rs/external/ring/src/aead/quic.rs:148,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/aead/quic.rs:149,1
    - Dst: KeyInner::Aes
      Src: /src/spdm-rs/external/ring/src/aead/quic.rs:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - key
    - cpu_features
    argTypes:
    - '&[u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 5
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: aes_init_128
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/quic.rs
    functionUses: 0
    functionsReached:
    - bool::try_into
    - aes::KeyBytes::AES_128
    - KeyInner::Aes
    - Result::map_err
    - aes::Key::new
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn aes_init_128(key: &[u8], cpu_features: cpu::Features) -> Result<KeyInner,
      error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::try_into
      Src: /src/spdm-rs/external/ring/src/aead/quic.rs:153,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/aead/quic.rs:153,1
    - Dst: aes::Key::new
      Src: /src/spdm-rs/external/ring/src/aead/quic.rs:154,1
    - Dst: aes::KeyBytes::AES_256
      Src: /src/spdm-rs/external/ring/src/aead/quic.rs:154,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/aead/quic.rs:155,1
    - Dst: KeyInner::Aes
      Src: /src/spdm-rs/external/ring/src/aead/quic.rs:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - key
    - cpu_features
    argTypes:
    - '&[u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 5
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: aes_init_256
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/quic.rs
    functionUses: 0
    functionsReached:
    - bool::try_into
    - KeyInner::Aes
    - aes::KeyBytes::AES_256
    - Result::map_err
    - aes::Key::new
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn aes_init_256(key: &[u8], cpu_features: cpu::Features) -> Result<KeyInner,
      error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_mask
      Src: /src/spdm-rs/external/ring/src/aead/quic.rs:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - key
    - sample
    argTypes:
    - '&KeyInner'
    - Sample
    constantsTouched: []
    func_position:
      end: 165
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 165
    functionName: aes_new_mask
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/quic.rs
    functionUses: 0
    functionsReached:
    - new_mask
    linkageType: ''
    returnType: '[u8; 5]'
    signature: 'fn aes_new_mask(key: &KeyInner, sample: Sample) -> [u8; 5]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::try_into
      Src: /src/spdm-rs/external/ring/src/aead/quic.rs:176,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/aead/quic.rs:177,1
    - Dst: KeyInner::ChaCha20
      Src: /src/spdm-rs/external/ring/src/aead/quic.rs:177,1
    - Dst: chacha::Key::new
      Src: /src/spdm-rs/external/ring/src/aead/quic.rs:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - key
    - _cpu_features
    argTypes:
    - '&[u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 5
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: chacha20_init
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/quic.rs
    functionUses: 0
    functionsReached:
    - bool::try_into
    - KeyInner::ChaCha20
    - chacha::Key::new
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn chacha20_init(key: &[u8], _cpu_features: cpu::Features) -> Result<KeyInner,
      error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_mask
      Src: /src/spdm-rs/external/ring/src/aead/quic.rs:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - key
    - sample
    argTypes:
    - '&KeyInner'
    - Sample
    constantsTouched: []
    func_position:
      end: 187
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 187
    functionName: chacha20_new_mask
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/quic.rs
    functionUses: 0
    functionsReached:
    - new_mask
    linkageType: ''
    returnType: '[u8; 5]'
    signature: 'fn chacha20_new_mask(key: &KeyInner, sample: Sample) -> [u8; 5]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update_block
      Src: /src/spdm-rs/external/ring/src/aead/gcm.rs:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - Block
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: Context::update_block
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/gcm.rs
    functionUses: 1
    functionsReached:
    - update_block
    linkageType: ''
    returnType: void
    signature: 'pub fn update_block(&mut self, a: Block)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmResult::update_internal
      Src: /src/spdm-rs/external/ring/src/aead/poly1305.rs:68,1
    - Dst: SpdmResult::update_internal
      Src: /src/spdm-rs/external/ring/src/aead/poly1305.rs:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - input
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 5
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: Context::update_internal
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/poly1305.rs
    functionUses: 2
    functionsReached:
    - SpdmResult::update_internal
    linkageType: ''
    returnType: void
    signature: 'fn update_internal(&mut self, input: &[u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key_bytes
    - cpu_features
    argTypes:
    - '&[u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: Algorithm::new_key
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/algorithm.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn new_key(&self,key_bytes: &[u8],cpu_features: cpu::Features,)
      -> Result<KeyInner, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&''io mut [u8]::get'
      Src: /src/spdm-rs/external/ring/src/aead/algorithm.rs:99,1
    - Dst: RangeFrom<usize>::clone
      Src: /src/spdm-rs/external/ring/src/aead/algorithm.rs:99,1
    - Dst: ok_or
      Src: /src/spdm-rs/external/ring/src/aead/algorithm.rs:99,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/aead/algorithm.rs:99,1
    - Dst: bb::verify_slices_are_equal
      Src: /src/spdm-rs/external/ring/src/aead/algorithm.rs:103,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/src/aead/algorithm.rs:103,1
    - Dst: Tag::as_ref
      Src: /src/spdm-rs/external/ring/src/aead/algorithm.rs:103,1
    - Dst: Result::is_err
      Src: /src/spdm-rs/external/ring/src/aead/algorithm.rs:103,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/aead/algorithm.rs:111,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/aead/algorithm.rs:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 7
    argNames:
    - key
    - nonce
    - aad
    - received_tag
    - in_out
    - src
    - cpu_features
    argTypes:
    - '&KeyInner'
    - Nonce
    - Aad<&[u8]>
    - Tag
    - '&''io mut [u8]'
    - RangeFrom<usize>
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 116
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 116
    functionName: Algorithm::open_within
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/algorithm.rs
    functionUses: 0
    functionsReached:
    - Tag::as_ref
    - Result::is_err
    - Err
    - ok_or
    - len
    - RangeFrom<usize>::clone
    - '&''io mut [u8]::get'
    - as_ref
    - bb::verify_slices_are_equal
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn open_within<''io>(&self,key: &KeyInner,nonce: Nonce,aad:
      Aad<&[u8]>,received_tag: Tag,in_out: &''io mut [u8],src: RangeFrom<usize>,cpu_features:
      cpu::Features,) -> Result<&''io mut [u8], error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - key
    - nonce
    - aad
    - in_out
    - cpu_features
    argTypes:
    - '&KeyInner'
    - Nonce
    - Aad<&[u8]>
    - '&mut [u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 128
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 128
    functionName: Algorithm::seal
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/algorithm.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn seal(&self,key: &KeyInner,nonce: Nonce,aad: Aad<&[u8]>,in_out:
      &mut [u8],cpu_features: cpu::Features,) -> Result<Tag, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::try_into
      Src: /src/spdm-rs/external/ring/src/aead/algorithm.rs:170,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/aead/algorithm.rs:170,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/aead/algorithm.rs:171,1
    - Dst: KeyInner::AesGcm
      Src: /src/spdm-rs/external/ring/src/aead/algorithm.rs:171,1
    - Dst: aes_gcm::Key::new
      Src: /src/spdm-rs/external/ring/src/aead/algorithm.rs:171,1
    - Dst: aes::KeyBytes::AES_128
      Src: /src/spdm-rs/external/ring/src/aead/algorithm.rs:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - key
    - cpu_features
    argTypes:
    - '&[u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 175
      start: 166
    functionDepth: 5
    functionLinenumber: 166
    functionLinenumberEnd: 175
    functionName: aes_gcm_init_128
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/algorithm.rs
    functionUses: 0
    functionsReached:
    - bool::try_into
    - aes::KeyBytes::AES_128
    - Result::map_err
    - aes_gcm::Key::new
    - Ok
    - KeyInner::AesGcm
    linkageType: ''
    returnType: Result
    signature: 'fn aes_gcm_init_128(key: &[u8],cpu_features: cpu::Features,) -> Result<KeyInner,
      error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::try_into
      Src: /src/spdm-rs/external/ring/src/aead/algorithm.rs:181,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/aead/algorithm.rs:181,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/aead/algorithm.rs:182,1
    - Dst: KeyInner::AesGcm
      Src: /src/spdm-rs/external/ring/src/aead/algorithm.rs:182,1
    - Dst: aes_gcm::Key::new
      Src: /src/spdm-rs/external/ring/src/aead/algorithm.rs:182,1
    - Dst: aes::KeyBytes::AES_256
      Src: /src/spdm-rs/external/ring/src/aead/algorithm.rs:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - key
    - cpu_features
    argTypes:
    - '&[u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 186
      start: 177
    functionDepth: 5
    functionLinenumber: 177
    functionLinenumberEnd: 186
    functionName: aes_gcm_init_256
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/algorithm.rs
    functionUses: 0
    functionsReached:
    - bool::try_into
    - aes::KeyBytes::AES_256
    - Result::map_err
    - aes_gcm::Key::new
    - Ok
    - KeyInner::AesGcm
    linkageType: ''
    returnType: Result
    signature: 'fn aes_gcm_init_256(key: &[u8],cpu_features: cpu::Features,) -> Result<KeyInner,
      error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aes_gcm::seal
      Src: /src/spdm-rs/external/ring/src/aead/algorithm.rs:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 5
    argNames:
    - key
    - nonce
    - aad
    - in_out
    - _cpu_features
    argTypes:
    - '&KeyInner'
    - Nonce
    - Aad<&[u8]>
    - '&mut [u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 200
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 200
    functionName: aes_gcm_seal
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/algorithm.rs
    functionUses: 0
    functionsReached:
    - aes_gcm::seal
    linkageType: ''
    returnType: Result
    signature: 'fn aes_gcm_seal(key: &KeyInner,nonce: Nonce,aad: Aad<&[u8]>,in_out:
      &mut [u8],_cpu_features: cpu::Features,) -> Result<Tag, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aes_gcm::open
      Src: /src/spdm-rs/external/ring/src/aead/algorithm.rs:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 6
    argNames:
    - key
    - nonce
    - aad
    - in_out
    - src
    - _cpu_features
    argTypes:
    - '&KeyInner'
    - Nonce
    - Aad<&[u8]>
    - '&mut [u8]'
    - RangeFrom<usize>
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 215
      start: 202
    functionDepth: 18
    functionLinenumber: 202
    functionLinenumberEnd: 215
    functionName: aes_gcm_open
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/algorithm.rs
    functionUses: 0
    functionsReached:
    - aes_gcm::open
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn aes_gcm_open(key: &KeyInner,nonce: Nonce,aad: Aad<&[u8]>,in_out:
      &mut [u8],src: RangeFrom<usize>,_cpu_features: cpu::Features,) -> Result<Tag,
      error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::try_into
      Src: /src/spdm-rs/external/ring/src/aead/algorithm.rs:235,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/aead/algorithm.rs:236,1
    - Dst: KeyInner::ChaCha20Poly1305
      Src: /src/spdm-rs/external/ring/src/aead/algorithm.rs:236,1
    - Dst: chacha20_poly1305::Key::new
      Src: /src/spdm-rs/external/ring/src/aead/algorithm.rs:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - key
    - _cpu_features
    argTypes:
    - '&[u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 237
      start: 231
    functionDepth: 5
    functionLinenumber: 231
    functionLinenumberEnd: 237
    functionName: chacha20_poly1305_init
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/algorithm.rs
    functionUses: 0
    functionsReached:
    - chacha20_poly1305::Key::new
    - bool::try_into
    - Ok
    - KeyInner::ChaCha20Poly1305
    linkageType: ''
    returnType: Result
    signature: 'fn chacha20_poly1305_init(key: &[u8],_cpu_features: cpu::Features,)
      -> Result<KeyInner, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chacha20_poly1305::seal
      Src: /src/spdm-rs/external/ring/src/aead/algorithm.rs:250,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/aead/algorithm.rs:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - key
    - nonce
    - aad
    - in_out
    - cpu_features
    argTypes:
    - '&KeyInner'
    - Nonce
    - Aad<&[u8]>
    - '&mut [u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 252
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 252
    functionName: chacha20_poly1305_seal
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/algorithm.rs
    functionUses: 0
    functionsReached:
    - chacha20_poly1305::seal
    - Result::map_err
    linkageType: ''
    returnType: Result
    signature: 'fn chacha20_poly1305_seal(key: &KeyInner,nonce: Nonce,aad: Aad<&[u8]>,in_out:
      &mut [u8],cpu_features: cpu::Features,) -> Result<Tag, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Overlapping::new
      Src: /src/spdm-rs/external/ring/src/aead/algorithm.rs:266,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/aead/algorithm.rs:266,1
    - Dst: chacha20_poly1305::open
      Src: /src/spdm-rs/external/ring/src/aead/algorithm.rs:267,1
    - Dst: map_err
      Src: /src/spdm-rs/external/ring/src/aead/algorithm.rs:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 6
    argNames:
    - key
    - nonce
    - aad
    - in_out
    - src
    - cpu_features
    argTypes:
    - '&KeyInner'
    - Nonce
    - Aad<&[u8]>
    - '&mut [u8]'
    - RangeFrom<usize>
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 269
      start: 254
    functionDepth: 18
    functionLinenumber: 254
    functionLinenumberEnd: 269
    functionName: chacha20_poly1305_open
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/algorithm.rs
    functionUses: 0
    functionsReached:
    - map_err
    - chacha20_poly1305::open
    - Overlapping::new
    - Result::map_err
    linkageType: ''
    returnType: Result
    signature: 'fn chacha20_poly1305_open(key: &KeyInner,nonce: Nonce,aad: Aad<&[u8]>,in_out:
      &mut [u8],src: RangeFrom<usize>,cpu_features: cpu::Features,) -> Result<Tag,
      error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encrypt_block
      Src: /src/spdm-rs/external/ring/src/aead/aes/vp.rs:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - block
    argTypes:
    - Block
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: Key::encrypt_block
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/aes/vp.rs
    functionUses: 1
    functionsReached:
    - encrypt_block
    linkageType: ''
    returnType: Block
    signature: 'fn encrypt_block(&self, block: Block) -> Block'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:141,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:141,1
    - Dst: Self
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - nonce
    argTypes:
    - Nonce
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: Counter::one
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/aes.rs
    functionUses: 1
    functionsReached:
    - Self
    - as_ref
    - copy_from_slice
    linkageType: ''
    returnType: Self
    signature: 'pub fn one(nonce: Nonce) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Iv
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:149,1
    - Dst: Counter::increment_by_less_safe
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 146
    functionDepth: 5
    functionLinenumber: 146
    functionLinenumberEnd: 152
    functionName: Counter::increment
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/aes.rs
    functionUses: 0
    functionsReached:
    - Iv
    - Counter::increment_by_less_safe
    linkageType: ''
    returnType: Iv
    signature: pub fn increment(&mut self) -> Iv
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32::from_be_bytes
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:156,1
    - Dst: Result::wrapping_add
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:157,1
    - Dst: NonZeroU32::get
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:157,1
    - Dst: u32::to_be_bytes
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 1
    argNames:
    - increment_by
    argTypes:
    - NonZeroU32
    constantsTouched: []
    func_position:
      end: 159
      start: 154
    functionDepth: 4
    functionLinenumber: 154
    functionLinenumberEnd: 159
    functionName: Counter::increment_by_less_safe
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/aes.rs
    functionUses: 1
    functionsReached:
    - u32::from_be_bytes
    - u32::to_be_bytes
    - Result::wrapping_add
    - NonZeroU32::get
    linkageType: ''
    returnType: void
    signature: 'pub(super) fn increment_by_less_safe(&mut self, increment_by: NonZeroU32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - counter
    argTypes:
    - Counter
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: Iv::from
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/aes.rs
    functionUses: 0
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: 'fn from(counter: Counter) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::encrypt_iv_xor_block
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:188,1
    - Dst: Iv
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - block
    argTypes:
    - '&impl EncryptBlock'
    - Block
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: encrypt_block_using_encrypt_iv_xor_block
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/aes.rs
    functionUses: 0
    functionsReached:
    - bool::encrypt_iv_xor_block
    - Iv
    linkageType: ''
    returnType: Block
    signature: 'fn encrypt_block_using_encrypt_iv_xor_block(key: &impl EncryptBlock,
      block: Block) -> Block'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::encrypt_block
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:196,1
    - Dst: bb::xor_16
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - key
    - iv
    - block
    argTypes:
    - '&impl EncryptBlock'
    - Iv
    - Block
    constantsTouched: []
    func_position:
      end: 198
      start: 191
    functionDepth: 3
    functionLinenumber: 191
    functionLinenumberEnd: 198
    functionName: encrypt_iv_xor_block_using_encrypt_block
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/aes.rs
    functionUses: 1
    functionsReached:
    - bb::xor_16
    - bool::encrypt_block
    linkageType: ''
    returnType: Block
    signature: 'fn encrypt_iv_xor_block_using_encrypt_block(key: &impl EncryptBlock,iv:
      Iv,block: Block,) -> Block'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi::Counter
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:202,1
    - Dst: bool::ctr32_encrypt_within
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:203,1
    - Dst: SpdmSupportedAlgorithmsBlock::as_mut
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:203,1
    - Dst: '&mut [u8]::into'
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - key
    - iv
    - block
    argTypes:
    - '&impl EncryptCtr32'
    - Iv
    - Block
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 7
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: encrypt_iv_xor_block_using_ctr32
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/aes.rs
    functionUses: 0
    functionsReached:
    - bool::ctr32_encrypt_within
    - '&mut [u8]::into'
    - ffi::Counter
    - SpdmSupportedAlgorithmsBlock::as_mut
    linkageType: ''
    returnType: Block
    signature: 'fn encrypt_iv_xor_block_using_ctr32(key: &impl EncryptCtr32, iv: Iv,
      mut block: Block) -> Block'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:214,1
    - Dst: test_vector_file
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:214,1
    - Dst: consume_key
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:216,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:217,1
    - Dst: as_slice
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:218,1
    - Dst: '&[P::T]::try_into'
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:218,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:219,1
    - Dst: bool::encrypt_block
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:221,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 213
    functionDepth: 11
    functionLinenumber: 213
    functionLinenumberEnd: 226
    functionName: tests::test_aes
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/aes.rs
    functionUses: 0
    functionsReached:
    - '&[P::T]::try_into'
    - bool::encrypt_block
    - consume_key
    - test_vector_file
    - Option::consume_bytes
    - test::run
    - as_slice
    - Ok
    linkageType: ''
    returnType: void
    signature: pub fn test_aes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:229,1
    - Dst: bool::len
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:231,1
    - Dst: KeyBytes::AES_128
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:232,1
    - Dst: bool::try_into
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:232,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:232,1
    - Dst: KeyBytes::AES_256
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:233,1
    - Dst: bool::try_into
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:233,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:233,1
    - Dst: Key::new
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:236,1
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:236,1
    - Dst: Self::unwrap
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 2
    argNames:
    - test_case
    - name
    argTypes:
    - '&mut test::TestCase'
    - '&str'
    constantsTouched: []
    func_position:
      end: 237
      start: 228
    functionDepth: 13
    functionLinenumber: 228
    functionLinenumberEnd: 237
    functionName: tests::consume_key
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/aes.rs
    functionUses: 0
    functionsReached:
    - bool::try_into
    - KeyBytes::AES_256
    - KeyBytes::AES_128
    - cpu::features
    - Result::unwrap
    - Key::new
    - Option::consume_bytes
    - bool::len
    - Self::unwrap
    linkageType: ''
    returnType: Key
    signature: 'fn consume_key(test_case: &mut test::TestCase, name: &str) -> Key'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_aes_gcm_counter_blocks
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 10
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: aes_gcm_tests::test_aes_gcm_counter_blocks_max
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/aes.rs
    functionUses: 0
    functionsReached:
    - test_aes_gcm_counter_blocks
    linkageType: ''
    returnType: void
    signature: fn test_aes_gcm_counter_blocks_max()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_aes_gcm_counter_blocks
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 253
    functionDepth: 10
    functionLinenumber: 253
    functionLinenumberEnd: 255
    functionName: aes_gcm_tests::test_aes_gcm_counter_blocks_max_minus_one
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/aes.rs
    functionUses: 0
    functionsReached:
    - test_aes_gcm_counter_blocks
    linkageType: ''
    returnType: void
    signature: fn test_aes_gcm_counter_blocks_max_minus_one()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_into
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:259,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ctr
    argTypes:
    - '&Counter'
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 4
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: a::e::s::_::g::c::m::_::t::e::s::t::s::::::::t::e::s::t::_::a::e::s::_::g::c::m::_::c::o::u::n::t::e::r::_::b::l::o::c::k::s::ctr32
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/aes.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - try_into
    linkageType: ''
    returnType: '&[u8; 4]'
    signature: 'fn ctr32(ctr: &Counter) -> &[u8; 4]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32::try_from
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:264,1
    - Dst: Result::ok
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:264,1
    - Dst: and_then
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:264,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:264,1
    - Dst: Nonce::assume_unique_for_key
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:269,1
    - Dst: Counter::one
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:270,1
    - Dst: Result::increment
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:272,1
    - Dst: Result::increment_by_less_safe
      Src: /src/spdm-rs/external/ring/src/aead/aes.rs:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 2
    argNames:
    - in_out_len
    - expected_final_counter
    argTypes:
    - usize
    - '&[u8; 4]'
    constantsTouched: []
    func_position:
      end: 283
      start: 257
    functionDepth: 9
    functionLinenumber: 257
    functionLinenumberEnd: 283
    functionName: aes_gcm_tests::test_aes_gcm_counter_blocks
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/aes.rs
    functionUses: 0
    functionsReached:
    - u32::try_from
    - Nonce::assume_unique_for_key
    - Result::increment_by_less_safe
    - Result::ok
    - unwrap
    - Result::increment
    - and_then
    - Counter::one
    linkageType: ''
    returnType: void
    signature: 'fn test_aes_gcm_counter_blocks(in_out_len: usize, expected_final_counter:
      &[u8; 4])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/aead/less_safe_key.rs:41,1
    - Dst: new_key
      Src: /src/spdm-rs/external/ring/src/aead/less_safe_key.rs:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - algorithm
    - key_bytes
    - cpu_features
    argTypes:
    - '&''static Algorithm'
    - '&[u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 45
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 45
    functionName: LessSafeKey::new_
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/less_safe_key.rs
    functionUses: 2
    functionsReached:
    - new_key
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn new_(algorithm: &''static Algorithm,key_bytes: &[u8],cpu_features:
      cpu::Features,) -> Result<Self, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::debug_struct
      Src: /src/spdm-rs/external/ring/src/aead/less_safe_key.rs:171,1
    - Dst: field
      Src: /src/spdm-rs/external/ring/src/aead/less_safe_key.rs:171,1
    - Dst: LessSafeKey::algorithm
      Src: /src/spdm-rs/external/ring/src/aead/less_safe_key.rs:172,1
    - Dst: finish
      Src: /src/spdm-rs/external/ring/src/aead/less_safe_key.rs:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - type_name
    - f
    argTypes:
    - '&''static str'
    - '&mut core::fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 174
      start: 166
    functionDepth: 11
    functionLinenumber: 166
    functionLinenumberEnd: 174
    functionName: LessSafeKey::fmt_debug
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/less_safe_key.rs
    functionUses: 1
    functionsReached:
    - SpdmCertChainBuffer::debug_struct
    - finish
    - field
    - LessSafeKey::algorithm
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn fmt_debug(&self,type_name: &''static str,f: &mut core::fmt::Formatter,)
      -> Result<(), core::fmt::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BitLength::from_bits
      Src: /src/spdm-rs/external/ring/src/aead/gcm.rs:100,1
    - Dst: usize_from_u64
      Src: /src/spdm-rs/external/ring/src/aead/gcm.rs:100,1
    - Dst: as_bits
      Src: /src/spdm-rs/external/ring/src/aead/gcm.rs:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: Context::in_out_whole_block_bits
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/gcm.rs
    functionUses: 0
    functionsReached:
    - usize_from_u64
    - BitLength::from_bits
    - as_bits
    linkageType: ''
    returnType: BitLength
    signature: pub(super) fn in_out_whole_block_bits(&self) -> BitLength<usize>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: inner
      Src: /src/spdm-rs/external/ring/src/aead/gcm.rs:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 12
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: Context::inner
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/gcm.rs
    functionUses: 0
    functionsReached:
    - inner
    linkageType: ''
    returnType: (&HTable, &mut Xi)
    signature: pub(super) fn inner(&mut self) -> (&HTable, &mut Xi)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update_blocks
      Src: /src/spdm-rs/external/ring/src/aead/gcm.rs:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - input
    argTypes:
    - AsChunks<u8, BLOCK_LEN>
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: Context::update_blocks
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/gcm.rs
    functionUses: 0
    functionsReached:
    - update_blocks
    linkageType: ''
    returnType: void
    signature: 'pub fn update_blocks(&mut self, input: AsChunks<u8, BLOCK_LEN>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmSupportedAlgorithmsBlock::split_at_mut
      Src: /src/spdm-rs/external/ring/src/aead/gcm.rs:149,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/ring/src/aead/gcm.rs:150,1
    - Dst: BitLength::<u64>::to_be_bytes
      Src: /src/spdm-rs/external/ring/src/aead/gcm.rs:150,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/ring/src/aead/gcm.rs:151,1
    - Dst: BitLength::<u64>::to_be_bytes
      Src: /src/spdm-rs/external/ring/src/aead/gcm.rs:151,1
    - Dst: Context::update_block
      Src: /src/spdm-rs/external/ring/src/aead/gcm.rs:152,1
    - Dst: f
      Src: /src/spdm-rs/external/ring/src/aead/gcm.rs:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 1
    argNames:
    - f
    argTypes:
    - F
    constantsTouched: []
    func_position:
      end: 154
      start: 144
    functionDepth: 11
    functionLinenumber: 144
    functionLinenumberEnd: 154
    functionName: Context::pre_finish
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/gcm.rs
    functionUses: 0
    functionsReached:
    - SpdmSupportedAlgorithmsBlock::split_at_mut
    - BitLength::<u64>::to_be_bytes
    - Context::update_block
    - copy_from_slice
    - f
    linkageType: ''
    returnType: super::Tag
    signature: 'pub(super) fn pre_finish<F>(mut self, f: F) -> super::TagwhereF: FnOnce(Block)
      -> super::Tag,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::overlapping::Overlapping<'_, u8>::into_slice_src_mut
      Src: /src/spdm-rs/external/ring/src/aead/shift.rs:20,1
    - Dst: clone
      Src: /src/spdm-rs/external/ring/src/aead/shift.rs:21,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/aead/shift.rs:21,1
    - Dst: step_by
      Src: /src/spdm-rs/external/ring/src/aead/shift.rs:23,1
    - Dst: <&[u8; BLOCK_LEN]>::try_from
      Src: /src/spdm-rs/external/ring/src/aead/shift.rs:26,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/src/aead/shift.rs:26,1
    - Dst: <&mut [u8; BLOCK_LEN]>::try_from
      Src: /src/spdm-rs/external/ring/src/aead/shift.rs:29,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/src/aead/shift.rs:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 2
    argNames:
    - in_out
    - transform
    argTypes:
    - super::overlapping::Overlapping<'_, u8>
    - impl FnMut(&[u8; BLOCK_LEN]) -> [u8; BLOCK_LEN]
    constantsTouched: []
    func_position:
      end: 32
      start: 16
    functionDepth: 5
    functionLinenumber: 16
    functionLinenumberEnd: 32
    functionName: shift_full_blocks
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/shift.rs
    functionUses: 1
    functionsReached:
    - step_by
    - clone
    - <&mut [u8; BLOCK_LEN]>::try_from
    - Result::unwrap
    - super::overlapping::Overlapping<'_, u8>::into_slice_src_mut
    - <&[u8; BLOCK_LEN]>::try_from
    - len
    linkageType: ''
    returnType: void
    signature: 'pub fn shift_full_blocks<const BLOCK_LEN: usize>(in_out: super::overlapping::Overlapping<''_,
      u8>,mut transform: impl FnMut(&[u8; BLOCK_LEN]) -> [u8; BLOCK_LEN],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::Features::values
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:81,1
    - Dst: cpu::Features::get_feature
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:84,1
    - Dst: aes::hw::Key::new
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:86,1
    - Dst: cpu::Features::get_feature
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:86,1
    - Dst: derive_gcm_key_value
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:87,1
    - Dst: cpu::Features::get_feature
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:88,1
    - Dst: gcm::vclmulavx2::Key::new
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:89,1
    - Dst: Self::VAesClMulAvx2
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:90,1
    - Dst: cpu::Features::get_feature
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:91,1
    - Dst: gcm::clmulavxmovbe::Key::new
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:92,1
    - Dst: Self::AesHwClMulAvxMovbe
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:93,1
    - Dst: gcm::clmul::Key::new
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:95,1
    - Dst: Self::AesHwClMul
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:96,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:98,1
    - Dst: cpu::Features::get_feature
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:106,1
    - Dst: cpu::Features::get_feature
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:106,1
    - Dst: aes::hw::Key::new
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:107,1
    - Dst: cpu::Features::get_feature
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:107,1
    - Dst: derive_gcm_key_value
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:108,1
    - Dst: gcm::clmul::Key::new
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:109,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:110,1
    - Dst: Self::AesHwClMul
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:110,1
    - Dst: cpu::Features::get_feature
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:117,1
    - Dst: Self::new_neon
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:118,1
    - Dst: cpu::Features::get_feature
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:122,1
    - Dst: Self::new_ssse3
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:123,1
    - Dst: Self::new_fallback
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:127,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 64
    argCount: 2
    argNames:
    - key
    - cpu
    argTypes:
    - aes::KeyBytes
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 128
      start: 80
    functionDepth: 11
    functionLinenumber: 80
    functionLinenumberEnd: 128
    functionName: DynKey::new
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs
    functionUses: 0
    functionsReached:
    - gcm::vclmulavx2::Key::new
    - Self::AesHwClMul
    - derive_gcm_key_value
    - aes::hw::Key::new
    - gcm::clmul::Key::new
    - gcm::clmulavxmovbe::Key::new
    - cpu::Features::values
    - Self::AesHwClMulAvxMovbe
    - Self::new_ssse3
    - Self::new_fallback
    - Self::new_neon
    - Ok
    - cpu::Features::get_feature
    - Self::VAesClMulAvx2
    linkageType: ''
    returnType: Result
    signature: 'fn new(key: aes::KeyBytes, cpu: cpu::Features) -> Result<Self, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aes::vp::Key::new
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:136,1
    - Dst: derive_gcm_key_value
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:137,1
    - Dst: gcm::neon::Key::new
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:138,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:139,1
    - Dst: Self::Simd
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - key
    - cpu
    argTypes:
    - aes::KeyBytes
    - cpu::arm::Neon
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 4
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: DynKey::new_neon
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs
    functionUses: 0
    functionsReached:
    - Self::Simd
    - derive_gcm_key_value
    - aes::vp::Key::new
    - gcm::neon::Key::new
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn new_neon(key: aes::KeyBytes, cpu: cpu::arm::Neon) -> Result<Self,
      error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aes::vp::Key::new
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:148,1
    - Dst: derive_gcm_key_value
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:149,1
    - Dst: gcm::fallback::Key::new
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:150,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:151,1
    - Dst: Self::Simd
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - key
    - cpu
    argTypes:
    - aes::KeyBytes
    - aes::vp::RequiredCpuFeatures
    constantsTouched: []
    func_position:
      end: 152
      start: 144
    functionDepth: 4
    functionLinenumber: 144
    functionLinenumberEnd: 152
    functionName: DynKey::new_ssse3
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs
    functionUses: 0
    functionsReached:
    - Self::Simd
    - gcm::fallback::Key::new
    - derive_gcm_key_value
    - aes::vp::Key::new
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn new_ssse3(key: aes::KeyBytes,cpu: aes::vp::RequiredCpuFeatures,)
      -> Result<Self, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aes::fallback::Key::new
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:164,1
    - Dst: derive_gcm_key_value
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:165,1
    - Dst: gcm::fallback::Key::new
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:166,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:167,1
    - Dst: Self::Fallback
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - key
    argTypes:
    - aes::KeyBytes
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 4
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: DynKey::new_fallback
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs
    functionUses: 0
    functionsReached:
    - gcm::fallback::Key::new
    - derive_gcm_key_value
    - aes::fallback::Key::new
    - Self::Fallback
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn new_fallback(key: aes::KeyBytes) -> Result<Self, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcm::KeyValue::new
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:172,1
    - Dst: encrypt_block
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - aes_key
    argTypes:
    - '&impl aes::EncryptBlock'
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: derive_gcm_key_value
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs
    functionUses: 4
    functionsReached:
    - gcm::KeyValue::new
    - encrypt_block
    linkageType: ''
    returnType: gcm::KeyValue
    signature: 'fn derive_gcm_key_value(aes_key: &impl aes::EncryptBlock) -> gcm::KeyValue'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcm::Context::new
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:51,1
    - Dst: '&mut [u8]::len'
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:51,1
    - Dst: bool::inner
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:52,1
    - Dst: aesni_gcm_encrypt
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:55,1
    - Dst: '&mut [u8]::as_ptr'
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:56,1
    - Dst: '&mut [u8]::as_mut_ptr'
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:57,1
    - Dst: '&mut [u8]::len'
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:58,1
    - Dst: inner_less_safe
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:59,1
    - Dst: '&mut [u8]::get_mut'
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:66,1
    - Dst: slice::as_chunks_mut
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:74,1
    - Dst: ctr32_encrypt_within
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:75,1
    - Dst: as_flattened_mut
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:75,1
    - Dst: '&mut [T]::into'
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:75,1
    - Dst: bool::update_blocks
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:76,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:76,1
    - Dst: OverlappingPartialBlock::new
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:77,1
    - Dst: '&[u8]::into'
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:77,1
    - Dst: Self::unwrap_or_else
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:77,1
    - Dst: super::seal_finish
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 41
    argCount: 6
    argNames:
    - aes_key
    - gcm_key
    - ctr
    - tag_iv
    - aad
    - in_out
    argTypes:
    - '&aes::hw::Key'
    - '&gcm::clmulavxmovbe::Key'
    - Counter
    - aes::Iv
    - Aad<&[u8]>
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 81
      start: 30
    functionDepth: 10
    functionLinenumber: 30
    functionLinenumberEnd: 81
    functionName: seal
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs
    functionUses: 5
    functionsReached:
    - bool::update_blocks
    - super::seal_finish
    - '&mut [u8]::as_mut_ptr'
    - '&mut [T]::into'
    - '&mut [u8]::as_ptr'
    - inner_less_safe
    - OverlappingPartialBlock::new
    - as_flattened_mut
    - slice::as_chunks_mut
    - '&mut [u8]::len'
    - Self::unwrap_or_else
    - '&[u8]::into'
    - gcm::Context::new
    - '&mut [u8]::get_mut'
    - bool::inner
    - ctr32_encrypt_within
    - as_ref
    - aesni_gcm_encrypt
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn seal(aes_key: &aes::hw::Key,gcm_key: &gcm::clmulavxmovbe::Key,mut
      ctr: Counter,tag_iv: aes::Iv,aad: Aad<&[u8]>,in_out: &mut [u8],) -> Result<Tag,
      error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcm::Context::new
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:235,1
    - Dst: Aad<&[u8]>::len
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:235,1
    - Dst: slice::as_chunks_mut
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:236,1
    - Dst: seal_whole
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:237,1
    - Dst: OverlappingPartialBlock::new
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:238,1
    - Dst: '&[u8]::into'
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:238,1
    - Dst: Self::unwrap_or_else
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:238,1
    - Dst: seal_finish
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 6
    argNames:
    - aad
    - in_out
    - ctr
    - tag_iv
    - seal_whole
    argTypes:
    - '&Combo<A, G>'
    - Aad<&[u8]>
    - '&mut [u8]'
    - Counter
    - aes::Iv
    - impl FnOnce(&A, &mut gcm::Context<G>, &mut Counter, slice::AsChunksMut<u8, BLOCK_LEN>)
    constantsTouched: []
    func_position:
      end: 241
      start: 227
    functionDepth: 11
    functionLinenumber: 227
    functionLinenumberEnd: 241
    functionName: seal_whole_partial
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs
    functionUses: 0
    functionsReached:
    - seal_finish
    - OverlappingPartialBlock::new
    - slice::as_chunks_mut
    - seal_whole
    - '&[u8]::into'
    - Self::unwrap_or_else
    - gcm::Context::new
    - Aad<&[u8]>::len
    linkageType: ''
    returnType: Result
    signature: 'fn seal_whole_partial<A: aes::EncryptBlock, G: gcm::UpdateBlock>(Combo'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcm::Context::new
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:269,1
    - Dst: Aad<&[u8]>::len
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:269,1
    - Dst: slice::as_chunks_mut
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:271,1
    - Dst: chunks_mut::<CHUNK_BLOCKS>
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:273,1
    - Dst: ctr32_encrypt_within
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:274,1
    - Dst: as_flattened_mut
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:274,1
    - Dst: '&mut [T]::into'
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:274,1
    - Dst: bool::update_blocks
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:275,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:275,1
    - Dst: OverlappingPartialBlock::new
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:278,1
    - Dst: '&[u8]::into'
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:278,1
    - Dst: Self::unwrap_or_else
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:278,1
    - Dst: seal_finish
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 5
    argNames:
    - aad
    - in_out
    - ctr
    - tag_iv
    argTypes:
    - '&Combo<A, G>'
    - Aad<&[u8]>
    - '&mut [u8]'
    - Counter
    - aes::Iv
    constantsTouched: []
    func_position:
      end: 281
      start: 259
    functionDepth: 12
    functionLinenumber: 259
    functionLinenumberEnd: 281
    functionName: seal_strided
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs
    functionUses: 0
    functionsReached:
    - chunks_mut::<CHUNK_BLOCKS>
    - bool::update_blocks
    - ctr32_encrypt_within
    - '&mut [T]::into'
    - seal_finish
    - OverlappingPartialBlock::new
    - as_flattened_mut
    - slice::as_chunks_mut
    - Self::unwrap_or_else
    - '&[u8]::into'
    - gcm::Context::new
    - Aad<&[u8]>::len
    - as_ref
    linkageType: ''
    returnType: Result
    signature: 'fn seal_strided<A: aes::EncryptBlock + aes::EncryptCtr32,G: gcm::UpdateBlock
      + gcm::UpdateBlocks,>(Combo'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:290,1
    - Dst: '{

        cpu,

        error::sliceutil::overwrite_at_start'
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:293,1
    - Dst: '&[u8]::input'
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:293,1
    - Dst: encrypt_iv_xor_block
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:294,1
    - Dst: Result::into
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:294,1
    - Dst: fill
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:295,1
    - Dst: bool::update_block
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:296,1
    - Dst: '&[u8]::overwrite_at_start'
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:297,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:300,1
    - Dst: finish
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 5
    argNames:
    - aes_key
    - auth
    - remainder
    - ctr
    - tag_iv
    argTypes:
    - '&A'
    - gcm::Context<G>
    - OverlappingPartialBlock<'_>
    - Counter
    - aes::Iv
    constantsTouched: []
    func_position:
      end: 301
      start: 283
    functionDepth: 11
    functionLinenumber: 283
    functionLinenumberEnd: 301
    functionName: seal_finish
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs
    functionUses: 3
    functionsReached:
    - bool::update_block
    - encrypt_iv_xor_block
    - finish
    - '&[u8]::len'
    - '&[u8]::overwrite_at_start'
    - '&[u8]::input'
    - Result::into
    - '{

      cpu,

      error::sliceutil::overwrite_at_start'
    - Ok
    - fill
    linkageType: ''
    returnType: Result
    signature: 'fn seal_finish<A: aes::EncryptBlock, G: gcm::UpdateBlock>(aes_key:
      &A,mut auth: gcm::Context<G>,remainder: OverlappingPartialBlock<''_>,ctr: Counter,tag_iv:
      aes::Iv,) -> Result<Tag, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Overlapping::new
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:106,1
    - Dst: RangeFrom<usize>::clone
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:106,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:106,1
    - Dst: gcm::Context::new
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:107,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:107,1
    - Dst: with_input_output_len
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:108,1
    - Dst: bool::inner
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:109,1
    - Dst: aesni_gcm_decrypt
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:111,1
    - Dst: inner_less_safe
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:115,1
    - Dst: '&mut [u8]::get_mut'
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:122,1
    - Dst: unwrap_or_else
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:122,1
    - Dst: Overlapping::new
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:129,1
    - Dst: RangeFrom<usize>::clone
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:129,1
    - Dst: Result::unwrap_or_else
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:129,1
    - Dst: slice::as_chunks
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:134,1
    - Dst: input
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:134,1
    - Dst: bool::update_blocks
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:135,1
    - Dst: as_flattened
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:137,1
    - Dst: '&[T]::len'
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:137,1
    - Dst: Overlapping::new
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:140,1
    - Dst: RangeFrom<usize>::clone
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:140,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:140,1
    - Dst: ctr32_encrypt_within
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:142,1
    - Dst: '&mut [u8]::get_mut'
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:144,1
    - Dst: Overlapping::new
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:149,1
    - Dst: Result::unwrap_or_else
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:149,1
    - Dst: OverlappingPartialBlock::new
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:150,1
    - Dst: Self::unwrap_or_else
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:150,1
    - Dst: super::open_finish
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:153,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 71
    argCount: 7
    argNames:
    - aes_key
    - gcm_key
    - ctr
    - tag_iv
    - aad
    - in_out_slice
    - src
    argTypes:
    - '&aes::hw::Key'
    - '&gcm::clmulavxmovbe::Key'
    - Counter
    - aes::Iv
    - Aad<&[u8]>
    - '&mut [u8]'
    - RangeFrom<usize>
    constantsTouched: []
    func_position:
      end: 154
      start: 84
    functionDepth: 16
    functionLinenumber: 84
    functionLinenumberEnd: 154
    functionName: open
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs
    functionUses: 8
    functionsReached:
    - aesni_gcm_decrypt
    - slice::as_chunks
    - input
    - '&mut [u8]::get_mut'
    - as_flattened
    - unwrap_or_else
    - Self::unwrap_or_else
    - RangeFrom<usize>::clone
    - ctr32_encrypt_within
    - Result::unwrap_or_else
    - Overlapping::new
    - '&[T]::len'
    - len
    - with_input_output_len
    - bool::update_blocks
    - inner_less_safe
    - OverlappingPartialBlock::new
    - Result::map_err
    - gcm::Context::new
    - bool::inner
    - super::open_finish
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn open(aes_key: &aes::hw::Key,gcm_key: &gcm::clmulavxmovbe::Key,mut
      ctr: Counter,tag_iv: aes::Iv,aad: Aad<&[u8]>,in_out_slice: &mut [u8],src: RangeFrom<usize>,)
      -> Result<Tag, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Overlapping::new
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:364,1
    - Dst: '&mut [u8]::clone'
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:364,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:364,1
    - Dst: gcm::Context::new
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:365,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:365,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:367,1
    - Dst: Aad<&[u8]>::len
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:369,1
    - Dst: Overlapping::new
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:371,1
    - Dst: '&mut [u8]::clone'
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:371,1
    - Dst: Result::unwrap_or_else
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:371,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:373,1
    - Dst: open_whole
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:374,1
    - Dst: Overlapping::new
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:378,1
    - Dst: Result::unwrap_or_else
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:378,1
    - Dst: OverlappingPartialBlock::new
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:379,1
    - Dst: Self::unwrap_or_else
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:379,1
    - Dst: open_finish
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:381,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 44
    argCount: 7
    argNames:
    - aad
    - in_out_slice
    - src
    - ctr
    - tag_iv
    - open_whole
    argTypes:
    - '&Combo<A, G>'
    - Aad<&[u8]>
    - '&mut [u8]'
    - RangeFrom<usize>
    - Counter
    - aes::Iv
    - impl FnOnce(&A, &mut gcm::Context<G>, Overlapping, &mut Counter)
    constantsTouched: []
    func_position:
      end: 382
      start: 355
    functionDepth: 17
    functionLinenumber: 355
    functionLinenumberEnd: 382
    functionName: open_whole_partial
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs
    functionUses: 0
    functionsReached:
    - OverlappingPartialBlock::new
    - Result::unwrap_or_else
    - open_whole
    - Self::unwrap_or_else
    - Result::map_err
    - gcm::Context::new
    - len
    - open_finish
    - Aad<&[u8]>::len
    - '&mut [u8]::clone'
    - Overlapping::new
    linkageType: ''
    returnType: Result
    signature: 'fn open_whole_partial<A: aes::EncryptBlock, G: gcm::UpdateBlock>(Combo'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Overlapping::new
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:418,1
    - Dst: '&mut [u8]::clone'
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:418,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:418,1
    - Dst: input
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:419,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:420,1
    - Dst: gcm::Context::new
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:422,1
    - Dst: slice::as_chunks
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:438,1
    - Dst: is_empty
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:440,1
    - Dst: bool::update_blocks
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:443,1
    - Dst: Overlapping::new
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:445,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:445,1
    - Dst: ctr32_encrypt_within
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:450,1
    - Dst: Overlapping::new
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:456,1
    - Dst: Result::unwrap_or_else
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:456,1
    - Dst: OverlappingPartialBlock::new
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:458,1
    - Dst: Self::unwrap_or_else
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:458,1
    - Dst: open_finish
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:461,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 72
    argCount: 6
    argNames:
    - aad
    - in_out_slice
    - src
    - ctr
    - tag_iv
    argTypes:
    - '&Combo<A, G>'
    - Aad<&[u8]>
    - '&mut [u8]'
    - RangeFrom<usize>
    - Counter
    - aes::Iv
    constantsTouched: []
    func_position:
      end: 462
      start: 407
    functionDepth: 12
    functionLinenumber: 407
    functionLinenumberEnd: 462
    functionName: open_strided
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs
    functionUses: 0
    functionsReached:
    - bool::update_blocks
    - slice::as_chunks
    - is_empty
    - OverlappingPartialBlock::new
    - Result::unwrap_or_else
    - Self::unwrap_or_else
    - Result::map_err
    - input
    - gcm::Context::new
    - len
    - open_finish
    - ctr32_encrypt_within
    - '&mut [u8]::clone'
    - Overlapping::new
    linkageType: ''
    returnType: Result
    signature: 'fn open_strided<A: aes::EncryptBlock + aes::EncryptCtr32,G: gcm::UpdateBlock
      + gcm::UpdateBlocks,>(Combo'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:471,1
    - Dst: '{

        cpu,

        error::sliceutil::overwrite_at_start'
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:473,1
    - Dst: '&[u8]::input'
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:473,1
    - Dst: bool::update_block
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:474,1
    - Dst: '&[u8]::overwrite_at_start'
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:475,1
    - Dst: encrypt_iv_xor_block
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:475,1
    - Dst: Result::into
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:475,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:477,1
    - Dst: finish
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs:477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 5
    argNames:
    - aes_key
    - auth
    - remainder
    - ctr
    - tag_iv
    argTypes:
    - '&A'
    - gcm::Context<G>
    - OverlappingPartialBlock<'_>
    - Counter
    - aes::Iv
    constantsTouched: []
    func_position:
      end: 478
      start: 464
    functionDepth: 11
    functionLinenumber: 464
    functionLinenumberEnd: 478
    functionName: open_finish
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs
    functionUses: 3
    functionsReached:
    - bool::update_block
    - encrypt_iv_xor_block
    - finish
    - '&[u8]::len'
    - '&[u8]::overwrite_at_start'
    - '&[u8]::input'
    - Result::into
    - '{

      cpu,

      error::sliceutil::overwrite_at_start'
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn open_finish<A: aes::EncryptBlock, G: gcm::UpdateBlock>(aes_key:
      &A,mut auth: gcm::Context<G>,remainder: OverlappingPartialBlock<''_>,ctr: Counter,tag_iv:
      aes::Iv,) -> Result<Tag, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmSupportedAlgorithmsBlock::split_at_mut
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs:152,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs:153,1
    - Dst: u64::to_le_bytes
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs:153,1
    - Dst: '{

        cpu,

        error::InputTooLongError,

        polyfill::u64_from_usize'
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs:153,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs:154,1
    - Dst: u64::to_le_bytes
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs:154,1
    - Dst: '{

        cpu,

        error::InputTooLongError,

        polyfill::u64_from_usize'
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs:154,1
    - Dst: bool::finish
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 3
    argNames:
    - auth
    - aad_len
    - in_out_len
    argTypes:
    - poly1305::Context
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 156
      start: 150
    functionDepth: 12
    functionLinenumber: 150
    functionLinenumberEnd: 156
    functionName: finish
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs
    functionUses: 92
    functionsReached:
    - u64::to_le_bytes
    - SpdmSupportedAlgorithmsBlock::split_at_mut
    - '{

      cpu,

      error::InputTooLongError,

      polyfill::u64_from_usize'
    - bool::finish
    - copy_from_slice
    linkageType: ''
    returnType: Tag
    signature: 'fn finish(auth: poly1305::Context, aad_len: usize, in_out_len: usize)
      -> Tag'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data_len
      Src: /src/spdm-rs/external/ring/src/aead/poly1305/ffi_arm_neon.rs:65,1
    - Dst: Default::default
      Src: /src/spdm-rs/external/ring/src/aead/poly1305/ffi_arm_neon.rs:66,1
    - Dst: CRYPTO_poly1305_init_neon
      Src: /src/spdm-rs/external/ring/src/aead/poly1305/ffi_arm_neon.rs:72,1
    - Dst: super::Context::ArmNeon
      Src: /src/spdm-rs/external/ring/src/aead/poly1305/ffi_arm_neon.rs:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 2
    argNames:
    - neon
    argTypes:
    - Key
    - Neon
    constantsTouched: []
    func_position:
      end: 74
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 74
    functionName: State::new_context
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/poly1305/ffi_arm_neon.rs
    functionUses: 1
    functionsReached:
    - super::Context::ArmNeon
    - CRYPTO_poly1305_init_neon
    - Default::default
    - data_len
    linkageType: ''
    returnType: super::Context
    signature: pub(super) fn new_context(Key
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NonZeroUsize::new
      Src: /src/spdm-rs/external/ring/src/aead/poly1305/ffi_arm_neon.rs:83,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/aead/poly1305/ffi_arm_neon.rs:83,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/ring/src/aead/poly1305/ffi_arm_neon.rs:85,1
    - Dst: CRYPTO_poly1305_update_neon
      Src: /src/spdm-rs/external/ring/src/aead/poly1305/ffi_arm_neon.rs:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - input
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 88
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 88
    functionName: State::update_internal
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/poly1305/ffi_arm_neon.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    - CRYPTO_poly1305_update_neon
    - len
    - NonZeroUsize::new
    linkageType: ''
    returnType: void
    signature: 'pub(super) fn update_internal(&mut self, input: &[u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::Tag
      Src: /src/spdm-rs/external/ring/src/aead/poly1305/ffi_arm_neon.rs:94,1
    - Dst: CRYPTO_poly1305_finish_neon
      Src: /src/spdm-rs/external/ring/src/aead/poly1305/ffi_arm_neon.rs:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: State::finish
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/poly1305/ffi_arm_neon.rs
    functionUses: 0
    functionsReached:
    - CRYPTO_poly1305_finish_neon
    - super::Tag
    linkageType: ''
    returnType: Tag
    signature: pub(super) fn finish(mut self) -> Tag
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: data_len
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/poly1305/ffi_arm_neon.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: const fn data_len() -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs:76,1
    - Dst: poly1305::Context::from_key
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs:77,1
    - Dst: poly1305_update_padded_16
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs:79,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs:79,1
    - Dst: encrypt
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs:80,1
    - Dst: Aad<&[u8]>::into
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs:80,1
    - Dst: poly1305_update_padded_16
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs:81,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs:82,1
    - Dst: finish
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs:82,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs:82,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs:82,1
    - Dst: Aad<&[u8]>::len
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 5
    argNames:
    - nonce
    - aad
    - in_out
    - cpu
    argTypes:
    - '&Key'
    - Nonce
    - Aad<&[u8]>
    - '&mut [u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 83
      start: 69
    functionDepth: 12
    functionLinenumber: 69
    functionLinenumberEnd: 83
    functionName: seal_fallback
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs
    functionUses: 0
    functionsReached:
    - finish
    - '&[u8]::len'
    - poly1305_update_padded_16
    - Aad<&[u8]>::into
    - Aad<&[u8]>::len
    - encrypt
    - begin
    - as_ref
    - Ok
    - poly1305::Context::from_key
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn seal_fallback(Key(chacha20_key): &Key,nonce: Nonce,aad:
      Aad<&[u8]>,in_out: &mut [u8],cpu: cpu::Features,) -> Result<Tag, InputTooLongError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs:110,1
    - Dst: Aad<&[u8]>::input
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs:110,1
    - Dst: poly1305::Context::from_key
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs:111,1
    - Dst: poly1305_update_padded_16
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs:113,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs:113,1
    - Dst: poly1305_update_padded_16
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs:114,1
    - Dst: Aad<&[u8]>::input
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs:114,1
    - Dst: Aad<&[u8]>::len
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs:115,1
    - Dst: encrypt
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs:116,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs:117,1
    - Dst: finish
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs:117,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs:117,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 5
    argNames:
    - nonce
    - aad
    - in_out
    - cpu
    argTypes:
    - '&Key'
    - Nonce
    - Aad<&[u8]>
    - Overlapping<'_>
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 118
      start: 103
    functionDepth: 12
    functionLinenumber: 103
    functionLinenumberEnd: 118
    functionName: open_fallback
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs
    functionUses: 0
    functionsReached:
    - finish
    - '&[u8]::len'
    - poly1305_update_padded_16
    - Aad<&[u8]>::input
    - Aad<&[u8]>::len
    - encrypt
    - begin
    - as_ref
    - Ok
    - poly1305::Context::from_key
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn open_fallback(Key(chacha20_key): &Key,nonce: Nonce,aad:
      Aad<&[u8]>,in_out: Overlapping<''_>,cpu: cpu::Features,) -> Result<Tag, InputTooLongError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs:121,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs:122,1
    - Dst: InputTooLongError::new
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs:122,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs:122,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - aad
    - input
    argTypes:
    - Aad<&[u8]>
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 132
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 132
    functionName: check_input_lengths
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs
    functionUses: 1
    functionsReached:
    - Err
    - len
    - Ok
    - InputTooLongError::new
    linkageType: ''
    returnType: Result
    signature: 'fn check_input_lengths(aad: Aad<&[u8]>, input: &[u8]) -> Result<(),
      InputTooLongError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_input_lengths
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs:142,1
    - Dst: bool::encrypt_single_block_with_ctr_0
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs:145,1
    - Dst: poly1305::Key::new
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs:146,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - key
    - nonce
    - aad
    - input
    - cpu
    argTypes:
    - '&chacha::Key'
    - Nonce
    - Aad<&[u8]>
    - '&[u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 148
      start: 135
    functionDepth: 5
    functionLinenumber: 135
    functionLinenumberEnd: 148
    functionName: begin
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs
    functionUses: 3
    functionsReached:
    - poly1305::Key::new
    - check_input_lengths
    - Ok
    - bool::encrypt_single_block_with_ctr_0
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn begin(key: &chacha::Key,nonce: Nonce,aad: Aad<&[u8]>,input:
      &[u8],cpu: cpu::Features,) -> Result<(Counter, poly1305::Key), InputTooLongError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice::as_chunks
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs:160,1
    - Dst: update
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs:161,1
    - Dst: '&[u8]::is_empty'
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs:162,1
    - Dst: sliceutil::overwrite_at_start
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs:164,1
    - Dst: update_block
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - ctx
    - input
    argTypes:
    - '&mut poly1305::Context'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 167
      start: 159
    functionDepth: 11
    functionLinenumber: 159
    functionLinenumberEnd: 167
    functionName: poly1305_update_padded_16
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs
    functionUses: 2
    functionsReached:
    - sliceutil::overwrite_at_start
    - slice::as_chunks
    - '&[u8]::is_empty'
    - update_block
    - update
    linkageType: ''
    returnType: void
    signature: 'fn poly1305_update_padded_16(ctx: &mut poly1305::Context, input: &[u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prefixed_extern
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/integrated.rs:2,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 22
    functionDepth: 2
    functionLinenumber: 22
    functionLinenumberEnd: 35
    functionName: declare_open
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/integrated.rs
    functionUses: 0
    functionsReached:
    - prefixed_extern
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prefixed_extern
      Src: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/integrated.rs:2,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 50
    functionName: declare_seal
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/integrated.rs
    functionUses: 0
    functionsReached:
    - prefixed_extern
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::encrypt_iv_xor_block_using_encrypt_block
      Src: /src/spdm-rs/external/ring/src/aead/aes/vp.rs:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - iv
    - block
    argTypes:
    - Iv
    - Block
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 4
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: Key::encrypt_iv_xor_block
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/aes/vp.rs
    functionUses: 1
    functionsReached:
    - super::encrypt_iv_xor_block_using_encrypt_block
    linkageType: ''
    returnType: Block
    signature: 'fn encrypt_iv_xor_block(&self, iv: Iv, block: Block) -> Block'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::super::shift::shift_full_blocks
      Src: /src/spdm-rs/external/ring/src/aead/aes/vp.rs:135,1
    - Dst: Key::encrypt_iv_xor_block
      Src: /src/spdm-rs/external/ring/src/aead/aes/vp.rs:136,1
    - Dst: Result::increment
      Src: /src/spdm-rs/external/ring/src/aead/aes/vp.rs:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - in_out
    - ctr
    argTypes:
    - Overlapping<'_>
    - '&mut Counter'
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 6
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: Key::ctr32_encrypt_within
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/aes/vp.rs
    functionUses: 0
    functionsReached:
    - Result::increment
    - Key::encrypt_iv_xor_block
    - super::super::shift::shift_full_blocks
    linkageType: ''
    returnType: void
    signature: 'fn ctr32_encrypt_within(&self, in_out: Overlapping<''_>, ctr: &mut
      Counter)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES_KEY::derive
      Src: /src/spdm-rs/external/ring/src/aead/aes/bs.rs:45,1
    - Dst: ctr32_encrypt_blocks
      Src: /src/spdm-rs/external/ring/src/aead/aes/bs.rs:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - in_out
    - vpaes_key
    - ctr
    argTypes:
    - Overlapping<'_>
    - '&AES_KEY'
    - '&mut Counter'
    constantsTouched: []
    func_position:
      end: 60
      start: 29
    functionDepth: 12
    functionLinenumber: 29
    functionLinenumberEnd: 60
    functionName: ctr32_encrypt_blocks_with_vpaes_key
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/aes/bs.rs
    functionUses: 0
    functionsReached:
    - ctr32_encrypt_blocks
    - AES_KEY::derive
    linkageType: ''
    returnType: void
    signature: 'pub(super) unsafe fn ctr32_encrypt_blocks_with_vpaes_key(in_out: Overlapping<''_>,vpaes_key:
      &AES_KEY,ctr: &mut Counter,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BitLength::from_bits
      Src: /src/spdm-rs/external/ring/src/aead/aes/ffi.rs:49,1
    - Dst: BitLength::from_bits
      Src: /src/spdm-rs/external/ring/src/aead/aes/ffi.rs:50,1
    - Dst: f
      Src: /src/spdm-rs/external/ring/src/aead/aes/ffi.rs:54,1
    - Dst: Bytes::as_ptr
      Src: /src/spdm-rs/external/ring/src/aead/aes/ffi.rs:54,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/aead/aes/ffi.rs:56,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/aead/aes/ffi.rs:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 2
    argNames:
    - f
    - bytes
    argTypes:
    - unsafe extern "C" fn(*const u8, BitLength<c_int>, *mut AES_KEY) -> c_int
    - KeyBytes<'_>
    constantsTouched: []
    func_position:
      end: 60
      start: 39
    functionDepth: 11
    functionLinenumber: 39
    functionLinenumberEnd: 60
    functionName: AES_KEY::new
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/aes/ffi.rs
    functionUses: 1
    functionsReached:
    - Err
    - Bytes::as_ptr
    - BitLength::from_bits
    - f
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(super) unsafe fn new(f: unsafe extern "C" fn(*const u8, BitLength<c_int>,
      *mut AES_KEY) -> c_int,bytes: KeyBytes<''_>,) -> Result<Self, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/spdm-rs/external/ring/src/aead/aes/ffi.rs:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - f
    - src
    argTypes:
    - for<'a> unsafe extern "C" fn(*mut AES_KEY, &'a AES_KEY)
    - '&Self'
    constantsTouched: []
    func_position:
      end: 75
      start: 65
    functionDepth: 11
    functionLinenumber: 65
    functionLinenumberEnd: 75
    functionName: AES_KEY::derive
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/aes/ffi.rs
    functionUses: 1
    functionsReached:
    - f
    linkageType: ''
    returnType: Self
    signature: 'pub(super) unsafe fn derive(f: for<''a> unsafe extern "C" fn(*mut
      AES_KEY, &''a AES_KEY),src: &Self,) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: AES_KEY::rounds
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/aes/ffi.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: pub(super) fn rounds(&self) -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prefixed_extern
      Src: /src/spdm-rs/external/ring/src/aead/aes/ffi.rs:4,1
    - Dst: $crate::aead::aes::ffi::AES_KEY::new
      Src: /src/spdm-rs/external/ring/src/aead/aes/ffi.rs:7,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 101
    functionName: set_encrypt_key
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/aes/ffi.rs
    functionUses: 3
    functionsReached:
    - $crate::aead::aes::ffi::AES_KEY::new
    - prefixed_extern
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::mem::MaybeUninit::uninit
      Src: /src/spdm-rs/external/ring/src/aead/aes/ffi.rs:120,1
    - Dst: f
      Src: /src/spdm-rs/external/ring/src/aead/aes/ffi.rs:122,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/ring/src/aead/aes/ffi.rs:122,1
    - Dst: assume_init
      Src: /src/spdm-rs/external/ring/src/aead/aes/ffi.rs:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - f
    - a
    argTypes:
    - unsafe extern "C" fn(&Block, *mut Block, &AES_KEY)
    - Block
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 11
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: AES_KEY::encrypt_block
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/aes/ffi.rs
    functionUses: 0
    functionsReached:
    - core::mem::MaybeUninit::uninit
    - f
    - as_mut_ptr
    - assume_init
    linkageType: ''
    returnType: Block
    signature: 'pub(super) unsafe fn encrypt_block(&self,f: unsafe extern "C" fn(&Block,
      *mut Block, &AES_KEY),a: Block,) -> Block'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prefixed_extern
      Src: /src/spdm-rs/external/ring/src/aead/aes/ffi.rs:6,1
    - Dst: ctr32_encrypt_blocks
      Src: /src/spdm-rs/external/ring/src/aead/aes/ffi.rs:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 150
    functionName: ctr32_encrypt_blocks
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/aes/ffi.rs
    functionUses: 2
    functionsReached:
    - prefixed_extern
    - ctr32_encrypt_blocks
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Overlapping<'_>::with_input_output_len
      Src: /src/spdm-rs/external/ring/src/aead/aes/ffi.rs:177,1
    - Dst: NonZeroUsize::new
      Src: /src/spdm-rs/external/ring/src/aead/aes/ffi.rs:180,1
    - Dst: cast
      Src: /src/spdm-rs/external/ring/src/aead/aes/ffi.rs:187,1
    - Dst: cast
      Src: /src/spdm-rs/external/ring/src/aead/aes/ffi.rs:188,1
    - Dst: try_into
      Src: /src/spdm-rs/external/ring/src/aead/aes/ffi.rs:189,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/src/aead/aes/ffi.rs:189,1
    - Dst: f
      Src: /src/spdm-rs/external/ring/src/aead/aes/ffi.rs:200,1
    - Dst: Result::increment_by_less_safe
      Src: /src/spdm-rs/external/ring/src/aead/aes/ffi.rs:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 3
    argNames:
    - f
    - in_out
    - ctr
    argTypes:
    - "unsafe extern \"C\" fn(\n            input: *const [u8; BLOCK_LEN],\n     \
      \       output: *mut [u8; BLOCK_LEN],\n            blocks: c::NonZero_size_t,\n\
      \            key: &AES_KEY,\n            ivec: &Counter,\n        )"
    - Overlapping<'_>
    - '&mut Counter'
    constantsTouched: []
    func_position:
      end: 205
      start: 165
    functionDepth: 16
    functionLinenumber: 165
    functionLinenumberEnd: 205
    functionName: AES_KEY::ctr32_encrypt_blocks
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/aes/ffi.rs
    functionUses: 0
    functionsReached:
    - Overlapping<'_>::with_input_output_len
    - Result::increment_by_less_safe
    - NonZeroUsize::new
    - Result::unwrap
    - cast
    - try_into
    - f
    linkageType: ''
    returnType: void
    signature: 'pub(super) unsafe fn ctr32_encrypt_blocks(&self,f: unsafe extern "C"
      fn(input: *const [u8; BLOCK_LEN],output: *mut [u8; BLOCK_LEN],blocks: c::NonZero_size_t,key:
      &AES_KEY,ivec: &Counter,),in_out: Overlapping<''_>,ctr: &mut Counter,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: Key::inner_less_safe
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/aes/hw.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&AES_KEY'
    signature: pub(in super::super) fn inner_less_safe(&self) -> &AES_KEY
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bitxor_assign
      Src: /src/spdm-rs/external/ring/src/aead/gcm/neon.rs:43,1
    - Dst: gmult
      Src: /src/spdm-rs/external/ring/src/aead/gcm/neon.rs:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - xi
    - a
    argTypes:
    - '&mut Xi'
    - '[u8; BLOCK_LEN]'
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 13
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: Key::update_block
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/gcm/neon.rs
    functionUses: 0
    functionsReached:
    - bitxor_assign
    - gmult
    linkageType: ''
    returnType: void
    signature: 'fn update_block(&self, xi: &mut Xi, a: [u8; BLOCK_LEN])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ghash
      Src: /src/spdm-rs/external/ring/src/aead/gcm/neon.rs:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - xi
    - input
    argTypes:
    - '&mut Xi'
    - AsChunks<u8, BLOCK_LEN>
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 3
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: Key::update_blocks
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/gcm/neon.rs
    functionUses: 0
    functionsReached:
    - ghash
    linkageType: ''
    returnType: void
    signature: 'fn update_blocks(&self, xi: &mut Xi, input: AsChunks<u8, BLOCK_LEN>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: g::c::m::_::m::u::l::6::4::_::n::o::h::w::lo
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'fn lo(a: u64) -> u32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lo
      Src: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 152
      start: 150
    functionDepth: 7
    functionLinenumber: 150
    functionLinenumberEnd: 152
    functionName: g::c::m::_::m::u::l::6::4::_::n::o::h::w::hi
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs
    functionUses: 0
    functionsReached:
    - lo
    linkageType: ''
    returnType: u32
    signature: 'fn hi(a: u64) -> u32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u128::from
      Src: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs:67,1
    - Dst: u128::from
      Src: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: g::c::m::_::m::u::l::6::4::_::n::o::h::w::mul
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs
    functionUses: 0
    functionsReached:
    - u128::from
    linkageType: ''
    returnType: u128
    signature: 'fn mul(a: u64, b: u64) -> u128'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lo
      Src: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs:154,1
    - Dst: hi
      Src: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs:155,1
    - Dst: lo
      Src: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs:156,1
    - Dst: hi
      Src: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs:157,1
    - Dst: gcm_mul32_nohw
      Src: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs:159,1
    - Dst: gcm_mul32_nohw
      Src: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs:160,1
    - Dst: gcm_mul32_nohw
      Src: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 163
      start: 144
    functionDepth: 7
    functionLinenumber: 144
    functionLinenumberEnd: 163
    functionName: gcm_mul64_nohw
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs
    functionUses: 1
    functionsReached:
    - lo
    - gcm_mul32_nohw
    - hi
    linkageType: ''
    returnType: (u64, u64)
    signature: 'fn gcm_mul64_nohw(a: u64, b: u64) -> (u64, u64)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u64::from
      Src: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs:117,1
    - Dst: u64::from
      Src: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: g::c::m::_::m::u::l::3::2::_::n::o::h::w::mul
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs
    functionUses: 0
    functionsReached:
    - u64::from
    linkageType: ''
    returnType: u64
    signature: 'fn mul(a: u32, b: u32) -> u64'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul
      Src: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs:132,1
    - Dst: mul
      Src: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs:132,1
    - Dst: mul
      Src: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs:132,1
    - Dst: mul
      Src: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs:132,1
    - Dst: mul
      Src: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs:133,1
    - Dst: mul
      Src: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs:133,1
    - Dst: mul
      Src: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs:133,1
    - Dst: mul
      Src: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs:133,1
    - Dst: mul
      Src: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs:134,1
    - Dst: mul
      Src: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs:134,1
    - Dst: mul
      Src: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs:134,1
    - Dst: mul
      Src: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs:134,1
    - Dst: mul
      Src: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs:135,1
    - Dst: mul
      Src: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs:135,1
    - Dst: mul
      Src: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs:135,1
    - Dst: mul
      Src: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 50
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 141
      start: 114
    functionDepth: 4
    functionLinenumber: 114
    functionLinenumberEnd: 141
    functionName: gcm_mul32_nohw
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs
    functionUses: 1
    functionsReached:
    - mul
    linkageType: ''
    returnType: u64
    signature: 'fn gcm_mul32_nohw(a: u32, b: u32) -> u64'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcm_mul64_nohw
      Src: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs:201,1
    - Dst: gcm_mul64_nohw
      Src: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs:202,1
    - Dst: gcm_mul64_nohw
      Src: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 52
    argCount: 2
    argNames:
    - xi
    - h
    argTypes:
    - '&mut [u64; 2]'
    - U128
    constantsTouched: []
    func_position:
      end: 244
      start: 197
    functionDepth: 8
    functionLinenumber: 197
    functionLinenumberEnd: 244
    functionName: gcm_polyval_nohw
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs
    functionUses: 1
    functionsReached:
    - gcm_mul64_nohw
    linkageType: ''
    returnType: void
    signature: 'fn gcm_polyval_nohw(xi: &mut [u64; 2], h: U128)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: with_swapped_xi
      Src: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs:247,1
    - Dst: gcm_polyval_nohw
      Src: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - xi
    - h
    argTypes:
    - '&mut Xi'
    - U128
    constantsTouched: []
    func_position:
      end: 250
      start: 246
    functionDepth: 12
    functionLinenumber: 246
    functionLinenumberEnd: 250
    functionName: gmult
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs
    functionUses: 1
    functionsReached:
    - with_swapped_xi
    - gcm_polyval_nohw
    linkageType: ''
    returnType: void
    signature: 'fn gmult(xi: &mut Xi, h: U128)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prefixed_extern
      Src: /src/spdm-rs/external/ring/src/aead/gcm/ffi.rs:3,1
    - Dst: ghash
      Src: /src/spdm-rs/external/ring/src/aead/gcm/ffi.rs:11,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 62
    functionName: ghash
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/gcm/ffi.rs
    functionUses: 2
    functionsReached:
    - prefixed_extern
    - ghash
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: array_split_map
      Src: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs:265,1
    - Dst: f
      Src: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs:267,1
    - Dst: split_at_mut
      Src: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs:268,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs:269,1
    - Dst: u64::to_be_bytes
      Src: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs:269,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs:270,1
    - Dst: u64::to_be_bytes
      Src: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 2
    argNames:
    - f
    argTypes:
    - '&mut Xi'
    - impl FnOnce(&mut [u64; 2])
    constantsTouched: []
    func_position:
      end: 271
      start: 264
    functionDepth: 11
    functionLinenumber: 264
    functionLinenumberEnd: 271
    functionName: with_swapped_xi
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs
    functionUses: 1
    functionsReached:
    - split_at_mut
    - array_split_map
    - copy_from_slice
    - f
    - u64::to_be_bytes
    linkageType: ''
    returnType: void
    signature: 'fn with_swapped_xi(Xi(xi): &mut Xi, f: impl FnOnce(&mut [u64; 2]))'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: Key::inner
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/gcm/vclmulavx2.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: '&HTable'
    signature: pub(super) fn inner(&self) -> &HTable
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prefixed_extern
      Src: /src/spdm-rs/external/ring/src/aead/gcm/ffi.rs:3,1
    - Dst: HTable::new
      Src: /src/spdm-rs/external/ring/src/aead/gcm/ffi.rs:6,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 3
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: htable_new
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/gcm/ffi.rs
    functionUses: 1
    functionsReached:
    - prefixed_extern
    - HTable::new
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/ring/src/aead/gcm/ffi.rs:68,1
    - Dst: u8::array_split_map
      Src: /src/spdm-rs/external/ring/src/aead/gcm/ffi.rs:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - Block
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: KeyValue::new
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/gcm/ffi.rs
    functionUses: 1
    functionsReached:
    - Self
    - u8::array_split_map
    linkageType: ''
    returnType: Self
    signature: 'pub(in super::super) fn new(value: Block) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: KeyValue::into_inner
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/gcm/ffi.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '[u64; 2]'
    signature: pub(super) fn into_inner(self) -> [u64; 2]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/spdm-rs/external/ring/src/aead/gcm/ffi.rs:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - init
    - value
    argTypes:
    - 'unsafe extern "C" fn(HTable: &mut HTable, &[u64; 2])'
    - KeyValue
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: HTable::new
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/gcm/ffi.rs
    functionUses: 1
    functionsReached:
    - init
    linkageType: ''
    returnType: Self
    signature: 'pub(super) unsafe fn new(init: unsafe extern "C" fn(HTable: &mut HTable,
      &[u64; 2]),value: KeyValue,) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/spdm-rs/external/ring/src/aead/gcm/ffi.rs:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - f
    - xi
    argTypes:
    - 'unsafe extern "C" fn(xi: &mut Xi, h_table: &HTable)'
    - '&mut Xi'
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 11
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: HTable::gmult
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/gcm/ffi.rs
    functionUses: 0
    functionsReached:
    - f
    linkageType: ''
    returnType: void
    signature: 'pub(super) unsafe fn gmult(&self,f: unsafe extern "C" fn(xi: &mut
      Xi, h_table: &HTable),xi: &mut Xi,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_flattened
      Src: /src/spdm-rs/external/ring/src/aead/gcm/ffi.rs:123,1
    - Dst: NonZeroUsize::new
      Src: /src/spdm-rs/external/ring/src/aead/gcm/ffi.rs:125,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/aead/gcm/ffi.rs:125,1
    - Dst: f
      Src: /src/spdm-rs/external/ring/src/aead/gcm/ffi.rs:136,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/ring/src/aead/gcm/ffi.rs:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - f
    - xi
    - input
    argTypes:
    - "unsafe extern \"C\" fn(\n            xi: &mut Xi,\n            Htable: &HTable,\n\
      \            inp: *const u8,\n            len: crate::c::NonZero_size_t,\n \
      \       )"
    - '&mut Xi'
    - AsChunks<u8, BLOCK_LEN>
    constantsTouched: []
    func_position:
      end: 138
      start: 110
    functionDepth: 11
    functionLinenumber: 110
    functionLinenumberEnd: 138
    functionName: HTable::ghash
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/gcm/ffi.rs
    functionUses: 0
    functionsReached:
    - NonZeroUsize::new
    - as_ptr
    - len
    - f
    - as_flattened
    linkageType: ''
    returnType: void
    signature: 'pub(super) unsafe fn ghash(&self,f: unsafe extern "C" fn(xi: &mut
      Xi,Htable: &HTable,inp: *const u8,len: crate::c::NonZero_size_t,),xi: &mut Xi,input:
      AsChunks<u8, BLOCK_LEN>,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bb::xor_16
      Src: /src/spdm-rs/external/ring/src/aead/gcm/ffi.rs:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - Block
    constantsTouched: []
    func_position:
      end: 164
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 164
    functionName: Xi::bitxor_assign
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/gcm/ffi.rs
    functionUses: 0
    functionsReached:
    - bb::xor_16
    linkageType: ''
    returnType: void
    signature: 'pub(super) fn bitxor_assign(&mut self, a: Block)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::words_less_safe
      Src: /src/spdm-rs/external/ring/src/aead/chacha/fallback.rs:30,1
    - Dst: Counter64Builder::into_words_less_safe
      Src: /src/spdm-rs/external/ring/src/aead/chacha/fallback.rs:31,1
    - Dst: Overlapping<'_>::len
      Src: /src/spdm-rs/external/ring/src/aead/chacha/fallback.rs:38,1
    - Dst: chacha_core
      Src: /src/spdm-rs/external/ring/src/aead/chacha/fallback.rs:42,1
    - Dst: split_first_chunk::<BLOCK_LEN>
      Src: /src/spdm-rs/external/ring/src/aead/chacha/fallback.rs:50,1
    - Dst: bb::xor_assign_at_start
      Src: /src/spdm-rs/external/ring/src/aead/chacha/fallback.rs:52,1
    - Dst: Overlapping<'_>::input
      Src: /src/spdm-rs/external/ring/src/aead/chacha/fallback.rs:52,1
    - Dst: sliceutil::overwrite_at_start
      Src: /src/spdm-rs/external/ring/src/aead/chacha/fallback.rs:53,1
    - Dst: Overlapping<'_>::into_unwritten_output
      Src: /src/spdm-rs/external/ring/src/aead/chacha/fallback.rs:53,1
    - Dst: unwrap_or_else
      Src: /src/spdm-rs/external/ring/src/aead/chacha/fallback.rs:50,1
    - Dst: bb::xor_assign_at_start
      Src: /src/spdm-rs/external/ring/src/aead/chacha/fallback.rs:60,1
    - Dst: Overlapping<'_>::input
      Src: /src/spdm-rs/external/ring/src/aead/chacha/fallback.rs:60,1
    - Dst: sliceutil::overwrite_at_start
      Src: /src/spdm-rs/external/ring/src/aead/chacha/fallback.rs:61,1
    - Dst: Overlapping<'_>::into_unwritten_output
      Src: /src/spdm-rs/external/ring/src/aead/chacha/fallback.rs:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 77
    argCount: 3
    argNames:
    - key
    - counter
    - in_out
    argTypes:
    - '&Key'
    - Counter
    - Overlapping<'_>
    constantsTouched: []
    func_position:
      end: 67
      start: 22
    functionDepth: 6
    functionLinenumber: 22
    functionLinenumberEnd: 67
    functionName: ChaCha20_ctr32
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/chacha/fallback.rs
    functionUses: 1
    functionsReached:
    - Overlapping<'_>::into_unwritten_output
    - sliceutil::overwrite_at_start
    - unwrap_or_else
    - Counter64Builder::into_words_less_safe
    - Overlapping<'_>::input
    - bb::xor_assign_at_start
    - split_first_chunk::<BLOCK_LEN>
    - chacha_core
    - Overlapping<'_>::len
    - bool::words_less_safe
    linkageType: ''
    returnType: void
    signature: 'pub(super) fn ChaCha20_ctr32(key: &Key, counter: Counter, mut in_out:
      Overlapping<''_>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: step_by
      Src: /src/spdm-rs/external/ring/src/aead/chacha/fallback.rs:74,1
    - Dst: quarterround
      Src: /src/spdm-rs/external/ring/src/aead/chacha/fallback.rs:75,1
    - Dst: quarterround
      Src: /src/spdm-rs/external/ring/src/aead/chacha/fallback.rs:76,1
    - Dst: quarterround
      Src: /src/spdm-rs/external/ring/src/aead/chacha/fallback.rs:77,1
    - Dst: quarterround
      Src: /src/spdm-rs/external/ring/src/aead/chacha/fallback.rs:78,1
    - Dst: quarterround
      Src: /src/spdm-rs/external/ring/src/aead/chacha/fallback.rs:79,1
    - Dst: quarterround
      Src: /src/spdm-rs/external/ring/src/aead/chacha/fallback.rs:80,1
    - Dst: quarterround
      Src: /src/spdm-rs/external/ring/src/aead/chacha/fallback.rs:81,1
    - Dst: quarterround
      Src: /src/spdm-rs/external/ring/src/aead/chacha/fallback.rs:82,1
    - Dst: Result::iter_mut
      Src: /src/spdm-rs/external/ring/src/aead/chacha/fallback.rs:85,1
    - Dst: zip
      Src: /src/spdm-rs/external/ring/src/aead/chacha/fallback.rs:85,1
    - Dst: iter
      Src: /src/spdm-rs/external/ring/src/aead/chacha/fallback.rs:85,1
    - Dst: Result::wrapping_add
      Src: /src/spdm-rs/external/ring/src/aead/chacha/fallback.rs:86,1
    - Dst: chunks_exact_mut
      Src: /src/spdm-rs/external/ring/src/aead/chacha/fallback.rs:89,1
    - Dst: size_of::<u32>
      Src: /src/spdm-rs/external/ring/src/aead/chacha/fallback.rs:90,1
    - Dst: zip
      Src: /src/spdm-rs/external/ring/src/aead/chacha/fallback.rs:89,1
    - Dst: Result::iter
      Src: /src/spdm-rs/external/ring/src/aead/chacha/fallback.rs:91,1
    - Dst: for_each
      Src: /src/spdm-rs/external/ring/src/aead/chacha/fallback.rs:89,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/ring/src/aead/chacha/fallback.rs:92,1
    - Dst: Result::to_le_bytes
      Src: /src/spdm-rs/external/ring/src/aead/chacha/fallback.rs:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 61
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - '&mut [u8; BLOCK_LEN]'
    - '&State'
    constantsTouched: []
    func_position:
      end: 93
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 93
    functionName: chacha_core
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/chacha/fallback.rs
    functionUses: 1
    functionsReached:
    - Result::iter_mut
    - zip
    - step_by
    - Result::to_le_bytes
    - iter
    - size_of::<u32>
    - for_each
    - Result::iter
    - quarterround
    - chunks_exact_mut
    - copy_from_slice
    - Result::wrapping_add
    linkageType: ''
    returnType: void
    signature: 'fn chacha_core(output: &mut [u8; BLOCK_LEN], input: &State)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_add
      Src: /src/spdm-rs/external/ring/src/aead/chacha/fallback.rs:99,1
    - Dst: rotate_left
      Src: /src/spdm-rs/external/ring/src/aead/chacha/fallback.rs:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 5
    argNames:
    - x
    - a
    - b
    - c
    - rotation
    argTypes:
    - '&mut State'
    - usize
    - usize
    - usize
    - u32
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: q::u::a::r::t::e::r::r::o::u::n::d::step
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/chacha/fallback.rs
    functionUses: 0
    functionsReached:
    - rotate_left
    - wrapping_add
    linkageType: ''
    returnType: void
    signature: 'fn step(x: &mut State, a: usize, b: usize, c: usize, rotation: u32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: step
      Src: /src/spdm-rs/external/ring/src/aead/chacha/fallback.rs:102,1
    - Dst: step
      Src: /src/spdm-rs/external/ring/src/aead/chacha/fallback.rs:103,1
    - Dst: step
      Src: /src/spdm-rs/external/ring/src/aead/chacha/fallback.rs:104,1
    - Dst: step
      Src: /src/spdm-rs/external/ring/src/aead/chacha/fallback.rs:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 5
    argNames:
    - x
    - a
    - b
    - c
    - d
    argTypes:
    - '&mut State'
    - usize
    - usize
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: quarterround
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/chacha/fallback.rs
    functionUses: 1
    functionsReached:
    - step
    linkageType: ''
    returnType: void
    signature: 'fn quarterround(x: &mut State, a: usize, b: usize, c: usize, d: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::into
      Src: /src/spdm-rs/external/ring/src/aead/chacha/ffi.rs:59,1
    - Dst: Result::with_input_output_len
      Src: /src/spdm-rs/external/ring/src/aead/chacha/ffi.rs:60,1
    - Dst: bool::words_less_safe
      Src: /src/spdm-rs/external/ring/src/aead/chacha/ffi.rs:62,1
    - Dst: f
      Src: /src/spdm-rs/external/ring/src/aead/chacha/ffi.rs:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - key
    - counter
    - in_out
    - cpu
    - f
    argTypes:
    - '&Key'
    - Counter
    - InOut
    - Cpu
    - unsafe extern "C" fn(*mut u8, *const u8, crate::c::size_t, &[u32; 8], &Counter)
    constantsTouched: []
    func_position:
      end: 66
      start: 46
    functionDepth: 16
    functionLinenumber: 46
    functionLinenumberEnd: 66
    functionName: chacha20_ctr32_ffi
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/chacha/ffi.rs
    functionUses: 0
    functionsReached:
    - bool::words_less_safe
    - Result::into
    - f
    - Result::with_input_output_len
    linkageType: ''
    returnType: void
    signature: 'pub(super) unsafe fn chacha20_ctr32_ffi<''o,InOut: ''o + Into<Overlapping<''o,
      u8>>,Cpu,const MIN_LEN: usize,>(key: &Key,counter: Counter,in_out: InOut,cpu:
      Cpu,f: unsafe extern "C" fn(*mut u8, *const u8, crate::c::size_t, &[u32; 8],
      &Counter),)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Overlapping<'o, T>::len
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/array.rs:29,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/array.rs:30,1
    - Dst: LenMismatchError::new
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/array.rs:30,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/array.rs:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - in_out
    argTypes:
    - Overlapping<'o, T>
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: Array::new
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/overlapping/array.rs
    functionUses: 1
    functionsReached:
    - Overlapping<'o, T>::len
    - LenMismatchError::new
    - Err
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn new(in_out: Overlapping<''o, T>) -> Result<Self, LenMismatchError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into_unwritten_output
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/array.rs:39,1
    - Dst: try_into
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/array.rs:39,1
    - Dst: unwrap_or_else
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/array.rs:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 35
    functionDepth: 4
    functionLinenumber: 35
    functionLinenumberEnd: 45
    functionName: Array::into_unwritten_output
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/overlapping/array.rs
    functionUses: 0
    functionsReached:
    - try_into
    - unwrap_or_else
    - into_unwritten_output
    linkageType: ''
    returnType: '&''o mut [T; N]'
    signature: 'pub fn into_unwritten_output(self) -> &''o mut [T; N]where&''o mut
      [T]: TryInto<&''o mut [T; N], Error = TryFromSliceError>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: input
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/array.rs:53,1
    - Dst: try_into
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/array.rs:53,1
    - Dst: unwrap_or_else
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/array.rs:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 4
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: Array::input
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/overlapping/array.rs
    functionUses: 0
    functionsReached:
    - input
    - unwrap_or_else
    - try_into
    linkageType: ''
    returnType: '&''s [T; N]'
    signature: 'pub fn input<''s>(&''s self) -> &''s [T; N]where&''s [T]: TryInto<&''s
      [T; N], Error = TryFromSliceError>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Overlapping<'i, T>::len
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/partial_block.rs:25,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/partial_block.rs:27,1
    - Dst: InputTooLongError::new
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/partial_block.rs:27,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/partial_block.rs:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - in_out
    argTypes:
    - Overlapping<'i, T>
    constantsTouched: []
    func_position:
      end: 30
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 30
    functionName: PartialBlock::new
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/overlapping/partial_block.rs
    functionUses: 6
    functionsReached:
    - Overlapping<'i, T>::len
    - Err
    - Ok
    - InputTooLongError::new
    linkageType: ''
    returnType: Result
    signature: 'pub fn new(in_out: Overlapping<''i, T>) -> Result<Self, InputTooLongError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PartialBlock::len
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/partial_block.rs:36,1
    - Dst: into_unwritten_output
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/partial_block.rs:37,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/partial_block.rs:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - padded
    argTypes:
    - '[T; BLOCK_LEN]'
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: PartialBlock::overwrite_at_start
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/overlapping/partial_block.rs
    functionUses: 0
    functionsReached:
    - PartialBlock::len
    - into_unwritten_output
    - copy_from_slice
    linkageType: ''
    returnType: void
    signature: 'pub fn overwrite_at_start(self, padded: [T; BLOCK_LEN])whereT: Copy,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: input
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/partial_block.rs:46,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/partial_block.rs:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: PartialBlock::input
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/overlapping/partial_block.rs
    functionUses: 1
    functionsReached:
    - input
    - len
    linkageType: ''
    returnType: '&[T]'
    signature: pub fn input(&self) -> &[T]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PartialBlock::input
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/partial_block.rs:57,1
    - Dst: '&[T]::len'
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/partial_block.rs:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: PartialBlock::len
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/overlapping/partial_block.rs
    functionUses: 1
    functionsReached:
    - '&[T]::len'
    - PartialBlock::input
    linkageType: ''
    returnType: usize
    signature: pub fn len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in_out
    argTypes:
    - '&''o mut [T]'
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: Overlapping::from
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/overlapping/base.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'fn from(in_out: &''o mut [T]) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&''o mut [T]::get'
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/base.rs:34,1
    - Dst: RangeFrom<usize>::clone
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/base.rs:34,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/base.rs:35,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/base.rs:36,1
    - Dst: IndexError::new
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/base.rs:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - in_out
    - src
    argTypes:
    - '&''o mut [T]'
    - RangeFrom<usize>
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: Overlapping::new
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/overlapping/base.rs
    functionUses: 6
    functionsReached:
    - '&''o mut [T]::get'
    - IndexError::new
    - Err
    - RangeFrom<usize>::clone
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn new(in_out: &''o mut [T], src: RangeFrom<usize>) -> Result<Self,
      IndexError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Overlapping::len
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/base.rs:51,1
    - Dst: copy_within
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/base.rs:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 4
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: Overlapping::copy_within
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/overlapping/base.rs
    functionUses: 0
    functionsReached:
    - Overlapping::len
    - copy_within
    linkageType: ''
    returnType: '&''o mut [T]'
    signature: 'pub fn copy_within(self) -> &''o mut [T]whereT: Copy,'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: Overlapping::into_slice_src_mut
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/overlapping/base.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: (&'o mut [T], RangeFrom
    signature: pub fn into_slice_src_mut(self) -> (&'o mut [T], RangeFrom<usize>)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Overlapping::len
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/base.rs:66,1
    - Dst: get_mut
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/base.rs:67,1
    - Dst: unwrap_or_else
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/base.rs:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 4
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: Overlapping::into_unwritten_output
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/overlapping/base.rs
    functionUses: 0
    functionsReached:
    - get_mut
    - Overlapping::len
    - unwrap_or_else
    linkageType: ''
    returnType: '&''o mut [T]'
    signature: pub fn into_unwritten_output(self) -> &'o mut [T]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Overlapping::input
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/base.rs:76,1
    - Dst: '&[T]::len'
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/base.rs:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: Overlapping::len
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/overlapping/base.rs
    functionUses: 4
    functionsReached:
    - '&[T]::len'
    - Overlapping::input
    linkageType: ''
    returnType: usize
    signature: pub fn len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/base.rs:80,1
    - Dst: clone
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/base.rs:80,1
    - Dst: unwrap_or_else
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/base.rs:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: Overlapping::input
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/overlapping/base.rs
    functionUses: 1
    functionsReached:
    - unwrap_or_else
    - clone
    - get
    linkageType: ''
    returnType: '&[T]'
    signature: pub fn input(&self) -> &[T]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Overlapping::len
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/base.rs:87,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/base.rs:88,1
    - Dst: output::add
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/base.rs:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - f
    argTypes:
    - impl FnOnce(*const T, *mut T, usize) -> R
    constantsTouched: []
    func_position:
      end: 103
      start: 86
    functionDepth: 15
    functionLinenumber: 86
    functionLinenumberEnd: 103
    functionName: Overlapping::with_input_output_len
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/overlapping/base.rs
    functionUses: 2
    functionsReached:
    - Overlapping::len
    - as_mut_ptr
    - output::add
    linkageType: ''
    returnType: R
    signature: 'pub fn with_input_output_len<R>(self, f: impl FnOnce(*const T, *mut
      T, usize) -> R) -> R'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/base.rs:116,1
    - Dst: checked_add
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/base.rs:117,1
    - Dst: ok_or_else
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/base.rs:117,1
    - Dst: IndexError::new
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/base.rs:121,1
    - Dst: get_mut
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/base.rs:122,1
    - Dst: ok_or_else
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/base.rs:122,1
    - Dst: IndexError::new
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/base.rs:125,1
    - Dst: Overlapping::new
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/base.rs:126,1
    - Dst: Result::unwrap_or_else
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/base.rs:126,1
    - Dst: Array::new
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/base.rs:130,1
    - Dst: Result::unwrap_or_else
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/base.rs:130,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/base.rs:136,1
    - Dst: mem::take
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/base.rs:138,1
    - Dst: Option::get_mut
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/base.rs:138,1
    - Dst: unwrap_or_else
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/base.rs:138,1
    - Dst: Self::new
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/base.rs:142,1
    - Dst: Self::unwrap_or_else
      Src: /src/spdm-rs/external/ring/src/aead/overlapping/base.rs:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 46
    argCount: 1
    argNames:
    - f
    argTypes:
    - impl for<'a> FnOnce(Array<'a, T, N>)
    constantsTouched: []
    func_position:
      end: 147
      start: 112
    functionDepth: 8
    functionLinenumber: 112
    functionLinenumberEnd: 147
    functionName: Overlapping::split_first_chunk
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/overlapping/base.rs
    functionUses: 0
    functionsReached:
    - mem::take
    - clone
    - unwrap_or_else
    - IndexError::new
    - Result::unwrap_or_else
    - Self::unwrap_or_else
    - ok_or_else
    - Array::new
    - Option::get_mut
    - get_mut
    - checked_add
    - Ok
    - Overlapping::new
    - Self::new
    linkageType: ''
    returnType: Result
    signature: 'pub fn split_first_chunk<const N: usize>(mut self,f: impl for<''a>
      FnOnce(Array<''a, T, N>),) -> Result<Self, IndexError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::in_out_whole_block_bits
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aarch64.rs:27,1
    - Dst: BitLength::into
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aarch64.rs:28,1
    - Dst: Result::try_into
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aarch64.rs:29,1
    - Dst: bool::inner
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aarch64.rs:30,1
    - Dst: prefixed_extern
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aarch64.rs:32,1
    - Dst: aes_gcm_enc_kernel
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aarch64.rs:44,1
    - Dst: AsChunksMut<u8, BLOCK_LEN>::as_ptr
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aarch64.rs:45,1
    - Dst: AsChunksMut<u8, BLOCK_LEN>::as_mut_ptr
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aarch64.rs:47,1
    - Dst: inner_less_safe
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aarch64.rs:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - aes_key
    - auth
    - ctr
    - in_out
    argTypes:
    - '&aes::hw::Key'
    - '&mut gcm::Context<gcm::clmul::Key>'
    - '&mut Counter'
    - AsChunksMut<u8, BLOCK_LEN>
    constantsTouched: []
    func_position:
      end: 55
      start: 21
    functionDepth: 10
    functionLinenumber: 21
    functionLinenumberEnd: 55
    functionName: seal_whole
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/aes_gcm/aarch64.rs
    functionUses: 1
    functionsReached:
    - prefixed_extern
    - inner_less_safe
    - BitLength::into
    - Result::try_into
    - bool::in_out_whole_block_bits
    - aes_gcm_enc_kernel
    - AsChunksMut<u8, BLOCK_LEN>::as_ptr
    - bool::inner
    - AsChunksMut<u8, BLOCK_LEN>::as_mut_ptr
    linkageType: ''
    returnType: void
    signature: 'pub(super) fn seal_whole(aes_key: &aes::hw::Key,auth: &mut gcm::Context<gcm::clmul::Key>,ctr:
      &mut Counter,mut in_out: AsChunksMut<u8, BLOCK_LEN>,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Overlapping::with_input_output_len
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aarch64.rs:66,1
    - Dst: bool::in_out_whole_block_bits
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aarch64.rs:67,1
    - Dst: BitLength::into
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aarch64.rs:68,1
    - Dst: Result::try_into
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aarch64.rs:69,1
    - Dst: bool::inner
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aarch64.rs:70,1
    - Dst: prefixed_extern
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aarch64.rs:71,1
    - Dst: aes_gcm_dec_kernel
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aarch64.rs:83,1
    - Dst: inner_less_safe
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/aarch64.rs:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - aes_key
    - auth
    - in_out
    - ctr
    argTypes:
    - '&aes::hw::Key'
    - '&mut gcm::Context<gcm::clmul::Key>'
    - Overlapping
    - '&mut Counter'
    constantsTouched: []
    func_position:
      end: 95
      start: 57
    functionDepth: 16
    functionLinenumber: 57
    functionLinenumberEnd: 95
    functionName: open_whole
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/aes_gcm/aarch64.rs
    functionUses: 1
    functionsReached:
    - Overlapping::with_input_output_len
    - prefixed_extern
    - inner_less_safe
    - BitLength::into
    - Result::try_into
    - bool::in_out_whole_block_bits
    - bool::inner
    - aes_gcm_dec_kernel
    linkageType: ''
    returnType: void
    signature: 'pub(super) fn open_whole(aes_key: &aes::hw::Key,auth: &mut gcm::Context<gcm::clmul::Key>,in_out:
      Overlapping,ctr: &mut Counter,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut [T]::as_flattened_mut'
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/vaesclmulavx2.rs:38,1
    - Dst: u32::try_from
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/vaesclmulavx2.rs:42,1
    - Dst: '&mut [T]::len'
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/vaesclmulavx2.rs:42,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/vaesclmulavx2.rs:42,1
    - Dst: NonZeroU32::new
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/vaesclmulavx2.rs:44,1
    - Dst: inner_less_safe
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/vaesclmulavx2.rs:45,1
    - Dst: bool::inner
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/vaesclmulavx2.rs:46,1
    - Dst: '&mut [T]::as_ptr'
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/vaesclmulavx2.rs:47,1
    - Dst: '&mut [T]::as_mut_ptr'
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/vaesclmulavx2.rs:48,1
    - Dst: '&mut [T]::len'
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/vaesclmulavx2.rs:49,1
    - Dst: aes_gcm_enc_update_vaes_avx2
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/vaesclmulavx2.rs:50,1
    - Dst: Result::increment_by_less_safe
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/vaesclmulavx2.rs:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 4
    argNames:
    - aes_key
    - auth
    - ctr
    - in_out
    argTypes:
    - '&aes::hw::Key'
    - '&mut gcm::Context<gcm::vclmulavx2::Key>'
    - '&mut Counter'
    - AsChunksMut<u8, BLOCK_LEN>
    constantsTouched: []
    func_position:
      end: 53
      start: 21
    functionDepth: 10
    functionLinenumber: 21
    functionLinenumberEnd: 53
    functionName: seal_whole_vaes_clmul_avx2
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/aes_gcm/vaesclmulavx2.rs
    functionUses: 0
    functionsReached:
    - u32::try_from
    - '&mut [T]::as_mut_ptr'
    - Result::increment_by_less_safe
    - inner_less_safe
    - aes_gcm_enc_update_vaes_avx2
    - '&mut [T]::len'
    - '&mut [T]::as_ptr'
    - Result::unwrap
    - '&mut [T]::as_flattened_mut'
    - bool::inner
    - NonZeroU32::new
    linkageType: ''
    returnType: void
    signature: 'pub(super) fn seal_whole_vaes_clmul_avx2(aes_key: &aes::hw::Key,auth:
      &mut gcm::Context<gcm::vclmulavx2::Key>,ctr: &mut Counter,mut in_out: AsChunksMut<u8,
      BLOCK_LEN>,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32::try_from
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/vaesclmulavx2.rs:76,1
    - Dst: Overlapping::len
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/vaesclmulavx2.rs:76,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/vaesclmulavx2.rs:76,1
    - Dst: NonZeroU32::new
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/vaesclmulavx2.rs:78,1
    - Dst: inner_less_safe
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/vaesclmulavx2.rs:79,1
    - Dst: bool::inner
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/vaesclmulavx2.rs:80,1
    - Dst: Overlapping::with_input_output_len
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/vaesclmulavx2.rs:81,1
    - Dst: aes_gcm_dec_update_vaes_avx2
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/vaesclmulavx2.rs:82,1
    - Dst: Result::increment_by_less_safe
      Src: /src/spdm-rs/external/ring/src/aead/aes_gcm/vaesclmulavx2.rs:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 4
    argNames:
    - aes_key
    - auth
    - in_out
    - ctr
    argTypes:
    - '&aes::hw::Key'
    - '&mut gcm::Context<gcm::vclmulavx2::Key>'
    - Overlapping
    - '&mut Counter'
    constantsTouched: []
    func_position:
      end: 86
      start: 55
    functionDepth: 10
    functionLinenumber: 55
    functionLinenumberEnd: 86
    functionName: open_whole_vaes_clmul_avx2
    functionSourceFile: /src/spdm-rs/external/ring/src/aead/aes_gcm/vaesclmulavx2.rs
    functionUses: 0
    functionsReached:
    - u32::try_from
    - Overlapping::with_input_output_len
    - Result::increment_by_less_safe
    - inner_less_safe
    - aes_gcm_dec_update_vaes_avx2
    - Result::unwrap
    - bool::inner
    - Overlapping::len
    - NonZeroU32::new
    linkageType: ''
    returnType: void
    signature: 'pub(super) fn open_whole_vaes_clmul_avx2(aes_key: &aes::hw::Key,auth:
      &mut gcm::Context<gcm::vclmulavx2::Key>,in_out: Overlapping,ctr: &mut Counter,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: compute_public_key
      Src: /src/spdm-rs/external/ring/src/ec/keys.rs:14,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/keys.rs:15,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - seed
    - cpu_features
    argTypes:
    - Seed
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 16
      start: 10
    functionDepth: 16
    functionLinenumber: 10
    functionLinenumberEnd: 16
    functionName: KeyPair::derive
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/keys.rs
    functionUses: 1
    functionsReached:
    - compute_public_key
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn derive(seed: Seed,cpu_features: cpu::Features,) -> Result<Self,
      error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: KeyPair::split
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/keys.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: (Seed, PublicKey)
    signature: pub fn split(self) -> (Seed, PublicKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/keys.rs:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - curve
    - rng
    - cpu
    argTypes:
    - '&''static Curve'
    - '&dyn rand::SecureRandom'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: Seed::generate
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/keys.rs
    functionUses: 2
    functionsReached:
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn generate(curve: &''static Curve,rng: &dyn rand::SecureRandom,cpu:
      cpu::Features,) -> Result<Self, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bytes::as_slice_less_safe
      Src: /src/spdm-rs/external/ring/src/ec/keys.rs:50,1
    - Dst: Bytes::len
      Src: /src/spdm-rs/external/ring/src/ec/keys.rs:51,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/ec/keys.rs:52,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/ring/src/ec/keys.rs:59,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/keys.rs:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 3
    argNames:
    - curve
    - bytes
    - cpu
    argTypes:
    - '&''static Curve'
    - untrusted::Input
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 61
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 61
    functionName: Seed::from_bytes
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/keys.rs
    functionUses: 3
    functionsReached:
    - Bytes::len
    - Err
    - copy_from_slice
    - Bytes::as_slice_less_safe
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn from_bytes(curve: &''static Curve,bytes: untrusted::Input,cpu:
      cpu::Features,) -> Result<Self, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: Seed::bytes_less_safe
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/keys.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn bytes_less_safe(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/keys.rs:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - cpu_features
    argTypes:
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 81
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 81
    functionName: Seed::compute_public_key
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/keys.rs
    functionUses: 0
    functionsReached:
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn compute_public_key(&self,cpu_features: cpu::Features,)
      -> Result<PublicKey, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verify_affine_point_is_on_the_curve_scaled
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:36,1
    - Dst: Elem::from
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:36,1
    - Dst: bool::a
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:36,1
    - Dst: Elem::from
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:36,1
    - Dst: bool::b
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - q
    argTypes:
    - '&Modulus<Q>'
    - (&Elem<R>, &Elem<R>)
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 14
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: verify_affine_point_is_on_the_curve
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b.rs
    functionUses: 2
    functionsReached:
    - Elem::from
    - bool::a
    - bool::b
    - verify_affine_point_is_on_the_curve_scaled
    linkageType: ''
    returnType: Result
    signature: 'fn verify_affine_point_is_on_the_curve(q: &Modulus<Q>,(x, y): (&Elem<R>,
      &Elem<R>),) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::point_z
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:52,1
    - Dst: bool::elem_verify_is_not_zero
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:55,1
    - Dst: bool::point_x
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:57,1
    - Dst: bool::point_y
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:58,1
    - Dst: bool::elem_squared
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:102,1
    - Dst: bool::elem_squared
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:103,1
    - Dst: bool::elem_product
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:104,1
    - Dst: Elem::from
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:104,1
    - Dst: bool::a
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:104,1
    - Dst: bool::elem_product
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:105,1
    - Dst: bool::elem_product
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:106,1
    - Dst: Elem::from
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:106,1
    - Dst: bool::b
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:106,1
    - Dst: verify_affine_point_is_on_the_curve_scaled
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:107,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 44
    argCount: 2
    argNames:
    - q
    - p
    argTypes:
    - '&Modulus<Q>'
    - '&Point'
    constantsTouched: []
    func_position:
      end: 109
      start: 48
    functionDepth: 13
    functionLinenumber: 48
    functionLinenumberEnd: 109
    functionName: verify_jacobian_point_is_on_the_curve
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b.rs
    functionUses: 1
    functionsReached:
    - bool::point_y
    - bool::b
    - bool::a
    - Elem::from
    - bool::point_z
    - bool::elem_verify_is_not_zero
    - verify_affine_point_is_on_the_curve_scaled
    - bool::elem_product
    - bool::elem_squared
    - bool::point_x
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn verify_jacobian_point_is_on_the_curve(q: &Modulus<Q>,p: &Point,)
      -> Result<Elem<R>, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::elem_squared
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:142,1
    - Dst: bool::elem_squared
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:144,1
    - Dst: bool::add_assign
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:145,1
    - Dst: bool::elem_mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:146,1
    - Dst: bool::add_assign
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:147,1
    - Dst: bool::elems_are_equal
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:149,1
    - Dst: LimbMask::leak
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:149,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:150,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 4
    argNames:
    - q
    - a_scaled
    - b_scaled
    argTypes:
    - '&Modulus<Q>'
    - (&Elem<R>, &Elem<R>)
    - '&Elem<R>'
    - '&Elem<R>'
    constantsTouched: []
    func_position:
      end: 154
      start: 136
    functionDepth: 13
    functionLinenumber: 136
    functionLinenumberEnd: 154
    functionName: verify_affine_point_is_on_the_curve_scaled
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b.rs
    functionUses: 2
    functionsReached:
    - LimbMask::leak
    - bool::elems_are_equal
    - bool::add_assign
    - Err
    - bool::elem_squared
    - bool::elem_mul
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn verify_affine_point_is_on_the_curve_scaled(q: &Modulus<Q>,(x, y):
      (&Elem<R>, &Elem<R>),a_scaled: &Elem<R>,b_scaled: &Elem<R>,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs8::unwrap_key
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:162,1
    - Dst: read_all
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:164,1
    - Dst: error::KeyRejected::invalid_encoding
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:164,1
    - Dst: der::nested
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:166,1
    - Dst: error::KeyRejected::invalid_encoding
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:169,1
    - Dst: key_pair_from_pkcs8_
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:170,1
    - Dst: key_pair_from_bytes
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - curve
    - template
    - input
    - cpu_features
    argTypes:
    - '&''static ec::Curve'
    - '&pkcs8::Template'
    - untrusted::Input
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 174
      start: 156
    functionDepth: 16
    functionLinenumber: 156
    functionLinenumberEnd: 174
    functionName: key_pair_from_pkcs8
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b.rs
    functionUses: 1
    functionsReached:
    - read_all
    - pkcs8::unwrap_key
    - key_pair_from_pkcs8_
    - key_pair_from_bytes
    - der::nested
    - error::KeyRejected::invalid_encoding
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn key_pair_from_pkcs8(curve: &''static ec::Curve,template:
      &pkcs8::Template,input: untrusted::Input,cpu_features: cpu::Features,) -> Result<ec::KeyPair,
      error::KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: der::small_nonnegative_integer
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:180,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:180,1
    - Dst: error::KeyRejected::invalid_encoding
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:181,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:183,1
    - Dst: error::KeyRejected::version_not_supported
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:183,1
    - Dst: der::expect_tag_and_get_value
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:186,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:186,1
    - Dst: error::KeyRejected::invalid_encoding
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:187,1
    - Dst: peek
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:190,1
    - Dst: u8::from
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:190,1
    - Dst: der::expect_tag_and_get_value
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:192,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:192,1
    - Dst: error::KeyRejected::invalid_encoding
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:193,1
    - Dst: as_slice_less_safe
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:194,1
    - Dst: '&pkcs8::Template::curve_oid'
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:194,1
    - Dst: untrusted::Input::as_slice_less_safe
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:194,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:195,1
    - Dst: error::KeyRejected::wrong_algorithm
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:195,1
    - Dst: der::nested
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:201,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:201,1
    - Dst: error::KeyRejected::invalid_encoding
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:207,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:209,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 51
    argCount: 2
    argNames:
    - template
    - input
    argTypes:
    - '&pkcs8::Template'
    - '&mut untrusted::Reader<''a>'
    constantsTouched: []
    func_position:
      end: 210
      start: 176
    functionDepth: 15
    functionLinenumber: 176
    functionLinenumberEnd: 210
    functionName: key_pair_from_pkcs8_
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b.rs
    functionUses: 1
    functionsReached:
    - der::small_nonnegative_integer
    - error::KeyRejected::version_not_supported
    - error::KeyRejected::wrong_algorithm
    - '&pkcs8::Template::curve_oid'
    - Err
    - peek
    - u8::from
    - Result::map_err
    - der::nested
    - error::KeyRejected::invalid_encoding
    - as_slice_less_safe
    - der::expect_tag_and_get_value
    - untrusted::Input::as_slice_less_safe
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn key_pair_from_pkcs8_<''a>(template: &pkcs8::Template,input: &mut
      untrusted::Reader<''a>,) -> Result<(untrusted::Input<''a>, untrusted::Input<''a>),
      error::KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ec::Seed::from_bytes
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:218,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:218,1
    - Dst: error::KeyRejected::invalid_component
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:219,1
    - Dst: ec::KeyPair::derive
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:221,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:221,1
    - Dst: error::KeyRejected::unexpected_error
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:222,1
    - Dst: untrusted::Input::as_slice_less_safe
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:223,1
    - Dst: public_key
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:223,1
    - Dst: '&[u8]::as_ref'
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:223,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:224,1
    - Dst: error::KeyRejected::inconsistent_components
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:224,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/suite_b.rs:227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 4
    argNames:
    - curve
    - private_key_bytes
    - public_key_bytes
    - cpu_features
    argTypes:
    - '&''static ec::Curve'
    - untrusted::Input
    - untrusted::Input
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 228
      start: 212
    functionDepth: 17
    functionLinenumber: 212
    functionLinenumberEnd: 228
    functionName: key_pair_from_bytes
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b.rs
    functionUses: 2
    functionsReached:
    - ec::KeyPair::derive
    - error::KeyRejected::invalid_component
    - Err
    - error::KeyRejected::unexpected_error
    - ec::Seed::from_bytes
    - Result::map_err
    - '&[u8]::as_ref'
    - public_key
    - error::KeyRejected::inconsistent_components
    - untrusted::Input::as_slice_less_safe
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn key_pair_from_bytes(curve: &''static ec::Curve,private_key_bytes:
      untrusted::Input,public_key_bytes: untrusted::Input,cpu_features: cpu::Features,)
      -> Result<ec::KeyPair, error::KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_modulus
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdh.rs:96,1
    - Dst: parse_uncompressed_point
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdh.rs:106,1
    - Dst: scalar_modulus
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdh.rs:128,1
    - Dst: private_key_as_scalar
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdh.rs:129,1
    - Dst: '&PrivateKeyOps::point_mul'
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdh.rs:130,1
    - Dst: big_endian_affine_from_jacobian
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdh.rs:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 6
    argNames:
    - private_key_ops
    - public_key_ops
    - out
    - my_private_key
    - peer_public_key
    - cpu
    argTypes:
    - '&PrivateKeyOps'
    - '&PublicKeyOps'
    - '&mut [u8]'
    - '&ec::Seed'
    - untrusted::Input
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 145
      start: 82
    functionDepth: 16
    functionLinenumber: 82
    functionLinenumberEnd: 145
    functionName: ecdh
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ecdh.rs
    functionUses: 0
    functionsReached:
    - elem_modulus
    - parse_uncompressed_point
    - private_key_as_scalar
    - scalar_modulus
    - '&PrivateKeyOps::point_mul'
    - big_endian_affine_from_jacobian
    linkageType: ''
    returnType: Result
    signature: 'fn ecdh(private_key_ops: &PrivateKeyOps,public_key_ops: &PublicKeyOps,out:
      &mut [u8],my_private_key: &ec::Seed,peer_public_key: untrusted::Input,cpu: cpu::Features,)
      -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdh.rs:178,1
    - Dst: limb::big_endian_from_limbs
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdh.rs:193,1
    - Dst: n_limbs
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdh.rs:193,1
    - Dst: agreement::EphemeralPrivateKey::generate
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdh.rs:209,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdh.rs:209,1
    - Dst: core::cell::UnsafeCell::new
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdh.rs:236,1
    - Dst: agreement::EphemeralPrivateKey::generate
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdh.rs:238,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdh.rs:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 169
    functionDepth: 15
    functionLinenumber: 169
    functionLinenumberEnd: 242
    functionName: tests::test_agreement_suite_b_ecdh_generate
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ecdh.rs
    functionUses: 0
    functionsReached:
    - core::cell::UnsafeCell::new
    - iter
    - Result::unwrap
    - limb::big_endian_from_limbs
    - n_limbs
    - agreement::EphemeralPrivateKey::generate
    linkageType: ''
    returnType: void
    signature: fn test_agreement_suite_b_ecdh_generate()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Elem::zero
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ops.rs:125,1
    - Dst: Elem::zero
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ops.rs:126,1
    - Dst: Elem::zero
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ops.rs:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: Point::new_at_infinity
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/curve25519/ops.rs
    functionUses: 8
    functionsReached:
    - Elem::zero
    linkageType: ''
    returnType: Self
    signature: pub fn new_at_infinity() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - cpu_features
    argTypes:
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 95
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 95
    functionName: CommonOps::elem_modulus
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: Modulus
    signature: 'pub(super) fn elem_modulus(&''static self, cpu_features: cpu::Features)
      -> Modulus<Q>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - cpu_features
    argTypes:
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 106
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 106
    functionName: CommonOps::scalar_modulus
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Modulus
    signature: 'pub(super) fn scalar_modulus(&''static self, cpu_features: cpu::Features)
      -> Modulus<N>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 4
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: CommonOps::len
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - into
    linkageType: ''
    returnType: usize
    signature: pub fn len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 4
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: CommonOps::n_limbs
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - into
    linkageType: ''
    returnType: '&[Limb]'
    signature: pub(super) fn n_limbs(&self) -> &[Limb]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: Modulus::cpu
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cpu::Features
    signature: pub fn cpu(&self) -> cpu::Features
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 4
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: Modulus::bytes_len
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - into
    linkageType: ''
    returnType: usize
    signature: pub fn bytes_len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:135,1
    - Dst: limbs_add_assign_mod
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:136,1
    - Dst: Result::unwrap_or_else
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - '&mut elem::Elem<M, E>'
    - '&elem::Elem<M, E>'
    constantsTouched: []
    func_position:
      end: 142
      start: 134
    functionDepth: 14
    functionLinenumber: 134
    functionLinenumberEnd: 142
    functionName: Modulus::add_assign
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - into
    - limbs_add_assign_mod
    - Result::unwrap_or_else
    linkageType: ''
    returnType: void
    signature: 'pub fn add_assign<E: Encoding>(&self, a: &mut elem::Elem<M, E>, b:
      &elem::Elem<M, E>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:148,1
    - Dst: limbs_equal_limbs_consttime
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:149,1
    - Dst: Result::unwrap_or_else
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - '&Elem<E>'
    - '&Elem<E>'
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 4
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: Modulus::elems_are_equal
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - into
    - limbs_equal_limbs_consttime
    - Result::unwrap_or_else
    linkageType: ''
    returnType: LimbMask
    signature: 'pub fn elems_are_equal<E: Encoding>(&self, a: &Elem<E>, b: &Elem<E>)
      -> LimbMask'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Modulus::elem_product
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:155,1
    - Dst: Elem::one
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - '&Elem<R>'
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: Modulus::elem_unencoded
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - Modulus::elem_product
    - Elem::one
    linkageType: ''
    returnType: Elem
    signature: 'pub fn elem_unencoded(&self, a: &Elem<R>) -> Elem<Unencoded>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:162,1
    - Dst: limbs_are_zero
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:163,1
    - Dst: LimbMask::leak
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - a
    argTypes:
    - '&elem::Elem<M, E>'
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 4
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: CommonOps::is_zero
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - into
    - LimbMask::leak
    - limbs_are_zero
    linkageType: ''
    returnType: bool
    signature: 'fn is_zero<M, E: Encoding>(&self, a: &elem::Elem<M, E>) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem::binary_op_assign
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - _cpu
    argTypes:
    - '&mut Elem<R>'
    - '&Elem<R>'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 12
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: CommonOps::elem_mul
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 1
    functionsReached:
    - elem::binary_op_assign
    linkageType: ''
    returnType: void
    signature: 'fn elem_mul(&self, a: &mut Elem<R>, b: &Elem<R>, _cpu: cpu::Features)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem::mul_mont
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - _cpu
    argTypes:
    - '&Elem<EA>'
    - '&Elem<EB>'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 182
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 182
    functionName: CommonOps::elem_product
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 1
    functionsReached:
    - elem::mul_mont
    linkageType: ''
    returnType: Elem
    signature: 'fn elem_product<EA: Encoding, EB: Encoding>(&self,a: &Elem<EA>,b:
      &Elem<EB>,_cpu: cpu::Features,) -> Elem<<(EA, EB) as ProductEncoding>::Output>where(EA,
      EB): ProductEncoding,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem::unary_op_assign
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - _cpu
    argTypes:
    - '&mut Elem<R>'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 12
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: CommonOps::elem_square
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 2
    functionsReached:
    - elem::unary_op_assign
    linkageType: ''
    returnType: void
    signature: 'fn elem_square(&self, a: &mut Elem<R>, _cpu: cpu::Features)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem::unary_op
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - _cpu
    argTypes:
    - '&Elem<R>'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 12
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: CommonOps::elem_squared
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 1
    functionsReached:
    - elem::unary_op
    linkageType: ''
    returnType: Elem
    signature: 'fn elem_squared(&self, a: &Elem<R>, _cpu: cpu::Features) -> Elem<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - '&mut Elem<R>'
    - '&Elem<R>'
    constantsTouched: []
    func_position:
      end: 199
      start: 197
    functionDepth: 4
    functionLinenumber: 197
    functionLinenumberEnd: 199
    functionName: Modulus::elem_mul
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - elem_mul
    linkageType: ''
    returnType: void
    signature: 'pub fn elem_mul(&self, a: &mut Elem<R>, b: &Elem<R>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_product
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - '&Elem<EA>'
    - '&Elem<EB>'
    constantsTouched: []
    func_position:
      end: 211
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 211
    functionName: Modulus::elem_product
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 1
    functionsReached:
    - elem_product
    linkageType: ''
    returnType: Elem
    signature: 'pub fn elem_product<EA: Encoding, EB: Encoding>(&self,a: &Elem<EA>,b:
      &Elem<EB>,) -> Elem<<(EA, EB) as ProductEncoding>::Output>where(EA, EB): ProductEncoding,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_square
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - '&mut Elem<R>'
    constantsTouched: []
    func_position:
      end: 216
      start: 214
    functionDepth: 13
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionName: Modulus::elem_square
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - elem_square
    linkageType: ''
    returnType: void
    signature: 'pub fn elem_square(&self, a: &mut Elem<R>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_squared
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - '&Elem<R>'
    constantsTouched: []
    func_position:
      end: 221
      start: 219
    functionDepth: 13
    functionLinenumber: 219
    functionLinenumberEnd: 221
    functionName: Modulus::elem_squared
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - elem_squared
    linkageType: ''
    returnType: Elem
    signature: 'pub fn elem_squared(&self, a: &Elem<R>) -> Elem<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_zero
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - '&elem::Elem<M, E>'
    constantsTouched: []
    func_position:
      end: 228
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 228
    functionName: Modulus::is_zero
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 1
    functionsReached:
    - is_zero
    linkageType: ''
    returnType: bool
    signature: 'pub fn is_zero<E: Encoding>(&self, a: &elem::Elem<M, E>) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Modulus::is_zero
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:233,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:234,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - a
    argTypes:
    - '&Elem<R>'
    constantsTouched: []
    func_position:
      end: 238
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 238
    functionName: Modulus::elem_verify_is_not_zero
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - Modulus::is_zero
    - Err
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn elem_verify_is_not_zero(&self, a: &Elem<R>) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 242
    functionName: Modulus::a
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''static PublicElem'
    signature: pub(super) fn a(&self) -> &'static PublicElem<R>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 245
    functionName: Modulus::b
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''static PublicElem'
    signature: pub(super) fn b(&self) -> &'static PublicElem<R>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Point::new_at_infinity
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:250,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:252,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:252,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - a
    - b
    - _cpu
    argTypes:
    - '&Point'
    - '&Point'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 255
      start: 249
    functionDepth: 4
    functionLinenumber: 249
    functionLinenumberEnd: 255
    functionName: PrivateKeyOps::point_sum
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 2
    functionsReached:
    - as_ptr
    - Point::new_at_infinity
    - as_mut_ptr
    linkageType: ''
    returnType: Point
    signature: 'pub(super) fn point_sum(&self, a: &Point, b: &Point, _cpu: cpu::Features)
      -> Point'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:260,1
    - Dst: Elem::zero
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:261,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - p
    argTypes:
    - '&Point'
    constantsTouched: []
    func_position:
      end: 264
      start: 259
    functionDepth: 4
    functionLinenumber: 259
    functionLinenumberEnd: 264
    functionName: Modulus::point_x
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - into
    - Elem::zero
    - copy_from_slice
    linkageType: ''
    returnType: Elem
    signature: 'pub fn point_x(&self, p: &Point) -> Elem<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:267,1
    - Dst: Elem::zero
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:268,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - p
    argTypes:
    - '&Point'
    constantsTouched: []
    func_position:
      end: 271
      start: 266
    functionDepth: 4
    functionLinenumber: 266
    functionLinenumberEnd: 271
    functionName: Modulus::point_y
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - into
    - Elem::zero
    - copy_from_slice
    linkageType: ''
    returnType: Elem
    signature: 'pub fn point_y(&self, p: &Point) -> Elem<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:274,1
    - Dst: Elem::zero
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:275,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - p
    argTypes:
    - '&Point'
    constantsTouched: []
    func_position:
      end: 278
      start: 273
    functionDepth: 4
    functionLinenumber: 273
    functionLinenumberEnd: 278
    functionName: Modulus::point_z
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - into
    - Elem::zero
    - copy_from_slice
    linkageType: ''
    returnType: Elem
    signature: 'pub fn point_z(&self, p: &Point) -> Elem<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - a
    argTypes:
    - '&''a Elem<Unencoded>'
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 4
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: PrivateKeyOps::leak_limbs
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 1
    functionsReached:
    - into
    linkageType: ''
    returnType: '&''a [Limb]'
    signature: 'pub fn leak_limbs<''a>(&self, a: &''a Elem<Unencoded>) -> &''a [Limb]'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - cpu
    argTypes:
    - '&Scalar'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 308
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 308
    functionName: PrivateKeyOps::point_mul_base
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Point
    signature: 'pub(super) fn point_mul_base(&self, a: &Scalar, cpu: cpu::Features)
      -> Point'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Point::new_at_infinity
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:317,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:320,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:321,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:322,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 3
    argNames:
    - p_scalar
    - _cpu
    argTypes:
    - '&Scalar'
    - '&(Elem<R>, Elem<R>)'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 327
      start: 311
    functionDepth: 4
    functionLinenumber: 311
    functionLinenumberEnd: 327
    functionName: PrivateKeyOps::point_mul
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 3
    functionsReached:
    - as_ptr
    - Point::new_at_infinity
    - as_mut_ptr
    linkageType: ''
    returnType: Point
    signature: 'pub(super) fn point_mul(&self,p_scalar: &Scalar,(p_x, p_y): &(Elem<R>,
      Elem<R>),_cpu: cpu::Features,) -> Point'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - q
    - a
    argTypes:
    - '&Modulus<Q>'
    - '&Elem<R>'
    constantsTouched: []
    func_position:
      end: 332
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 332
    functionName: PrivateKeyOps::elem_inverse_squared
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Elem
    signature: 'pub(super) fn elem_inverse_squared(&self, q: &Modulus<Q>, a: &Elem<R>)
      -> Elem<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:352,1
    - Dst: read_bytes
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:353,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:353,1
    - Dst: elem_parse_big_endian_fixed_consttime
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:354,1
    - Dst: Elem::zero
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:355,1
    - Dst: Elem::from
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:356,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:361,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:362,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:363,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 2
    argNames:
    - q
    - input
    argTypes:
    - '&Modulus<Q>'
    - '&mut untrusted::Reader'
    constantsTouched: []
    func_position:
      end: 367
      start: 347
    functionDepth: 14
    functionLinenumber: 347
    functionLinenumberEnd: 367
    functionName: PublicKeyOps::elem_parse
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 1
    functionsReached:
    - Elem::from
    - read_bytes
    - as_mut_ptr
    - cpu::features
    - elem_parse_big_endian_fixed_consttime
    - as_ptr
    - len
    - Elem::zero
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn elem_parse(&self,q: &Modulus<Q>,input: &mut untrusted::Reader,)
      -> Result<Elem<R>, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: scalar_modulus
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cpu_features
    argTypes:
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 381
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 381
    functionName: ScalarOps::scalar_modulus
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - scalar_modulus
    linkageType: ''
    returnType: Modulus
    signature: 'pub(super) fn scalar_modulus(&''static self, cpu_features: cpu::Features)
      -> Modulus<N>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 386
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 386
    functionName: ScalarOps::scalar_bytes_len
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 3
    functionsReached:
    - len
    linkageType: ''
    returnType: usize
    signature: pub fn scalar_bytes_len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - '&''s Scalar'
    constantsTouched: []
    func_position:
      end: 392
      start: 390
    functionDepth: 4
    functionLinenumber: 390
    functionLinenumberEnd: 392
    functionName: ScalarOps::leak_limbs
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 2
    functionsReached:
    - into
    linkageType: ''
    returnType: '&''s [Limb]'
    signature: 'pub fn leak_limbs<''s>(&self, s: &''s Scalar) -> &''s [Limb]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem::mul_mont
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - _cpu
    argTypes:
    - '&Scalar<EA>'
    - '&Scalar<EB>'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 405
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 405
    functionName: ScalarOps::scalar_product
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 2
    functionsReached:
    - elem::mul_mont
    linkageType: ''
    returnType: Scalar
    signature: 'pub(super) fn scalar_product<EA: Encoding, EB: Encoding>(&self,a:
      &Scalar<EA>,b: &Scalar<EB>,_cpu: cpu::Features,) -> Scalar<<(EA, EB) as ProductEncoding>::Output>where(EA,
      EB): ProductEncoding,'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 426
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 426
    functionName: PublicScalarOps::n
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&PublicElem'
    signature: pub fn n(&self) -> &PublicElem<Unencoded>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - '&Scalar'
    constantsTouched: []
    func_position:
      end: 435
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 435
    functionName: PublicScalarOps::scalar_as_elem
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Elem
    signature: 'pub fn scalar_as_elem(&self, a: &Scalar) -> Elem<Unencoded>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:440,1
    - Dst: limbs_less_than_limbs_vartime
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:441,1
    - Dst: Result::unwrap_or_else
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - '&Elem<Unencoded>'
    - '&PublicElem<Unencoded>'
    constantsTouched: []
    func_position:
      end: 443
      start: 439
    functionDepth: 4
    functionLinenumber: 439
    functionLinenumberEnd: 443
    functionName: Modulus::elem_less_than_vartime
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - into
    - Result::unwrap_or_else
    - limbs_less_than_limbs_vartime
    linkageType: ''
    returnType: bool
    signature: 'pub fn elem_less_than_vartime(&self, a: &Elem<Unencoded>, b: &PublicElem<Unencoded>)
      -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - cpu
    argTypes:
    - '&Scalar<Unencoded>'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 453
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 453
    functionName: PublicScalarOps::scalar_inv_to_mont_vartime
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Scalar
    signature: 'pub(super) fn scalar_inv_to_mont_vartime(&self,s: &Scalar<Unencoded>,cpu:
      cpu::Features,) -> Scalar<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: scalar_product
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:466,1
    - Dst: Scalar::from
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - s
    - cpu
    argTypes:
    - '&Scalar<Unencoded>'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 468
      start: 465
    functionDepth: 2
    functionLinenumber: 465
    functionLinenumberEnd: 468
    functionName: PrivateScalarOps::to_mont
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 1
    functionsReached:
    - scalar_product
    - Scalar::from
    linkageType: ''
    returnType: Scalar
    signature: 'pub(super) fn to_mont(&self, s: &Scalar<Unencoded>, cpu: cpu::Features)
      -> Scalar<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PrivateScalarOps::to_mont
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - a
    - cpu
    argTypes:
    - '&Scalar'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 3
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: PrivateScalarOps::scalar_inv_to_mont
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - PrivateScalarOps::to_mont
    linkageType: ''
    returnType: Scalar
    signature: 'pub(super) fn scalar_inv_to_mont(&self, a: &Scalar, cpu: cpu::Features)
      -> Scalar<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&PrivateKeyOps::point_mul_base'
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:487,1
    - Dst: '&PrivateKeyOps::point_mul'
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:488,1
    - Dst: '&PrivateKeyOps::point_sum'
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - ops
    - g_scalar
    - p_scalar
    - p_xy
    - cpu
    argTypes:
    - '&PrivateKeyOps'
    - '&Scalar'
    - '&Scalar'
    - '&(Elem<R>, Elem<R>)'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 490
      start: 480
    functionDepth: 5
    functionLinenumber: 480
    functionLinenumberEnd: 490
    functionName: twin_mul_inefficient
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - '&PrivateKeyOps::point_sum'
    - '&PrivateKeyOps::point_mul_base'
    - '&PrivateKeyOps::point_mul'
    linkageType: ''
    returnType: Point
    signature: 'fn twin_mul_inefficient(ops: &PrivateKeyOps,g_scalar: &Scalar,p_scalar:
      &Scalar,p_xy: &(Elem<R>, Elem<R>),cpu: cpu::Features,) -> Point'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:495,1
    - Dst: limbs_reduce_once
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:497,1
    - Dst: Result::unwrap_or_else
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - elem
    argTypes:
    - '&Elem<Unencoded>'
    constantsTouched: []
    func_position:
      end: 504
      start: 494
    functionDepth: 4
    functionLinenumber: 494
    functionLinenumberEnd: 504
    functionName: Modulus::elem_reduced_to_scalar
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - into
    - limbs_reduce_once
    - Result::unwrap_or_else
    linkageType: ''
    returnType: Scalar
    signature: 'pub fn elem_reduced_to_scalar(&self, elem: &Elem<Unencoded>) -> Scalar<Unencoded>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&CommonOps::elem_squared'
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:516,1
    - Dst: '&CommonOps::elem_square'
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:518,1
    - Dst: '&CommonOps::elem_product'
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:520,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - ops
    - a
    - squarings
    - b
    - cpu
    argTypes:
    - '&CommonOps'
    - '&Elem<R>'
    - LeakyWord
    - '&Elem<R>'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 521
      start: 508
    functionDepth: 13
    functionLinenumber: 508
    functionLinenumberEnd: 521
    functionName: elem_sqr_mul
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 2
    functionsReached:
    - '&CommonOps::elem_square'
    - '&CommonOps::elem_product'
    - '&CommonOps::elem_squared'
    linkageType: ''
    returnType: Elem
    signature: 'fn elem_sqr_mul(ops: &CommonOps,a: &Elem<R>,squarings: LeakyWord,b:
      &Elem<R>,cpu: cpu::Features,) -> Elem<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&CommonOps::elem_square'
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:533,1
    - Dst: '&CommonOps::elem_mul'
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:535,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - ops
    - acc
    - squarings
    - b
    - cpu
    argTypes:
    - '&CommonOps'
    - '&mut Elem<R>'
    - LeakyWord
    - '&Elem<R>'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 536
      start: 524
    functionDepth: 13
    functionLinenumber: 524
    functionLinenumberEnd: 536
    functionName: elem_sqr_mul_acc
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 2
    functionsReached:
    - '&CommonOps::elem_mul'
    - '&CommonOps::elem_square'
    linkageType: ''
    returnType: void
    signature: 'fn elem_sqr_mul_acc(ops: &CommonOps,acc: &mut Elem<R>,squarings: LeakyWord,b:
      &Elem<R>,cpu: cpu::Features,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_big_endian_fixed_consttime
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - q
    - bytes
    argTypes:
    - '&Modulus<Q>'
    - untrusted::Input
    constantsTouched: []
    func_position:
      end: 544
      start: 539
    functionDepth: 9
    functionLinenumber: 539
    functionLinenumberEnd: 544
    functionName: elem_parse_big_endian_fixed_consttime
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 4
    functionsReached:
    - parse_big_endian_fixed_consttime
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn elem_parse_big_endian_fixed_consttime(q: &Modulus<Q>,bytes:
      untrusted::Input,) -> Result<Elem<Unencoded>, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_big_endian_fixed_consttime
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - n
    - bytes
    argTypes:
    - '&Modulus<N>'
    - untrusted::Input
    constantsTouched: []
    func_position:
      end: 552
      start: 547
    functionDepth: 9
    functionLinenumber: 547
    functionLinenumberEnd: 552
    functionName: scalar_parse_big_endian_fixed_consttime
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 1
    functionsReached:
    - parse_big_endian_fixed_consttime
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn scalar_parse_big_endian_fixed_consttime(n: &Modulus<N>,bytes:
      untrusted::Input,) -> Result<Scalar, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:560,1
    - Dst: Scalar::zero
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:561,1
    - Dst: parse_big_endian_in_range_and_pad_consttime
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:562,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:568,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - n
    - allow_zero
    - bytes
    argTypes:
    - '&Modulus<N>'
    - AllowZero
    - untrusted::Input
    constantsTouched: []
    func_position:
      end: 569
      start: 555
    functionDepth: 8
    functionLinenumber: 555
    functionLinenumberEnd: 569
    functionName: scalar_parse_big_endian_variable
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 4
    functionsReached:
    - into
    - parse_big_endian_in_range_and_pad_consttime
    - Ok
    - Scalar::zero
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn scalar_parse_big_endian_variable(n: &Modulus<N>,allow_zero:
      AllowZero,bytes: untrusted::Input,) -> Result<Scalar, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:575,1
    - Dst: Scalar::zero
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:576,1
    - Dst: parse_big_endian_and_pad_consttime
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:579,1
    - Dst: limbs_reduce_once
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:580,1
    - Dst: Result::unwrap_or_else
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:580,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:584,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 2
    argNames:
    - n
    - bytes
    argTypes:
    - '&Modulus<N>'
    - untrusted::Input
    constantsTouched: []
    func_position:
      end: 585
      start: 571
    functionDepth: 7
    functionLinenumber: 571
    functionLinenumberEnd: 585
    functionName: scalar_parse_big_endian_partially_reduced_variable_consttime
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 1
    functionsReached:
    - limbs_reduce_once
    - into
    - Scalar::zero
    - parse_big_endian_and_pad_consttime
    - Ok
    - Result::unwrap_or_else
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn scalar_parse_big_endian_partially_reduced_variable_consttime(n:
      &Modulus<N>,bytes: untrusted::Input,) -> Result<Scalar, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:592,1
    - Dst: Bytes::len
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:593,1
    - Dst: bytes_len
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:593,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:594,1
    - Dst: elem::Elem::zero
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:596,1
    - Dst: parse_big_endian_in_range_and_pad_consttime
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:597,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:603,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 3
    argNames:
    - m
    - bytes
    - allow_zero
    argTypes:
    - '&Modulus<M>'
    - untrusted::Input
    - AllowZero
    constantsTouched: []
    func_position:
      end: 604
      start: 587
    functionDepth: 8
    functionLinenumber: 587
    functionLinenumberEnd: 604
    functionName: parse_big_endian_fixed_consttime
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 7
    functionsReached:
    - Bytes::len
    - into
    - parse_big_endian_in_range_and_pad_consttime
    - Err
    - bytes_len
    - elem::Elem::zero
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn parse_big_endian_fixed_consttime<M>(m: &Modulus<M>,bytes: untrusted::Input,allow_zero:
      AllowZero,) -> Result<elem::Elem<M, Unencoded>, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_modulus
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:643,1
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:643,1
    - Dst: Elem::from
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:644,1
    - Dst: bool::add_assign
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:645,1
    - Dst: Elem::from
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - ops
    argTypes:
    - '&PublicScalarOps'
    constantsTouched: []
    func_position:
      end: 647
      start: 641
    functionDepth: 14
    functionLinenumber: 641
    functionLinenumberEnd: 647
    functionName: tests::q_minus_n_plus_n_equals_0_test
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - elem_modulus
    - bool::add_assign
    - Elem::from
    - cpu::features
    linkageType: ''
    returnType: void
    signature: 'fn q_minus_n_plus_n_equals_0_test(ops: &PublicScalarOps)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: q_minus_n_plus_n_equals_0_test
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 652
      start: 650
    functionDepth: 15
    functionLinenumber: 650
    functionLinenumberEnd: 652
    functionName: tests::p256_q_minus_n_plus_n_equals_0_test
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - q_minus_n_plus_n_equals_0_test
    linkageType: ''
    returnType: void
    signature: fn p256_q_minus_n_plus_n_equals_0_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: q_minus_n_plus_n_equals_0_test
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 657
      start: 655
    functionDepth: 15
    functionLinenumber: 655
    functionLinenumberEnd: 657
    functionName: tests::p384_q_minus_n_plus_n_equals_0_test
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - q_minus_n_plus_n_equals_0_test
    linkageType: ''
    returnType: void
    signature: fn p384_q_minus_n_plus_n_equals_0_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_add_test
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:661,1
    - Dst: test_vector_file
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 665
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 665
    functionName: tests::p256_elem_add_test
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - elem_add_test
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: fn p256_elem_add_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_add_test
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:669,1
    - Dst: test_vector_file
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 673
      start: 668
    functionDepth: 2
    functionLinenumber: 668
    functionLinenumberEnd: 673
    functionName: tests::p384_elem_add_test
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - elem_add_test
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: fn p384_elem_add_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_modulus
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:677,1
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:677,1
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:678,1
    - Dst: consume_elem
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:681,1
    - Dst: consume_elem
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:682,1
    - Dst: consume_elem
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:683,1
    - Dst: bool::add_assign
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:686,1
    - Dst: assert_limbs_are_equal
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:687,1
    - Dst: bool::add_assign
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:690,1
    - Dst: assert_limbs_are_equal
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:691,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 2
    argNames:
    - ops
    - test_file
    argTypes:
    - '&PublicScalarOps'
    - test::File
    constantsTouched: []
    func_position:
      end: 695
      start: 675
    functionDepth: 14
    functionLinenumber: 675
    functionLinenumberEnd: 695
    functionName: tests::elem_add_test
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - elem_modulus
    - consume_elem
    - assert_limbs_are_equal
    - bool::add_assign
    - cpu::features
    - test::run
    - Ok
    linkageType: ''
    returnType: void
    signature: 'fn elem_add_test(ops: &PublicScalarOps, test_file: test::File)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_sub_test
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:705,1
    - Dst: test_vector_file
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 710
      start: 701
    functionDepth: 1
    functionLinenumber: 701
    functionLinenumberEnd: 710
    functionName: tests::p384_elem_sub_test
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - elem_sub_test
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: fn p384_elem_sub_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&''static CommonOps::elem_modulus'
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:717,1
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:717,1
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:718,1
    - Dst: consume_elem
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:721,1
    - Dst: consume_elem
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:722,1
    - Dst: consume_elem
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:723,1
    - Dst: Elem::<R>::zero
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:725,1
    - Dst: elem_sub
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:727,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:728,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:729,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:730,1
    - Dst: assert_limbs_are_equal
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:733,1
    - Dst: Elem::<R>::zero
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:735,1
    - Dst: elem_sub
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:737,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:738,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:739,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:740,1
    - Dst: assert_limbs_are_equal
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:743,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:745,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 50
    argCount: 3
    argNames:
    - ops
    - elem_sub
    - test_file
    argTypes:
    - '&''static CommonOps'
    - 'unsafe extern "C" fn(r: *mut Limb, a: *const Limb, b: *const Limb)'
    - test::File
    constantsTouched: []
    func_position:
      end: 747
      start: 712
    functionDepth: 14
    functionLinenumber: 712
    functionLinenumberEnd: 747
    functionName: tests::elem_sub_test
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - consume_elem
    - Elem::<R>::zero
    - elem_sub
    - '&''static CommonOps::elem_modulus'
    - assert_limbs_are_equal
    - as_mut_ptr
    - cpu::features
    - as_ptr
    - test::run
    - Ok
    linkageType: ''
    returnType: void
    signature: 'fn elem_sub_test(ops: &''static CommonOps,elem_sub: unsafe extern
      "C" fn(r: *mut Limb, a: *const Limb, b: *const Limb),test_file: test::File,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_div_by_2_test
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:757,1
    - Dst: test_vector_file
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 762
      start: 753
    functionDepth: 1
    functionLinenumber: 753
    functionLinenumberEnd: 762
    functionName: tests::p384_elem_div_by_2_test
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - elem_div_by_2_test
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: fn p384_elem_div_by_2_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&''static CommonOps::elem_modulus'
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:769,1
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:769,1
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:770,1
    - Dst: consume_elem
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:773,1
    - Dst: consume_elem
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:774,1
    - Dst: Elem::<R>::zero
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:776,1
    - Dst: elem_div_by_2
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:778,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:778,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:778,1
    - Dst: assert_limbs_are_equal
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:780,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:782,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 3
    argNames:
    - ops
    - elem_div_by_2
    - test_file
    argTypes:
    - '&''static CommonOps'
    - 'unsafe extern "C" fn(r: *mut Limb, a: *const Limb)'
    - test::File
    constantsTouched: []
    func_position:
      end: 784
      start: 764
    functionDepth: 14
    functionLinenumber: 764
    functionLinenumberEnd: 784
    functionName: tests::elem_div_by_2_test
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - consume_elem
    - Elem::<R>::zero
    - '&''static CommonOps::elem_modulus'
    - assert_limbs_are_equal
    - as_mut_ptr
    - cpu::features
    - as_ptr
    - elem_div_by_2
    - test::run
    - Ok
    linkageType: ''
    returnType: void
    signature: 'fn elem_div_by_2_test(ops: &''static CommonOps,elem_div_by_2: unsafe
      extern "C" fn(r: *mut Limb, a: *const Limb),test_file: test::File,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_neg_test
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:793,1
    - Dst: test_vector_file
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 798
      start: 789
    functionDepth: 1
    functionLinenumber: 789
    functionLinenumberEnd: 798
    functionName: tests::p256_elem_neg_test
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - test_vector_file
    - elem_neg_test
    linkageType: ''
    returnType: void
    signature: fn p256_elem_neg_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_neg_test
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:805,1
    - Dst: test_vector_file
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 810
      start: 801
    functionDepth: 2
    functionLinenumber: 801
    functionLinenumberEnd: 810
    functionName: tests::p384_elem_neg_test
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - test_vector_file
    - elem_neg_test
    linkageType: ''
    returnType: void
    signature: fn p384_elem_neg_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&''static CommonOps::elem_modulus'
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:817,1
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:817,1
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:818,1
    - Dst: consume_elem
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:821,1
    - Dst: consume_elem
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:822,1
    - Dst: Elem::<R>::zero
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:826,1
    - Dst: elem_neg
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:828,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:828,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:828,1
    - Dst: assert_limbs_are_equal
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:830,1
    - Dst: Elem::<R>::zero
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:835,1
    - Dst: elem_neg
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:837,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:837,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:837,1
    - Dst: assert_limbs_are_equal
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:839,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:842,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 45
    argCount: 3
    argNames:
    - ops
    - elem_neg
    - test_file
    argTypes:
    - '&''static CommonOps'
    - 'unsafe extern "C" fn(r: *mut Limb, a: *const Limb)'
    - test::File
    constantsTouched: []
    func_position:
      end: 844
      start: 812
    functionDepth: 14
    functionLinenumber: 812
    functionLinenumberEnd: 844
    functionName: tests::elem_neg_test
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - consume_elem
    - Elem::<R>::zero
    - '&''static CommonOps::elem_modulus'
    - assert_limbs_are_equal
    - as_mut_ptr
    - cpu::features
    - as_ptr
    - test::run
    - Ok
    - elem_neg
    linkageType: ''
    returnType: void
    signature: 'fn elem_neg_test(ops: &''static CommonOps,elem_neg: unsafe extern
      "C" fn(r: *mut Limb, a: *const Limb),test_file: test::File,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_mul_test
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:848,1
    - Dst: test_vector_file
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 852
      start: 847
    functionDepth: 1
    functionLinenumber: 847
    functionLinenumberEnd: 852
    functionName: tests::p256_elem_mul_test
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - elem_mul_test
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: fn p256_elem_mul_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_mul_test
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:856,1
    - Dst: test_vector_file
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 860
      start: 855
    functionDepth: 2
    functionLinenumber: 855
    functionLinenumberEnd: 860
    functionName: tests::p384_elem_mul_test
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - elem_mul_test
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: fn p384_elem_mul_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&''static CommonOps::elem_modulus'
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:863,1
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:863,1
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:864,1
    - Dst: consume_elem
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:867,1
    - Dst: consume_elem
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:868,1
    - Dst: consume_elem
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:869,1
    - Dst: bool::elem_mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:870,1
    - Dst: assert_limbs_are_equal
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:871,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 2
    argNames:
    - ops
    - test_file
    argTypes:
    - '&''static CommonOps'
    - test::File
    constantsTouched: []
    func_position:
      end: 875
      start: 862
    functionDepth: 14
    functionLinenumber: 862
    functionLinenumberEnd: 875
    functionName: tests::elem_mul_test
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - consume_elem
    - '&''static CommonOps::elem_modulus'
    - assert_limbs_are_equal
    - cpu::features
    - bool::elem_mul
    - test::run
    - Ok
    linkageType: ''
    returnType: void
    signature: 'fn elem_mul_test(ops: &''static CommonOps, test_file: test::File)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: scalar_mul_test
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:879,1
    - Dst: test_vector_file
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 883
      start: 878
    functionDepth: 1
    functionLinenumber: 878
    functionLinenumberEnd: 883
    functionName: tests::p256_scalar_mul_test
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - scalar_mul_test
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: fn p256_scalar_mul_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: scalar_mul_test
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:887,1
    - Dst: test_vector_file
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 891
      start: 886
    functionDepth: 2
    functionLinenumber: 886
    functionLinenumberEnd: 891
    functionName: tests::p384_scalar_mul_test
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - scalar_mul_test
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: fn p384_scalar_mul_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:894,1
    - Dst: scalar_modulus
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:896,1
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:897,1
    - Dst: consume_scalar
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:899,1
    - Dst: consume_scalar_mont
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:900,1
    - Dst: consume_scalar
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:901,1
    - Dst: '&ScalarOps::scalar_product'
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:902,1
    - Dst: assert_limbs_are_equal
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:903,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:905,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 2
    argNames:
    - ops
    - test_file
    argTypes:
    - '&ScalarOps'
    - test::File
    constantsTouched: []
    func_position:
      end: 907
      start: 893
    functionDepth: 14
    functionLinenumber: 893
    functionLinenumberEnd: 907
    functionName: tests::scalar_mul_test
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - consume_scalar_mont
    - assert_limbs_are_equal
    - cpu::features
    - scalar_modulus
    - consume_scalar
    - '&ScalarOps::scalar_product'
    - test::run
    - Ok
    linkageType: ''
    returnType: void
    signature: 'fn scalar_mul_test(ops: &ScalarOps, test_file: test::File)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: scalar_square_test
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:914,1
    - Dst: test_vector_file
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 919
      start: 910
    functionDepth: 1
    functionLinenumber: 910
    functionLinenumberEnd: 919
    functionName: tests::p256_scalar_square_test
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - scalar_square_test
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: fn p256_scalar_square_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:929,1
    - Dst: scalar_modulus
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:931,1
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:932,1
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:934,1
    - Dst: consume_scalar
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:935,1
    - Dst: consume_scalar
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:936,1
    - Dst: sqr_rep
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:945,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:945,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:945,1
    - Dst: assert_limbs_are_equal
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:947,1
    - Dst: '&ScalarOps::scalar_product'
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:951,1
    - Dst: assert_limbs_are_equal
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:952,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:955,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 42
    argCount: 3
    argNames:
    - ops
    - sqr_rep
    - test_file
    argTypes:
    - '&ScalarOps'
    - 'unsafe extern "C" fn(r: *mut Limb, a: *const Limb, rep: LeakyWord)'
    - test::File
    constantsTouched: []
    func_position:
      end: 957
      start: 924
    functionDepth: 14
    functionLinenumber: 924
    functionLinenumberEnd: 957
    functionName: tests::scalar_square_test
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - sqr_rep
    - assert_limbs_are_equal
    - as_mut_ptr
    - cpu::features
    - scalar_modulus
    - as_ptr
    - consume_scalar
    - '&ScalarOps::scalar_product'
    - test::run
    - Ok
    linkageType: ''
    returnType: void
    signature: 'fn scalar_square_test(ops: &ScalarOps,sqr_rep: unsafe extern "C" fn(r:
      *mut Limb, a: *const Limb, rep: LeakyWord),test_file: test::File,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: scalar_inv_to_mont
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:962,1
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:962,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 963
      start: 961
    functionDepth: 14
    functionLinenumber: 961
    functionLinenumberEnd: 963
    functionName: tests::p256_scalar_inv_to_mont_zero_panic_test
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - scalar_inv_to_mont
    - cpu::features
    linkageType: ''
    returnType: void
    signature: fn p256_scalar_inv_to_mont_zero_panic_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: scalar_inv_to_mont
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:968,1
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 969
      start: 967
    functionDepth: 14
    functionLinenumber: 967
    functionLinenumberEnd: 969
    functionName: tests::p384_scalar_inv_to_mont_zero_panic_test
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - scalar_inv_to_mont
    - cpu::features
    linkageType: ''
    returnType: void
    signature: fn p384_scalar_inv_to_mont_zero_panic_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: point_sum_test
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:973,1
    - Dst: test_vector_file
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 977
      start: 972
    functionDepth: 1
    functionLinenumber: 972
    functionLinenumberEnd: 977
    functionName: tests::p256_point_sum_test
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - point_sum_test
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: fn p256_point_sum_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: point_sum_test
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:981,1
    - Dst: test_vector_file
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:983,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 985
      start: 980
    functionDepth: 2
    functionLinenumber: 980
    functionLinenumberEnd: 985
    functionName: tests::p384_point_sum_test
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - point_sum_test
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: fn p384_point_sum_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:988,1
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:990,1
    - Dst: consume_jacobian_point
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:993,1
    - Dst: consume_jacobian_point
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:994,1
    - Dst: consume_point
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:995,1
    - Dst: '&PrivateKeyOps::point_sum'
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:997,1
    - Dst: assert_point_actual_equals_expected
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:998,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1000,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 2
    argNames:
    - ops
    - test_file
    argTypes:
    - '&PrivateKeyOps'
    - test::File
    constantsTouched: []
    func_position:
      end: 1002
      start: 987
    functionDepth: 14
    functionLinenumber: 987
    functionLinenumberEnd: 1002
    functionName: tests::point_sum_test
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - consume_jacobian_point
    - cpu::features
    - consume_point
    - '&PrivateKeyOps::point_sum'
    - assert_point_actual_equals_expected
    - test::run
    - Ok
    linkageType: ''
    returnType: void
    signature: 'fn point_sum_test(ops: &PrivateKeyOps, test_file: test::File)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: point_sum_mixed_test
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1013,1
    - Dst: test_vector_file
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1005
    functionDepth: 1
    functionLinenumber: 1005
    functionLinenumberEnd: 1018
    functionName: tests::p256_point_sum_mixed_test
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - point_sum_mixed_test
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: fn p256_point_sum_mixed_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1031,1
    - Dst: consume_jacobian_point
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1034,1
    - Dst: consume_affine_point
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1035,1
    - Dst: consume_point
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1036,1
    - Dst: Point::new_at_infinity
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1038,1
    - Dst: point_add_affine
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1040,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1040,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1040,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1040,1
    - Dst: assert_point_actual_equals_expected
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1043,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1045,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 3
    argNames:
    - ops
    - point_add_affine
    - test_file
    argTypes:
    - '&PrivateKeyOps'
    - "unsafe extern \"C\" fn(\n            r: *mut Limb,   // [ops.num_limbs*3]\n\
      \            a: *const Limb, // [ops.num_limbs*3]\n            b: *const Limb,\
      \ // [ops.num_limbs*2]\n        )"
    - test::File
    constantsTouched: []
    func_position:
      end: 1047
      start: 1022
    functionDepth: 12
    functionLinenumber: 1022
    functionLinenumberEnd: 1047
    functionName: tests::point_sum_mixed_test
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - consume_jacobian_point
    - as_mut_ptr
    - consume_affine_point
    - as_ptr
    - Point::new_at_infinity
    - consume_point
    - point_add_affine
    - assert_point_actual_equals_expected
    - test::run
    - Ok
    linkageType: ''
    returnType: void
    signature: 'fn point_sum_mixed_test(ops: &PrivateKeyOps,point_add_affine: unsafe
      extern "C" fn(r: *mut Limb,   // [ops.num_limbs*3]a: *const Limb, // [ops.num_limbs*3]b:
      *const Limb, // [ops.num_limbs*2]),test_file: test::File,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: point_double_test
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1057,1
    - Dst: test_vector_file
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1060,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1050
    functionDepth: 1
    functionLinenumber: 1050
    functionLinenumberEnd: 1062
    functionName: tests::p256_point_double_test
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - point_double_test
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: fn p256_point_double_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: point_double_test
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1072,1
    - Dst: test_vector_file
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1075,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 1065
    functionDepth: 2
    functionLinenumber: 1065
    functionLinenumberEnd: 1077
    functionName: tests::p384_point_double_test
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - point_double_test
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: fn p384_point_double_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1087,1
    - Dst: consume_jacobian_point
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1090,1
    - Dst: consume_point
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1091,1
    - Dst: Point::new_at_infinity
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1093,1
    - Dst: point_double
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1095,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1095,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1095,1
    - Dst: assert_point_actual_equals_expected
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1098,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 3
    argNames:
    - ops
    - point_double
    - test_file
    argTypes:
    - '&PrivateKeyOps'
    - "unsafe extern \"C\" fn(\n            r: *mut Limb,   // [ops.num_limbs*3]\n\
      \            a: *const Limb, // [ops.num_limbs*3]\n        )"
    - test::File
    constantsTouched: []
    func_position:
      end: 1102
      start: 1079
    functionDepth: 12
    functionLinenumber: 1079
    functionLinenumberEnd: 1102
    functionName: tests::point_double_test
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - consume_jacobian_point
    - as_mut_ptr
    - as_ptr
    - Point::new_at_infinity
    - consume_point
    - assert_point_actual_equals_expected
    - test::run
    - Ok
    - point_double
    linkageType: ''
    returnType: void
    signature: 'fn point_double_test(ops: &PrivateKeyOps,point_double: unsafe extern
      "C" fn(r: *mut Limb,   // [ops.num_limbs*3]a: *const Limb, // [ops.num_limbs*3]),test_file:
      test::File,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Elem::from
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1108,1
    - Dst: Elem::from
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1109,1
    - Dst: point_mul_base_tests
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1111,1
    - Dst: point_mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1113,1
    - Dst: test_vector_file
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1106
    functionDepth: 15
    functionLinenumber: 1106
    functionLinenumberEnd: 1116
    functionName: tests::p256_point_mul_test
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - Elem::from
    - test_vector_file
    - point_mul_base_tests
    - point_mul
    linkageType: ''
    returnType: void
    signature: fn p256_point_mul_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Elem::from
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1122,1
    - Dst: Elem::from
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1123,1
    - Dst: point_mul_base_tests
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1126,1
    - Dst: point_mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1128,1
    - Dst: test_vector_file
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1120
    functionDepth: 15
    functionLinenumber: 1120
    functionLinenumberEnd: 1131
    functionName: tests::p384_point_mul_test
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - Elem::from
    - test_vector_file
    - point_mul_base_tests
    - point_mul
    linkageType: ''
    returnType: void
    signature: fn p384_point_mul_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: point_mul_serialized_test
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1135,1
    - Dst: test_vector_file
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1134
    functionDepth: 1
    functionLinenumber: 1134
    functionLinenumberEnd: 1140
    functionName: tests::p256_point_mul_serialized_test
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - point_mul_serialized_test
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: fn p256_point_mul_serialized_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1147,1
    - Dst: elem_modulus
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1149,1
    - Dst: scalar_modulus
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1150,1
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1151,1
    - Dst: consume_scalar
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1153,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1155,1
    - Dst: super::super::public_key::parse_uncompressed_point
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1156,1
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1159,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1156,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1163,1
    - Dst: '&PrivateKeyOps::point_mul'
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1165,1
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1165,1
    - Dst: split_at_mut
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1169,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1169,1
    - Dst: super::super::private_key::big_endian_affine_from_jacobian
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1170,1
    - Dst: Some
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1174,1
    - Dst: Result::expect
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1170,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 42
    argCount: 3
    argNames:
    - priv_ops
    - pub_ops
    - test_file
    argTypes:
    - '&PrivateKeyOps'
    - '&PublicKeyOps'
    - test::File
    constantsTouched: []
    func_position:
      end: 1184
      start: 1142
    functionDepth: 14
    functionLinenumber: 1142
    functionLinenumberEnd: 1184
    functionName: tests::point_mul_serialized_test
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - super::super::public_key::parse_uncompressed_point
    - elem_modulus
    - super::super::private_key::big_endian_affine_from_jacobian
    - split_at_mut
    - cpu::features
    - scalar_modulus
    - untrusted::Input::from
    - consume_scalar
    - len
    - '&PrivateKeyOps::point_mul'
    - Option::consume_bytes
    - Result::expect
    - test::run
    - Ok
    - Some
    linkageType: ''
    returnType: void
    signature: 'fn point_mul_serialized_test(priv_ops: &PrivateKeyOps,pub_ops: &PublicKeyOps,test_file:
      test::File,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: point_mul_base_tests
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1188,1
    - Dst: point_mul_base
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1190,1
    - Dst: test_vector_file
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1187
    functionDepth: 15
    functionLinenumber: 1187
    functionLinenumberEnd: 1193
    functionName: tests::p256_point_mul_base_test
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - point_mul_base
    - point_mul_base_tests
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: fn p256_point_mul_base_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: point_mul_base_tests
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1197,1
    - Dst: point_mul_base
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1199,1
    - Dst: test_vector_file
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1196
    functionDepth: 15
    functionLinenumber: 1196
    functionLinenumberEnd: 1202
    functionName: tests::p384_point_mul_base_test
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - point_mul_base
    - point_mul_base_tests
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: fn p384_point_mul_base_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1209,1
    - Dst: scalar_modulus
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1210,1
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1211,1
    - Dst: consume_scalar
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1213,1
    - Dst: consume_point
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1214,1
    - Dst: assert_point_actual_equals_expected
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1216,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 3
    argNames:
    - ops
    - f
    - test_file
    argTypes:
    - '&PrivateKeyOps'
    - impl Fn(&Scalar, cpu::Features) -> Point
    - test::File
    constantsTouched: []
    func_position:
      end: 1219
      start: 1204
    functionDepth: 14
    functionLinenumber: 1204
    functionLinenumberEnd: 1219
    functionName: tests::point_mul_base_tests
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - cpu::features
    - scalar_modulus
    - consume_scalar
    - consume_point
    - assert_point_actual_equals_expected
    - test::run
    - Ok
    linkageType: ''
    returnType: void
    signature: 'pub(super) fn point_mul_base_tests(ops: &PrivateKeyOps,f: impl Fn(&Scalar,
      cpu::Features) -> Point,test_file: test::File,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1228,1
    - Dst: elem_modulus
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1231,1
    - Dst: bool::point_x
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1232,1
    - Dst: bool::point_y
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1233,1
    - Dst: bool::point_z
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1234,1
    - Dst: Elem::zero
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1237,1
    - Dst: assert_elems_are_equal
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1238,1
    - Dst: '&PrivateKeyOps::elem_inverse_squared'
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1241,1
    - Dst: bool::elem_product
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1242,1
    - Dst: bool::elem_squared
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1244,1
    - Dst: bool::elem_product
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1245,1
    - Dst: bool::elem_product
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1246,1
    - Dst: Elem::convert
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1249,1
    - Dst: convert
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1250,1
    - Dst: assert_elems_are_equal
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1252,1
    - Dst: assert_elems_are_equal
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 44
    argCount: 3
    argNames:
    - ops
    - actual_point
    - expected_point
    argTypes:
    - '&PrivateKeyOps'
    - '&Point'
    - '&TestPoint<E>'
    constantsTouched: []
    func_position:
      end: 1256
      start: 1221
    functionDepth: 14
    functionLinenumber: 1221
    functionLinenumberEnd: 1256
    functionName: tests::assert_point_actual_equals_expected
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - bool::point_y
    - elem_modulus
    - convert
    - bool::point_z
    - Elem::convert
    - cpu::features
    - bool::elem_product
    - bool::elem_squared
    - '&PrivateKeyOps::elem_inverse_squared'
    - bool::point_x
    - Elem::zero
    - assert_elems_are_equal
    linkageType: ''
    returnType: void
    signature: 'fn assert_point_actual_equals_expected<E: Encoding>(ops: &PrivateKeyOps,actual_point:
      &Point,expected_point: &TestPoint<E>,) whereElem<R>: Convert<E>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_modulus
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1263,1
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1263,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1264,1
    - Dst: split
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1265,1
    - Dst: split(", ").collect::<Vec<&str>>
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1265,1
    - Dst: Point::new_at_infinity
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1267,1
    - Dst: consume_point_elem
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1268,1
    - Dst: consume_point_elem
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1269,1
    - Dst: consume_point_elem
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 3
    argNames:
    - ops
    - test_case
    - name
    argTypes:
    - '&PrivateKeyOps'
    - '&mut test::TestCase'
    - '&str'
    constantsTouched: []
    func_position:
      end: 1272
      start: 1258
    functionDepth: 14
    functionLinenumber: 1258
    functionLinenumberEnd: 1272
    functionName: tests::consume_jacobian_point
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - elem_modulus
    - Option::consume_string
    - split(", ").collect::<Vec<&str>>
    - cpu::features
    - Point::new_at_infinity
    - split
    - consume_point_elem
    linkageType: ''
    returnType: Point
    signature: 'fn consume_jacobian_point(ops: &PrivateKeyOps,test_case: &mut test::TestCase,name:
      &str,) -> Point'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_modulus
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1283,1
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1283,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1284,1
    - Dst: split
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1285,1
    - Dst: split(", ").collect::<Vec<&str>>
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1285,1
    - Dst: consume_point_elem
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1290,1
    - Dst: consume_point_elem
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 3
    argNames:
    - ops
    - test_case
    - name
    argTypes:
    - '&PrivateKeyOps'
    - '&mut test::TestCase'
    - '&str'
    constantsTouched: []
    func_position:
      end: 1293
      start: 1278
    functionDepth: 14
    functionLinenumber: 1278
    functionLinenumberEnd: 1293
    functionName: tests::consume_affine_point
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - elem_modulus
    - Option::consume_string
    - split(", ").collect::<Vec<&str>>
    - cpu::features
    - split
    - consume_point_elem
    linkageType: ''
    returnType: AffinePoint
    signature: 'fn consume_affine_point(ops: &PrivateKeyOps,test_case: &mut test::TestCase,name:
      &str,) -> AffinePoint'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1296,1
    - Dst: test::from_hex
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1297,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1297,1
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1298,1
    - Dst: elem_parse_big_endian_fixed_consttime
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1299,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1299,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 4
    argNames:
    - q
    - limbs_out
    - elems
    - i
    argTypes:
    - '&Modulus<Q>'
    - '&mut [Limb]'
    - '&[&str]'
    - usize
    constantsTouched: []
    func_position:
      end: 1302
      start: 1295
    functionDepth: 10
    functionLinenumber: 1295
    functionLinenumberEnd: 1302
    functionName: tests::consume_point_elem
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - into
    - elem_parse_big_endian_fixed_consttime
    - untrusted::Input::from
    - Result::unwrap
    - copy_from_slice
    - test::from_hex
    linkageType: ''
    returnType: void
    signature: 'fn consume_point_elem(q: &Modulus<Q>, limbs_out: &mut [Limb], elems:
      &[&str], i: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::from_hex
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1316,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1316,1
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1317,1
    - Dst: elem_parse_big_endian_fixed_consttime
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1319,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - q
    - elems
    - i
    argTypes:
    - '&Modulus<Q>'
    - '&[&str]'
    - usize
    constantsTouched: []
    func_position:
      end: 1326
      start: 1315
    functionDepth: 10
    functionLinenumber: 1315
    functionLinenumberEnd: 1326
    functionName: t::e::s::t::s::::::::c::o::n::s::u::m::e::_::p::o::i::n::t::consume_point_elem
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - untrusted::Input::from
    - test::from_hex
    - elem_parse_big_endian_fixed_consttime
    linkageType: ''
    returnType: Elem
    signature: 'fn consume_point_elem<E: Encoding>(q: &Modulus<Q>, elems: &[&str],
      i: usize) -> Elem<E>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_modulus
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1314,1
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1314,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1328,1
    - Dst: split
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1332,1
    - Dst: split(", ").collect::<Vec<&str>>
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1332,1
    - Dst: consume_point_elem
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1334,1
    - Dst: consume_point_elem
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1335,1
    - Dst: TestPoint::Affine
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 3
    argNames:
    - ops
    - test_case
    - name
    argTypes:
    - '&PrivateKeyOps'
    - '&mut test::TestCase'
    - '&str'
    constantsTouched: []
    func_position:
      end: 1337
      start: 1309
    functionDepth: 14
    functionLinenumber: 1309
    functionLinenumberEnd: 1337
    functionName: tests::consume_point
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - elem_modulus
    - Option::consume_string
    - split(", ").collect::<Vec<&str>>
    - cpu::features
    - TestPoint::Affine
    - split
    - consume_point_elem
    linkageType: ''
    returnType: TestPoint
    signature: 'fn consume_point<E: Encoding>(ops: &PrivateKeyOps,test_case: &mut
      test::TestCase,name: &str,) -> TestPoint<E>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_limbs_are_equal
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - q
    - a
    - b
    argTypes:
    - '&Modulus<Q>'
    - '&Elem<E>'
    - '&Elem<E>'
    constantsTouched: []
    func_position:
      end: 1341
      start: 1339
    functionDepth: 5
    functionLinenumber: 1339
    functionLinenumberEnd: 1341
    functionName: tests::assert_elems_are_equal
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - assert_limbs_are_equal
    linkageType: ''
    returnType: void
    signature: 'fn assert_elems_are_equal<E: Encoding>(q: &Modulus<Q>, a: &Elem<E>,
      b: &Elem<E>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1348,1
    - Dst: alloc::string::String::new
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1350,1
    - Dst: alloc::string::String::new
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1351,1
    - Dst: Self::push_str
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1355,1
    - Dst: Self::push_str
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1357,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 3
    argNames:
    - ops
    - actual
    - expected
    argTypes:
    - '&CommonOps'
    - '&[Limb; elem::NumLimbs::MAX]'
    - '&[Limb; elem::NumLimbs::MAX]'
    constantsTouched: []
    func_position:
      end: 1364
      start: 1343
    functionDepth: 4
    functionLinenumber: 1343
    functionLinenumberEnd: 1364
    functionName: tests::assert_limbs_are_equal
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - into
    - alloc::string::String::new
    - Self::push_str
    linkageType: ''
    returnType: void
    signature: 'fn assert_limbs_are_equal(ops: &CommonOps,actual: &[Limb; elem::NumLimbs::MAX],expected:
      &[Limb; elem::NumLimbs::MAX],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1382,1
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1383,1
    - Dst: scalar_parse_big_endian_variable
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1384,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - n
    - test_case
    - name
    argTypes:
    - '&Modulus<N>'
    - '&mut test::TestCase'
    - '&str'
    constantsTouched: []
    func_position:
      end: 1385
      start: 1381
    functionDepth: 8
    functionLinenumber: 1381
    functionLinenumberEnd: 1385
    functionName: tests::consume_scalar
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - Option::consume_bytes
    - scalar_parse_big_endian_variable
    - untrusted::Input::from
    linkageType: ''
    returnType: Scalar
    signature: 'fn consume_scalar(n: &Modulus<N>, test_case: &mut test::TestCase,
      name: &str) -> Scalar'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1392,1
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1393,1
    - Dst: scalar_parse_big_endian_variable
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1394,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs:1394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - n
    - test_case
    - name
    argTypes:
    - '&Modulus<N>'
    - '&mut test::TestCase'
    - '&str'
    constantsTouched: []
    func_position:
      end: 1401
      start: 1387
    functionDepth: 8
    functionLinenumber: 1387
    functionLinenumberEnd: 1401
    functionName: tests::consume_scalar_mont
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - Option::consume_bytes
    - scalar_parse_big_endian_variable
    - untrusted::Input::from
    linkageType: ''
    returnType: Scalar
    signature: 'fn consume_scalar_mont(n: &Modulus<N>,test_case: &mut test::TestCase,name:
      &str,) -> Scalar<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs:28,1
    - Dst: generate_private_scalar_bytes
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs:29,1
    - Dst: cpu
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs:29,1
    - Dst: scalar_from_big_endian_bytes
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - ops
    - n
    - rng
    argTypes:
    - '&PrivateKeyOps'
    - '&Modulus<N>'
    - '&dyn rand::SecureRandom'
    constantsTouched: []
    func_position:
      end: 31
      start: 22
    functionDepth: 13
    functionLinenumber: 22
    functionLinenumberEnd: 31
    functionName: random_scalar
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs
    functionUses: 1
    functionsReached:
    - cpu
    - generate_private_scalar_bytes
    - len
    - scalar_from_big_endian_bytes
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn random_scalar(ops: &PrivateKeyOps,n: &Modulus<N>,rng:
      &dyn rand::SecureRandom,) -> Result<Scalar, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&dyn rand::SecureRandom::fill'
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs:68,1
    - Dst: check_scalar_big_endian_bytes
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs:71,1
    - Dst: Result::is_err
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs:71,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs:78,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - ops
    - rng
    - out
    - cpu
    argTypes:
    - '&PrivateKeyOps'
    - '&dyn rand::SecureRandom'
    - '&mut [u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 82
      start: 33
    functionDepth: 12
    functionLinenumber: 33
    functionLinenumberEnd: 82
    functionName: generate_private_scalar_bytes
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs
    functionUses: 2
    functionsReached:
    - Result::is_err
    - Err
    - '&dyn rand::SecureRandom::fill'
    - check_scalar_big_endian_bytes
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn generate_private_scalar_bytes(ops: &PrivateKeyOps,rng:
      &dyn rand::SecureRandom,out: &mut [u8],cpu: cpu::Features,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: scalar_from_big_endian_bytes
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs:91,1
    - Dst: Option::bytes_less_safe
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs:91,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - n
    - private_key
    argTypes:
    - '&Modulus<N>'
    - '&ec::Seed'
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 11
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: private_key_as_scalar
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs
    functionUses: 3
    functionsReached:
    - Result::unwrap
    - scalar_from_big_endian_bytes
    - Option::bytes_less_safe
    linkageType: ''
    returnType: Scalar
    signature: 'pub(super) fn private_key_as_scalar(n: &Modulus<N>, private_key: &ec::Seed)
      -> Scalar'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: scalar_modulus
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs:100,1
    - Dst: scalar_from_big_endian_bytes
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs:101,1
    - Dst: Result::map
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - ops
    - bytes
    - cpu
    argTypes:
    - '&PrivateKeyOps'
    - '&[u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 11
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: check_scalar_big_endian_bytes
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs
    functionUses: 2
    functionsReached:
    - scalar_modulus
    - scalar_from_big_endian_bytes
    - Result::map
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn check_scalar_big_endian_bytes(ops: &PrivateKeyOps,bytes:
      &[u8],cpu: cpu::Features,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: scalar_parse_big_endian_fixed_consttime
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs:128,1
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - bytes
    argTypes:
    - '&Modulus<N>'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 129
      start: 109
    functionDepth: 10
    functionLinenumber: 109
    functionLinenumberEnd: 129
    functionName: scalar_from_big_endian_bytes
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs
    functionUses: 3
    functionsReached:
    - untrusted::Input::from
    - scalar_parse_big_endian_fixed_consttime
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn scalar_from_big_endian_bytes(n: &Modulus<N>,bytes: &[u8],)
      -> Result<Scalar, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_modulus
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs:137,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs:138,1
    - Dst: scalar_modulus
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs:140,1
    - Dst: private_key_as_scalar
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs:141,1
    - Dst: '&PrivateKeyOps::point_mul_base'
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs:142,1
    - Dst: split_at_mut
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs:144,1
    - Dst: big_endian_affine_from_jacobian
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs:148,1
    - Dst: Some
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 4
    argNames:
    - ops
    - public_out
    - my_private_key
    - cpu
    argTypes:
    - '&PrivateKeyOps'
    - '&mut [u8]'
    - '&ec::Seed'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 149
      start: 131
    functionDepth: 15
    functionLinenumber: 131
    functionLinenumberEnd: 149
    functionName: public_from_private
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs
    functionUses: 2
    functionsReached:
    - elem_modulus
    - '&PrivateKeyOps::point_mul_base'
    - split_at_mut
    - private_key_as_scalar
    - scalar_modulus
    - len
    - big_endian_affine_from_jacobian
    - Some
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn public_from_private(ops: &PrivateKeyOps,public_out:
      &mut [u8],my_private_key: &ec::Seed,cpu: cpu::Features,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::point_z
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs:156,1
    - Dst: bool::point_x
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs:164,1
    - Dst: bool::point_y
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs:165,1
    - Dst: '&PrivateKeyOps::elem_inverse_squared'
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs:167,1
    - Dst: bool::elem_product
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs:169,1
    - Dst: bool::elem_squared
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs:174,1
    - Dst: bool::elem_product
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs:175,1
    - Dst: bool::elem_product
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs:176,1
    - Dst: super::verify_affine_point_is_on_the_curve
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs:182,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 3
    argNames:
    - ops
    - q
    - p
    argTypes:
    - '&PrivateKeyOps'
    - '&Modulus<Q>'
    - '&Point'
    constantsTouched: []
    func_position:
      end: 185
      start: 151
    functionDepth: 13
    functionLinenumber: 151
    functionLinenumberEnd: 185
    functionName: affine_from_jacobian
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs
    functionUses: 5
    functionsReached:
    - bool::point_y
    - super::verify_affine_point_is_on_the_curve
    - bool::point_z
    - bool::elem_product
    - bool::elem_squared
    - '&PrivateKeyOps::elem_inverse_squared'
    - bool::point_x
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn affine_from_jacobian(ops: &PrivateKeyOps,q: &Modulus<Q>,p:
      &Point,) -> Result<(Elem<R>, Elem<R>), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: affine_from_jacobian
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs:194,1
    - Dst: bool::elem_unencoded
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs:195,1
    - Dst: limb::big_endian_from_limbs
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs:196,1
    - Dst: '&PrivateKeyOps::leak_limbs'
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs:196,1
    - Dst: bool::elem_unencoded
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs:198,1
    - Dst: limb::big_endian_from_limbs
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs:199,1
    - Dst: '&PrivateKeyOps::leak_limbs'
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs:199,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 5
    argNames:
    - ops
    - q
    - x_out
    - y_out
    - p
    argTypes:
    - '&PrivateKeyOps'
    - '&Modulus<Q>'
    - '&mut [u8]'
    - Option<&mut [u8]>
    - '&Point'
    constantsTouched: []
    func_position:
      end: 203
      start: 187
    functionDepth: 14
    functionLinenumber: 187
    functionLinenumberEnd: 203
    functionName: big_endian_affine_from_jacobian
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs
    functionUses: 3
    functionsReached:
    - '&PrivateKeyOps::leak_limbs'
    - Ok
    - limb::big_endian_from_limbs
    - affine_from_jacobian
    - bool::elem_unencoded
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn big_endian_affine_from_jacobian(ops: &PrivateKeyOps,q:
      &Modulus<Q>,x_out: &mut [u8],y_out: Option<&mut [u8]>,p: &Point,) -> Result<(),
      error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_all
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/public_key.rs:38,1
    - Dst: read_byte
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/public_key.rs:40,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/public_key.rs:42,1
    - Dst: '&PublicKeyOps::elem_parse'
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/public_key.rs:47,1
    - Dst: '&PublicKeyOps::elem_parse'
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/public_key.rs:48,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/public_key.rs:49,1
    - Dst: super::verify_affine_point_is_on_the_curve
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/public_key.rs:55,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/public_key.rs:65,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - ops
    - q
    - input
    argTypes:
    - '&PublicKeyOps'
    - '&Modulus<Q>'
    - untrusted::Input
    constantsTouched: []
    func_position:
      end: 66
      start: 29
    functionDepth: 15
    functionLinenumber: 29
    functionLinenumberEnd: 66
    functionName: parse_uncompressed_point
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/public_key.rs
    functionUses: 4
    functionsReached:
    - super::verify_affine_point_is_on_the_curve
    - '&PublicKeyOps::elem_parse'
    - read_all
    - read_byte
    - Err
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn parse_uncompressed_point(ops: &PublicKeyOps,q: &Modulus<Q>,input:
      untrusted::Input,) -> Result<(Elem<R>, Elem<R>), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/public_key.rs:76,1
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/public_key.rs:77,1
    - Dst: test_vector_file
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/public_key.rs:78,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/public_key.rs:82,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/public_key.rs:84,1
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/public_key.rs:85,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/public_key.rs:86,1
    - Dst: public_key_ops_from_curve_name
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/public_key.rs:88,1
    - Dst: elem_modulus
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/public_key.rs:89,1
    - Dst: parse_uncompressed_point
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/public_key.rs:91,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/public_key.rs:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 75
    functionDepth: 14
    functionLinenumber: 75
    functionLinenumberEnd: 100
    functionName: tests::parse_uncompressed_point_test
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/public_key.rs
    functionUses: 0
    functionsReached:
    - elem_modulus
    - Option::consume_string
    - parse_uncompressed_point
    - cpu::features
    - untrusted::Input::from
    - test_vector_file
    - Option::consume_bytes
    - test::run
    - Ok
    - public_key_ops_from_curve_name
    linkageType: ''
    returnType: void
    signature: fn parse_uncompressed_point_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - curve_name
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 110
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 110
    functionName: tests::public_key_ops_from_curve_name
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/public_key.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''static PublicKeyOps'
    signature: 'fn public_key_ops_from_curve_name(curve_name: &str) -> &''static PublicKeyOps'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ec::suite_b::private_key::check_scalar_big_endian_bytes
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/curve.rs:29,1
    - Dst: ec::suite_b::private_key::generate_private_scalar_bytes
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/curve.rs:37,1
    - Dst: ec::suite_b::private_key::public_from_private
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/curve.rs:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 73
    functionName: suite_b_curve
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/curve.rs
    functionUses: 0
    functionsReached:
    - ec::suite_b::private_key::generate_private_scalar_bytes
    - ec::suite_b::private_key::check_scalar_big_endian_bytes
    - ec::suite_b::private_key::public_from_private
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_sqr_mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:61,1
    - Dst: bool::cpu
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - q
    - a
    - squarings
    - b
    argTypes:
    - '&Modulus<Q>'
    - '&Elem<R>'
    - LeakyWord
    - '&Elem<R>'
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 14
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: p::2::5::6::_::e::l::e::m::_::i::n::v::_::s::q::u::a::r::e::d::sqr_mul
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs
    functionUses: 0
    functionsReached:
    - bool::cpu
    - elem_sqr_mul
    linkageType: ''
    returnType: Elem
    signature: 'fn sqr_mul(q: &Modulus<Q>, a: &Elem<R>, squarings: LeakyWord, b: &Elem<R>)
      -> Elem<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::elem_sqr_mul_acc
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:66,1
    - Dst: bool::cpu
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - q
    - a
    - squarings
    - b
    argTypes:
    - '&Modulus<Q>'
    - '&mut Elem<R>'
    - LeakyWord
    - '&Elem<R>'
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 14
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: p::2::5::6::_::e::l::e::m::_::i::n::v::_::s::q::u::a::r::e::d::sqr_mul_acc
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs
    functionUses: 0
    functionsReached:
    - super::elem_sqr_mul_acc
    - bool::cpu
    linkageType: ''
    returnType: void
    signature: 'fn sqr_mul_acc(q: &Modulus<Q>, a: &mut Elem<R>, squarings: LeakyWord,
      b: &Elem<R>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqr_mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:70,1
    - Dst: sqr_mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:71,1
    - Dst: sqr_mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:72,1
    - Dst: sqr_mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:73,1
    - Dst: sqr_mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:74,1
    - Dst: sqr_mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:75,1
    - Dst: sqr_mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:76,1
    - Dst: sqr_mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:79,1
    - Dst: sqr_mul_acc
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:82,1
    - Dst: sqr_mul_acc
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:85,1
    - Dst: sqr_mul_acc
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:88,1
    - Dst: bool::elem_square
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:91,1
    - Dst: bool::elem_square
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 51
    argCount: 2
    argNames:
    - q
    - a
    argTypes:
    - '&Modulus<Q>'
    - '&Elem<R>'
    constantsTouched: []
    func_position:
      end: 95
      start: 52
    functionDepth: 14
    functionLinenumber: 52
    functionLinenumberEnd: 95
    functionName: p256_elem_inv_squared
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs
    functionUses: 0
    functionsReached:
    - sqr_mul
    - bool::elem_square
    - sqr_mul_acc
    linkageType: ''
    returnType: Elem
    signature: 'fn p256_elem_inv_squared(q: &Modulus<Q>, a: &Elem<R>) -> Elem<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Point::new_at_infinity
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:105,1
    - Dst: p256_point_mul_base
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:107,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:107,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - g_scalar
    - _cpu
    argTypes:
    - '&Scalar'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 110
      start: 97
    functionDepth: 4
    functionLinenumber: 97
    functionLinenumberEnd: 110
    functionName: p256_point_mul_base_impl
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    - Point::new_at_infinity
    - p256_point_mul_base
    - as_mut_ptr
    linkageType: ''
    returnType: Point
    signature: 'fn p256_point_mul_base_impl(g_scalar: &Scalar, _cpu: cpu::Features)
      -> Point'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: point_mul_base_vartime
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:155,1
    - Dst: point_mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:156,1
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:156,1
    - Dst: point_sum
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - g_scalar
    - p_scalar
    - p_xy
    - cpu
    argTypes:
    - '&Scalar'
    - '&Scalar'
    - '&(Elem<R>, Elem<R>)'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 158
      start: 149
    functionDepth: 14
    functionLinenumber: 149
    functionLinenumberEnd: 158
    functionName: twin_mul_nistz256
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs
    functionUses: 0
    functionsReached:
    - point_mul_base_vartime
    - point_sum
    - cpu::features
    - point_mul
    linkageType: ''
    returnType: Point
    signature: 'fn twin_mul_nistz256(g_scalar: &Scalar,p_scalar: &Scalar,p_xy: &(Elem<R>,
      Elem<R>),cpu: cpu::Features,) -> Point'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Point::new_at_infinity
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:170,1
    - Dst: p256_point_mul_base_vartime
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:172,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:172,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - g_scalar
    - _cpu
    argTypes:
    - '&Scalar'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 175
      start: 164
    functionDepth: 4
    functionLinenumber: 164
    functionLinenumberEnd: 175
    functionName: point_mul_base_vartime
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs
    functionUses: 2
    functionsReached:
    - as_ptr
    - Point::new_at_infinity
    - p256_point_mul_base_vartime
    - as_mut_ptr
    linkageType: ''
    returnType: Point
    signature: 'fn point_mul_base_vartime(g_scalar: &Scalar, _cpu: cpu::Features)
      -> Point'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: 'super::

        elem::binary_op'
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - '&Scalar<R>'
    - '&Scalar<R>'
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: p::2::5::6::_::s::c::a::l::a::r::_::i::n::v::_::t::o::_::m::o::n::t::mul
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs
    functionUses: 0
    functionsReached:
    - 'super::

      elem::binary_op'
    linkageType: ''
    returnType: Scalar
    signature: 'fn mul(a: &Scalar<R>, b: &Scalar<R>) -> Scalar<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Scalar::zero
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:204,1
    - Dst: p256_scalar_sqr_rep_mont
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:205,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:205,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - a
    argTypes:
    - '&Scalar<R>'
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: p::2::5::6::_::s::c::a::l::a::r::_::i::n::v::_::t::o::_::m::o::n::t::sqr
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    - as_mut_ptr
    - p256_scalar_sqr_rep_mont
    - Scalar::zero
    linkageType: ''
    returnType: Scalar
    signature: 'fn sqr(a: &Scalar<R>) -> Scalar<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Scalar::zero
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:212,1
    - Dst: p256_scalar_sqr_rep_mont
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:213,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:213,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:213,1
    - Dst: mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - a
    - squarings
    - b
    argTypes:
    - '&Scalar<R>'
    - LeakyWord
    - '&Scalar<R>'
    constantsTouched: []
    func_position:
      end: 215
      start: 210
    functionDepth: 4
    functionLinenumber: 210
    functionLinenumberEnd: 215
    functionName: p::2::5::6::_::s::c::a::l::a::r::_::i::n::v::_::t::o::_::m::o::n::t::sqr_mul
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs
    functionUses: 0
    functionsReached:
    - as_mut_ptr
    - p256_scalar_sqr_rep_mont
    - mul
    - as_ptr
    - Scalar::zero
    linkageType: ''
    returnType: Scalar
    signature: 'fn sqr_mul(a: &Scalar<R>, squarings: LeakyWord, b: &Scalar<R>) ->
      Scalar<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p256_scalar_sqr_rep_mont
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:220,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:220,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:220,1
    - Dst: 'super::

        elem::binary_op_assign'
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - acc
    - squarings
    - b
    argTypes:
    - '&mut Scalar<R>'
    - LeakyWord
    - '&Scalar<R>'
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: p::2::5::6::_::s::c::a::l::a::r::_::i::n::v::_::t::o::_::m::o::n::t::sqr_mul_acc
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    - as_mut_ptr
    - p256_scalar_sqr_rep_mont
    - 'super::

      elem::binary_op_assign'
    linkageType: ''
    returnType: void
    signature: 'fn sqr_mul_acc(acc: &mut Scalar<R>, squarings: LeakyWord, b: &Scalar<R>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:226,1
    - Dst: sqr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:227,1
    - Dst: mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:228,1
    - Dst: mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:229,1
    - Dst: sqr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:231,1
    - Dst: sqr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:232,1
    - Dst: sqr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:233,1
    - Dst: mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:235,1
    - Dst: mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:236,1
    - Dst: mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:237,1
    - Dst: mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:238,1
    - Dst: sqr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:239,1
    - Dst: mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:240,1
    - Dst: mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:241,1
    - Dst: mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:242,1
    - Dst: mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:243,1
    - Dst: mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:244,1
    - Dst: mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:246,1
    - Dst: sqr_mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:247,1
    - Dst: sqr_mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:248,1
    - Dst: sqr_mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:251,1
    - Dst: sqr_mul_acc
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:254,1
    - Dst: sqr_mul_acc
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:261,1
    - Dst: sqr_mul_acc
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:262,1
    - Dst: sqr_mul_acc
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:263,1
    - Dst: sqr_mul_acc
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:264,1
    - Dst: sqr_mul_acc
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:265,1
    - Dst: sqr_mul_acc
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:266,1
    - Dst: sqr_mul_acc
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:267,1
    - Dst: sqr_mul_acc
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:268,1
    - Dst: sqr_mul_acc
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:269,1
    - Dst: sqr_mul_acc
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:270,1
    - Dst: sqr_mul_acc
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:271,1
    - Dst: sqr_mul_acc
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:272,1
    - Dst: sqr_mul_acc
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:273,1
    - Dst: sqr_mul_acc
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:274,1
    - Dst: sqr_mul_acc
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:275,1
    - Dst: sqr_mul_acc
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:276,1
    - Dst: sqr_mul_acc
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:277,1
    - Dst: sqr_mul_acc
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:278,1
    - Dst: sqr_mul_acc
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 188
    argCount: 2
    argNames:
    - a
    - _cpu
    argTypes:
    - Scalar<R>
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 282
      start: 187
    functionDepth: 14
    functionLinenumber: 187
    functionLinenumberEnd: 282
    functionName: p256_scalar_inv_to_mont
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs
    functionUses: 0
    functionsReached:
    - sqr_mul
    - sqr
    - sqr_mul_acc
    - mul
    linkageType: ''
    returnType: Scalar
    signature: 'fn p256_scalar_inv_to_mont(a: Scalar<R>, _cpu: cpu::Features) -> Scalar<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: point_mul_base_tests
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:328,1
    - Dst: test_vector_file
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 333
      start: 326
    functionDepth: 15
    functionLinenumber: 326
    functionLinenumberEnd: 333
    functionName: tests::p256_point_mul_base_vartime_test
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs
    functionUses: 0
    functionsReached:
    - point_mul_base_tests
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: fn p256_point_mul_base_vartime_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_sqr_mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs:61,1
    - Dst: bool::cpu
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - q
    - a
    - squarings
    - b
    argTypes:
    - '&Modulus<Q>'
    - '&Elem<R>'
    - LeakyWord
    - '&Elem<R>'
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 14
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: p::3::8::4::_::e::l::e::m::_::i::n::v::_::s::q::u::a::r::e::d::sqr_mul
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs
    functionUses: 0
    functionsReached:
    - bool::cpu
    - elem_sqr_mul
    linkageType: ''
    returnType: Elem
    signature: 'fn sqr_mul(q: &Modulus<Q>, a: &Elem<R>, squarings: LeakyWord, b: &Elem<R>)
      -> Elem<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::elem_sqr_mul_acc
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs:66,1
    - Dst: bool::cpu
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - q
    - a
    - squarings
    - b
    argTypes:
    - '&Modulus<Q>'
    - '&mut Elem<R>'
    - LeakyWord
    - '&Elem<R>'
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 14
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: p::3::8::4::_::e::l::e::m::_::i::n::v::_::s::q::u::a::r::e::d::sqr_mul_acc
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs
    functionUses: 0
    functionsReached:
    - super::elem_sqr_mul_acc
    - bool::cpu
    linkageType: ''
    returnType: void
    signature: 'fn sqr_mul_acc(q: &Modulus<Q>, a: &mut Elem<R>, squarings: LeakyWord,
      b: &Elem<R>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqr_mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs:70,1
    - Dst: sqr_mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs:71,1
    - Dst: sqr_mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs:72,1
    - Dst: sqr_mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs:73,1
    - Dst: sqr_mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs:74,1
    - Dst: sqr_mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs:75,1
    - Dst: sqr_mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs:77,1
    - Dst: sqr_mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs:79,1
    - Dst: sqr_mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs:82,1
    - Dst: sqr_mul_acc
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs:90,1
    - Dst: sqr_mul_acc
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs:93,1
    - Dst: sqr_mul_acc
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs:94,1
    - Dst: sqr_mul_acc
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs:98,1
    - Dst: bool::elem_square
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs:102,1
    - Dst: bool::elem_square
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 59
    argCount: 2
    argNames:
    - q
    - a
    argTypes:
    - '&Modulus<Q>'
    - '&Elem<R>'
    constantsTouched: []
    func_position:
      end: 106
      start: 51
    functionDepth: 14
    functionLinenumber: 51
    functionLinenumberEnd: 106
    functionName: p384_elem_inv_squared
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs
    functionUses: 0
    functionsReached:
    - sqr_mul
    - bool::elem_square
    - sqr_mul_acc
    linkageType: ''
    returnType: Elem
    signature: 'fn p384_elem_inv_squared(q: &Modulus<Q>, a: &Elem<R>) -> Elem<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Elem::from
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs:110,1
    - Dst: Elem::from
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs:110,1
    - Dst: point_mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - a
    - cpu
    argTypes:
    - '&Scalar'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 5
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: p384_point_mul_base_impl
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs
    functionUses: 0
    functionsReached:
    - Elem::from
    - point_mul
    linkageType: ''
    returnType: Point
    signature: 'fn p384_point_mul_base_impl(a: &Scalar, cpu: cpu::Features) -> Point'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: 'super::

        elem::binary_op'
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - '&Scalar<R>'
    - '&Scalar<R>'
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: p::3::8::4::_::s::c::a::l::a::r::_::i::n::v::_::t::o::_::m::o::n::t::mul
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs
    functionUses: 0
    functionsReached:
    - 'super::

      elem::binary_op'
    linkageType: ''
    returnType: Scalar
    signature: 'fn mul(a: &Scalar<R>, b: &Scalar<R>) -> Scalar<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: 'super::

        elem::binary_op'
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - '&Scalar<R>'
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: p::3::8::4::_::s::c::a::l::a::r::_::i::n::v::_::t::o::_::m::o::n::t::sqr
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs
    functionUses: 0
    functionsReached:
    - 'super::

      elem::binary_op'
    linkageType: ''
    returnType: Scalar
    signature: 'fn sqr(a: &Scalar<R>) -> Scalar<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unary_op_from_binary_op_assign
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - '&mut Scalar<R>'
    constantsTouched: []
    func_position:
      end: 164
      start: 162
    functionDepth: 12
    functionLinenumber: 162
    functionLinenumberEnd: 164
    functionName: p::3::8::4::_::s::c::a::l::a::r::_::i::n::v::_::t::o::_::m::o::n::t::sqr_mut
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs
    functionUses: 0
    functionsReached:
    - unary_op_from_binary_op_assign
    linkageType: ''
    returnType: void
    signature: 'fn sqr_mut(a: &mut Scalar<R>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs:169,1
    - Dst: sqr_mut
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs:171,1
    - Dst: mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - a
    - squarings
    - b
    argTypes:
    - '&Scalar<R>'
    - LeakyWord
    - '&Scalar<R>'
    constantsTouched: []
    func_position:
      end: 174
      start: 167
    functionDepth: 13
    functionLinenumber: 167
    functionLinenumberEnd: 174
    functionName: p::3::8::4::_::s::c::a::l::a::r::_::i::n::v::_::t::o::_::m::o::n::t::sqr_mul
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs
    functionUses: 0
    functionsReached:
    - sqr
    - sqr_mut
    - mul
    linkageType: ''
    returnType: Scalar
    signature: 'fn sqr_mul(a: &Scalar<R>, squarings: LeakyWord, b: &Scalar<R>) ->
      Scalar<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqr_mut
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs:180,1
    - Dst: 'super::

        elem::binary_op_assign'
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - acc
    - squarings
    - b
    argTypes:
    - '&mut Scalar<R>'
    - LeakyWord
    - '&Scalar<R>'
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 13
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: p::3::8::4::_::s::c::a::l::a::r::_::i::n::v::_::t::o::_::m::o::n::t::sqr_mul_acc
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs
    functionUses: 0
    functionsReached:
    - sqr_mut
    - 'super::

      elem::binary_op_assign'
    linkageType: ''
    returnType: void
    signature: 'fn sqr_mul_acc(acc: &mut Scalar<R>, squarings: LeakyWord, b: &Scalar<R>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Scalar::zero
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs:196,1
    - Dst: sqr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs:198,1
    - Dst: mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs:200,1
    - Dst: sqr_mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs:203,1
    - Dst: sqr_mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs:204,1
    - Dst: sqr_mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs:205,1
    - Dst: sqr_mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs:207,1
    - Dst: sqr_mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs:209,1
    - Dst: sqr_mul
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs:212,1
    - Dst: sqr_mul_acc
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs:264,1
    - Dst: LeakyWord::from
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs:264,1
    - Dst: usize::from
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs:264,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 186
    argCount: 2
    argNames:
    - a
    - _cpu
    argTypes:
    - Scalar<R>
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 268
      start: 143
    functionDepth: 14
    functionLinenumber: 143
    functionLinenumberEnd: 268
    functionName: p384_scalar_inv_to_mont
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs
    functionUses: 0
    functionsReached:
    - sqr_mul_acc
    - LeakyWord::from
    - mul
    - Scalar::zero
    - sqr
    - sqr_mul
    - usize::from
    linkageType: ''
    returnType: Scalar
    signature: 'fn p384_scalar_inv_to_mont(a: Scalar<R>, _cpu: cpu::Features) -> Scalar<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p384_elem_mul_mont
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs:276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - '*mut Limb'
    - '*const Limb'
    constantsTouched: []
    func_position:
      end: 278
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 278
    functionName: p384_elem_sqr_mont
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs
    functionUses: 0
    functionsReached:
    - p384_elem_mul_mont
    linkageType: ''
    returnType: void
    signature: 'unsafe extern "C" fn p384_elem_sqr_mont(r: *mut Limb,   // [COMMON_OPS.num_limbs]a:
      *const Limb, // [COMMON_OPS.num_limbs])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: NumLimbs::into
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops/elem.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub(super) const fn into(self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::array::from_fn
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/elem.rs:68,1
    - Dst: Limb::from
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/elem.rs:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - value
    argTypes:
    - '&PublicElem<M, E>'
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: Elem::from
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops/elem.rs
    functionUses: 8
    functionsReached:
    - Limb::from
    - core::array::from_fn
    linkageType: ''
    returnType: Self
    signature: 'fn from(value: &PublicElem<M, E>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Default::default
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ops.rs:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: Elem::zero
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/curve25519/ops.rs
    functionUses: 12
    functionsReached:
    - Default::default
    linkageType: ''
    returnType: Self
    signature: fn zero() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::zero
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/elem.rs:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: Elem::one
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops/elem.rs
    functionUses: 1
    functionsReached:
    - Self::zero
    linkageType: ''
    returnType: Self
    signature: pub fn one() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limbs_from_hex
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/elem.rs:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hex
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: PublicElem::from_hex
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops/elem.rs
    functionUses: 0
    functionsReached:
    - limbs_from_hex
    linkageType: ''
    returnType: Self
    signature: 'pub const fn from_hex(hex: &str) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: binary_op
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/elem.rs:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - f
    - a
    - b
    argTypes:
    - 'unsafe extern "C" fn(r: *mut Limb, a: *const Limb, b: *const Limb)'
    - '&Elem<M, EA>'
    - '&Elem<M, EB>'
    constantsTouched: []
    func_position:
      end: 116
      start: 107
    functionDepth: 12
    functionLinenumber: 107
    functionLinenumberEnd: 116
    functionName: mul_mont
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops/elem.rs
    functionUses: 7
    functionsReached:
    - binary_op
    linkageType: ''
    returnType: Elem
    signature: 'pub fn mul_mont<M, EA: Encoding, EB: Encoding>(f: unsafe extern "C"
      fn(r: *mut Limb, a: *const Limb, b: *const Limb),a: &Elem<M, EA>,b: &Elem<M,
      EB>,) -> Elem<M, <(EA, EB) as ProductEncoding>::Output>where(EA, EB): ProductEncoding,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Elem::zero
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/elem.rs:125,1
    - Dst: f
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/elem.rs:126,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/elem.rs:126,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/elem.rs:126,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/elem.rs:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - f
    - a
    - b
    argTypes:
    - 'unsafe extern "C" fn(r: *mut Limb, a: *const Limb, b: *const Limb)'
    - '&Elem<M, EA>'
    - '&Elem<M, EB>'
    constantsTouched: []
    func_position:
      end: 128
      start: 120
    functionDepth: 11
    functionLinenumber: 120
    functionLinenumberEnd: 128
    functionName: binary_op
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops/elem.rs
    functionUses: 4
    functionsReached:
    - as_ptr
    - Elem::zero
    - f
    - as_mut_ptr
    linkageType: ''
    returnType: Elem
    signature: 'pub fn binary_op<M, EA: Encoding, EB: Encoding, ER: Encoding>(f: unsafe
      extern "C" fn(r: *mut Limb, a: *const Limb, b: *const Limb),a: &Elem<M, EA>,b:
      &Elem<M, EB>,) -> Elem<M, ER>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/elem.rs:137,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/elem.rs:137,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/elem.rs:137,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/elem.rs:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - f
    - a
    - b
    argTypes:
    - 'unsafe extern "C" fn(r: *mut Limb, a: *const Limb, b: *const Limb)'
    - '&mut Elem<M, EA>'
    - '&Elem<M, EB>'
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 11
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionName: binary_op_assign
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops/elem.rs
    functionUses: 4
    functionsReached:
    - as_ptr
    - f
    - as_mut_ptr
    linkageType: ''
    returnType: void
    signature: 'pub fn binary_op_assign<M, EA: Encoding, EB: Encoding>(f: unsafe extern
      "C" fn(r: *mut Limb, a: *const Limb, b: *const Limb),a: &mut Elem<M, EA>,b:
      &Elem<M, EB>,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Elem::zero
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/elem.rs:146,1
    - Dst: f
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/elem.rs:147,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/elem.rs:147,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/elem.rs:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - f
    - a
    argTypes:
    - 'unsafe extern "C" fn(r: *mut Limb, a: *const Limb)'
    - '&Elem<M, E>'
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 11
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: unary_op
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops/elem.rs
    functionUses: 1
    functionsReached:
    - as_ptr
    - Elem::zero
    - f
    - as_mut_ptr
    linkageType: ''
    returnType: Elem
    signature: 'pub fn unary_op<M, E: Encoding>(f: unsafe extern "C" fn(r: *mut Limb,
      a: *const Limb),a: &Elem<M, E>,) -> Elem<M, E>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/elem.rs:157,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/elem.rs:157,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/elem.rs:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - f
    - a
    argTypes:
    - 'unsafe extern "C" fn(r: *mut Limb, a: *const Limb)'
    - '&mut Elem<M, E>'
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 11
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: unary_op_assign
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops/elem.rs
    functionUses: 1
    functionsReached:
    - as_ptr
    - f
    - as_mut_ptr
    linkageType: ''
    returnType: void
    signature: 'pub fn unary_op_assign<M, E: Encoding>(f: unsafe extern "C" fn(r:
      *mut Limb, a: *const Limb),a: &mut Elem<M, E>,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/elem.rs:166,1
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/elem.rs:166,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/elem.rs:166,1
    - Dst: as_ptr
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ops/elem.rs:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - f
    - a
    argTypes:
    - 'unsafe extern "C" fn(r: *mut Limb, a: *const Limb, b: *const Limb)'
    - '&mut Elem<M, E>'
    constantsTouched: []
    func_position:
      end: 167
      start: 162
    functionDepth: 11
    functionLinenumber: 162
    functionLinenumberEnd: 167
    functionName: unary_op_from_binary_op_assign
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ops/elem.rs
    functionUses: 1
    functionsReached:
    - as_ptr
    - f
    - as_mut_ptr
    linkageType: ''
    returnType: void
    signature: 'pub fn unary_op_from_binary_op_assign<M, E: Encoding>(f: unsafe extern
      "C" fn(r: *mut Limb, a: *const Limb, b: *const Limb),a: &mut Elem<M, E>,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digest_scalar_
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/digest_scalar.rs:46,1
    - Dst: SpdmResult::as_ref
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/digest_scalar.rs:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - msg
    argTypes:
    - '&Modulus<N>'
    - digest::Digest
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 9
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: digest_scalar
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/digest_scalar.rs
    functionUses: 2
    functionsReached:
    - digest_scalar_
    - SpdmResult::as_ref
    linkageType: ''
    returnType: Scalar
    signature: 'pub(super) fn digest_scalar(n: &Modulus<N>, msg: digest::Digest) ->
      Scalar'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digest_scalar_
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/digest_scalar.rs:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - n
    - digest
    argTypes:
    - '&Modulus<N>'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 9
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: digest_bytes_scalar
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/digest_scalar.rs
    functionUses: 2
    functionsReached:
    - digest_scalar_
    linkageType: ''
    returnType: Scalar
    signature: 'pub(super) fn digest_bytes_scalar(n: &Modulus<N>, digest: &[u8]) ->
      Scalar'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bytes_len
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/digest_scalar.rs:57,1
    - Dst: Digest::len
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/digest_scalar.rs:58,1
    - Dst: scalar_parse_big_endian_partially_reduced_variable_consttime
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/digest_scalar.rs:64,1
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/digest_scalar.rs:64,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/digest_scalar.rs:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - n
    - digest
    argTypes:
    - '&Modulus<N>'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 66
      start: 56
    functionDepth: 8
    functionLinenumber: 56
    functionLinenumberEnd: 66
    functionName: digest_scalar_
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/digest_scalar.rs
    functionUses: 2
    functionsReached:
    - bytes_len
    - Result::unwrap
    - untrusted::Input::from
    - Digest::len
    - scalar_parse_big_endian_partially_reduced_variable_consttime
    linkageType: ''
    returnType: Scalar
    signature: 'fn digest_scalar_(n: &Modulus<N>, digest: &[u8]) -> Scalar'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/digest_scalar.rs:76,1
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/digest_scalar.rs:77,1
    - Dst: test_vector_file
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/digest_scalar.rs:78,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/digest_scalar.rs:82,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/digest_scalar.rs:83,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/digest_scalar.rs:84,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/digest_scalar.rs:85,1
    - Dst: '&''static agreement::Algorithm::as_str'
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/digest_scalar.rs:87,1
    - Dst: String::as_str
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/digest_scalar.rs:87,1
    - Dst: scalar_modulus
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/digest_scalar.rs:96,1
    - Dst: scalar_parse_big_endian_variable
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/digest_scalar.rs:102,1
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/digest_scalar.rs:105,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/digest_scalar.rs:102,1
    - Dst: digest_bytes_scalar
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/digest_scalar.rs:109,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/digest_scalar.rs:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 75
    functionDepth: 14
    functionLinenumber: 75
    functionLinenumberEnd: 118
    functionName: tests::test
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/digest_scalar.rs
    functionUses: 0
    functionsReached:
    - scalar_parse_big_endian_variable
    - Option::consume_string
    - String::as_str
    - '&''static agreement::Algorithm::as_str'
    - digest_bytes_scalar
    - cpu::features
    - scalar_modulus
    - untrusted::Input::from
    - Result::unwrap
    - test_vector_file
    - Option::consume_bytes
    - test::run
    - Ok
    linkageType: ''
    returnType: void
    signature: fn test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::elem_product
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:151,1
    - Dst: bool::elem_unencoded
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:152,1
    - Dst: bool::elems_are_equal
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:153,1
    - Dst: LimbMask::leak
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - q
    - r
    - x
    - z2
    argTypes:
    - '&Modulus<Q>'
    - '&Elem<Unencoded>'
    - '&Elem<R>'
    - '&Elem<R>'
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 5
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: E::c::d::s::a::V::e::r::i::f::i::c::a::t::i::o::n::A::l::g::o::r::i::t::h::m::::::::v::e::r::i::f::y::_::d::i::g::e::s::t::sig_r_equals_x
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs
    functionUses: 0
    functionsReached:
    - LimbMask::leak
    - bool::elem_product
    - bool::elems_are_equal
    - bool::elem_unencoded
    linkageType: ''
    returnType: bool
    signature: 'fn sig_r_equals_x(q: &Modulus<Q>, r: &Elem<Unencoded>, x: &Elem<R>,
      z2: &Elem<R>) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:83,1
    - Dst: elem_modulus
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:89,1
    - Dst: scalar_modulus
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:90,1
    - Dst: parse_uncompressed_point
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:109,1
    - Dst: Result::read_all
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:111,1
    - Dst: scalar_parse_big_endian_variable
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:117,1
    - Dst: scalar_parse_big_endian_variable
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:118,1
    - Dst: scalar_inv_to_mont_vartime
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:122,1
    - Dst: scalar_product
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:126,1
    - Dst: scalar_product
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:127,1
    - Dst: verify_jacobian_point_is_on_the_curve
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:141,1
    - Dst: bool::point_x
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:149,1
    - Dst: scalar_as_elem
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:155,1
    - Dst: sig_r_equals_x
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:156,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:157,1
    - Dst: bool::elem_less_than_vartime
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:159,1
    - Dst: Elem::from
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:160,1
    - Dst: n
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:160,1
    - Dst: bool::add_assign
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:161,1
    - Dst: sig_r_equals_x
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:162,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:163,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:167,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 102
    argCount: 3
    argNames:
    - public_key
    - e
    - signature
    argTypes:
    - untrusted::Input
    - Scalar
    - untrusted::Input
    constantsTouched: []
    func_position:
      end: 168
      start: 77
    functionDepth: 14
    functionLinenumber: 77
    functionLinenumberEnd: 168
    functionName: EcdsaVerificationAlgorithm::verify_digest
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs
    functionUses: 1
    functionsReached:
    - elem_modulus
    - scalar_parse_big_endian_variable
    - parse_uncompressed_point
    - scalar_inv_to_mont_vartime
    - sig_r_equals_x
    - verify_jacobian_point_is_on_the_curve
    - Elem::from
    - bool::add_assign
    - Result::read_all
    - Err
    - cpu::features
    - scalar_modulus
    - n
    - scalar_as_elem
    - bool::point_x
    - scalar_product
    - bool::elem_less_than_vartime
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn verify_digest(&self,public_key: untrusted::Input,e: Scalar,signature:
      untrusted::Input,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&''static ScalarOps::scalar_bytes_len'
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:177,1
    - Dst: read_bytes
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:178,1
    - Dst: read_bytes
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:179,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ops
    - input
    argTypes:
    - '&''static ScalarOps'
    - '&mut untrusted::Reader<''a>'
    constantsTouched: []
    func_position:
      end: 181
      start: 173
    functionDepth: 11
    functionLinenumber: 173
    functionLinenumberEnd: 181
    functionName: split_rs_fixed
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs
    functionUses: 0
    functionsReached:
    - read_bytes
    - '&''static ScalarOps::scalar_bytes_len'
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn split_rs_fixed<''a>(ops: &''static ScalarOps,input: &mut untrusted::Reader<''a>,)
      -> Result<(untrusted::Input<''a>, untrusted::Input<''a>), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: der::nested
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:187,1
    - Dst: der::positive_integer
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:188,1
    - Dst: big_endian_without_leading_zero_as_input
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:188,1
    - Dst: der::positive_integer
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:189,1
    - Dst: big_endian_without_leading_zero_as_input
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:189,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - _ops
    - input
    argTypes:
    - '&''static ScalarOps'
    - '&mut untrusted::Reader<''a>'
    constantsTouched: []
    func_position:
      end: 192
      start: 183
    functionDepth: 14
    functionLinenumber: 183
    functionLinenumberEnd: 192
    functionName: split_rs_asn1
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs
    functionUses: 0
    functionsReached:
    - der::nested
    - der::positive_integer
    - Ok
    - big_endian_without_leading_zero_as_input
    linkageType: ''
    returnType: Result
    signature: 'fn split_rs_asn1<''a>(_ops: &''static ScalarOps,input: &mut untrusted::Reader<''a>,)
      -> Result<(untrusted::Input<''a>, untrusted::Input<''a>), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:285,1
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:286,1
    - Dst: test_vector_file
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:287,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:291,1
    - Dst: '&[u8]::extend'
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:295,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:295,1
    - Dst: '&[u8]::extend'
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:296,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:296,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:300,1
    - Dst: Vec::new
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:303,1
    - Dst: Result::extend
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:304,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:304,1
    - Dst: Result::extend
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:305,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:305,1
    - Dst: Option::consume_optional_string
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:309,1
    - Dst: '&''static agreement::Algorithm::as_str'
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:311,1
    - Dst: scalar_modulus
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:318,1
    - Dst: super::super::digest_scalar::digest_bytes_scalar
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:320,1
    - Dst: Option::verify_digest
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:321,1
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:322,1
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:324,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 331
      start: 284
    functionDepth: 14
    functionLinenumber: 284
    functionLinenumberEnd: 331
    functionName: tests::test_digest_based_test_vectors
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs
    functionUses: 0
    functionsReached:
    - Option::verify_digest
    - Option::consume_string
    - Ok
    - '&''static agreement::Algorithm::as_str'
    - Option::consume_optional_string
    - cpu::features
    - scalar_modulus
    - untrusted::Input::from
    - '&[u8]::extend'
    - super::super::digest_scalar::digest_bytes_scalar
    - test_vector_file
    - Option::consume_bytes
    - test::run
    - Vec::new
    - Result::extend
    linkageType: ''
    returnType: void
    signature: fn test_digest_based_test_vectors()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - '&Self'
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: EcdsaSigningAlgorithm::eq
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'fn eq(&self, other: &Self) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digest::digest
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:202,1
    - Dst: EcdsaKeyPair::sign_digest
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:204,1
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - rng
    - message
    argTypes:
    - '&dyn rand::SecureRandom'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 205
      start: 196
    functionDepth: 15
    functionLinenumber: 196
    functionLinenumberEnd: 205
    functionName: EcdsaKeyPair::sign_with_fixed_nonce_during_test
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs
    functionUses: 0
    functionsReached:
    - digest::digest
    - cpu::features
    - EcdsaKeyPair::sign_digest
    linkageType: ''
    returnType: Result
    signature: 'fn sign_with_fixed_nonce_during_test(&self,rng: &dyn rand::SecureRandom,message:
      &[u8],) -> Result<signature::Signature, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::debug_struct
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:300,1
    - Dst: finish
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 301
      start: 299
    functionDepth: 13
    functionLinenumber: 299
    functionLinenumberEnd: 301
    functionName: NonceRandom::fmt
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs
    functionUses: 0
    functionsReached:
    - SpdmCertChainBuffer::debug_struct
    - finish
    linkageType: ''
    returnType: core::fmt::Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter<''_>) -> core::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: algorithm
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:313,1
    - Dst: digest::Context::new
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:314,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:317,1
    - Dst: update
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:318,1
    - Dst: Option::block_len
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:326,1
    - Dst: bool::len
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:326,1
    - Dst: fill
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:328,1
    - Dst: update
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:329,1
    - Dst: update
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:332,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:332,1
    - Dst: finish
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:334,1
    - Dst: '&mut [u8]::copy_from_slice'
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:338,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:338,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 47
    argCount: 1
    argNames:
    - dest
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 341
      start: 305
    functionDepth: 11
    functionLinenumber: 305
    functionLinenumberEnd: 341
    functionName: NonceRandom::fill_impl
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs
    functionUses: 0
    functionsReached:
    - '&mut [u8]::copy_from_slice'
    - finish
    - algorithm
    - bool::len
    - update
    - digest::Context::new
    - Option::block_len
    - as_ref
    - Ok
    - fill
    linkageType: ''
    returnType: Result
    signature: 'fn fill_impl(&self, dest: &mut [u8]) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&dyn rand::SecureRandom::fill'
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:360,1
    - Dst: map_err
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:360,1
    - Dst: error::KeyRejected::rng_failed
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:361,1
    - Dst: digest::Context::new
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:363,1
    - Dst: update
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:364,1
    - Dst: update
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:365,1
    - Dst: bytes_less_safe
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:365,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:366,1
    - Dst: Self
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:366,1
    - Dst: finish
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 3
    argNames:
    - alg
    - seed
    - rng
    argTypes:
    - '&EcdsaSigningAlgorithm'
    - '&ec::Seed'
    - '&dyn rand::SecureRandom'
    constantsTouched: []
    func_position:
      end: 367
      start: 349
    functionDepth: 11
    functionLinenumber: 349
    functionLinenumberEnd: 367
    functionName: NonceRandomKey::new
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs
    functionUses: 1
    functionsReached:
    - finish
    - map_err
    - Self
    - '&dyn rand::SecureRandom::fill'
    - error::KeyRejected::rng_failed
    - bytes_less_safe
    - update
    - digest::Context::new
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn new(alg: &EcdsaSigningAlgorithm,seed: &ec::Seed,rng: &dyn rand::SecureRandom,)
      -> Result<Self, error::KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&''static ScalarOps::scalar_bytes_len'
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:390,1
    - Dst: '&mut [u8]::split_at_mut'
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:392,1
    - Dst: limb::big_endian_from_limbs
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:393,1
    - Dst: '&''static ScalarOps::leak_limbs'
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:393,1
    - Dst: '&[u8]::split_at_mut'
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:395,1
    - Dst: limb::big_endian_from_limbs
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:396,1
    - Dst: '&''static ScalarOps::leak_limbs'
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 4
    argNames:
    - ops
    - r
    - s
    - out
    argTypes:
    - '&''static ScalarOps'
    - '&Scalar'
    - '&Scalar'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 399
      start: 389
    functionDepth: 9
    functionLinenumber: 389
    functionLinenumberEnd: 399
    functionName: format_rs_fixed
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs
    functionUses: 0
    functionsReached:
    - '&''static ScalarOps::scalar_bytes_len'
    - '&[u8]::split_at_mut'
    - '&''static ScalarOps::leak_limbs'
    - '&mut [u8]::split_at_mut'
    - limb::big_endian_from_limbs
    linkageType: ''
    returnType: usize
    signature: 'fn format_rs_fixed(ops: &''static ScalarOps, r: &Scalar, s: &Scalar,
      out: &mut [u8]) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&ScalarOps::scalar_bytes_len'
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:406,1
    - Dst: limb::big_endian_from_limbs
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:407,1
    - Dst: '&ScalarOps::leak_limbs'
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:407,1
    - Dst: iter
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:414,1
    - Dst: Self::IntoIter::position
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:414,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:414,1
    - Dst: into
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:424,1
    - Dst: u8::len
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:430,1
    - Dst: u8::len
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:433,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:433,1
    - Dst: u8::len
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 59
    argCount: 3
    argNames:
    - ops
    - a
    - out
    argTypes:
    - '&ScalarOps'
    - '&Scalar'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 436
      start: 404
    functionDepth: 9
    functionLinenumber: 404
    functionLinenumberEnd: 436
    functionName: f::o::r::m::a::t::_::r::s::_::a::s::n::1::format_integer_tlv
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs
    functionUses: 0
    functionsReached:
    - u8::len
    - into
    - unwrap
    - iter
    - Self::IntoIter::position
    - '&ScalarOps::scalar_bytes_len'
    - limb::big_endian_from_limbs
    - copy_from_slice
    - '&ScalarOps::leak_limbs'
    linkageType: ''
    returnType: usize
    signature: 'fn format_integer_tlv(ops: &ScalarOps, a: &Scalar, out: &mut [u8])
      -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:438,1
    - Dst: format_integer_tlv
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:439,1
    - Dst: format_integer_tlv
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 82
    argCount: 4
    argNames:
    - ops
    - r
    - s
    - out
    argTypes:
    - '&''static ScalarOps'
    - '&Scalar'
    - '&Scalar'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 451
      start: 401
    functionDepth: 8
    functionLinenumber: 401
    functionLinenumberEnd: 451
    functionName: format_rs_asn1
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs
    functionUses: 0
    functionsReached:
    - into
    - format_integer_tlv
    linkageType: ''
    returnType: usize
    signature: 'fn format_rs_asn1(ops: &''static ScalarOps, r: &Scalar, s: &Scalar,
      out: &mut [u8]) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand::SystemRandom::new
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:534,1
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:536,1
    - Dst: test_vector_file
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:537,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:541,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:542,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:543,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:544,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:545,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:546,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:548,1
    - Dst: '&''static agreement::Algorithm::as_str'
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:550,1
    - Dst: String::as_str
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:550,1
    - Dst: signature::EcdsaKeyPair::from_private_key_and_public_key
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:559,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:559,1
    - Dst: Option::sign_with_fixed_nonce_during_test
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:563,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:563,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 572
      start: 533
    functionDepth: 14
    functionLinenumber: 533
    functionLinenumberEnd: 572
    functionName: tests::signature_ecdsa_sign_fixed_test
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs
    functionUses: 0
    functionsReached:
    - Option::consume_string
    - Option::sign_with_fixed_nonce_during_test
    - String::as_str
    - Ok
    - '&''static agreement::Algorithm::as_str'
    - signature::EcdsaKeyPair::from_private_key_and_public_key
    - Result::unwrap
    - test_vector_file
    - Option::consume_bytes
    - test::run
    - rand::SystemRandom::new
    linkageType: ''
    returnType: void
    signature: fn signature_ecdsa_sign_fixed_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand::SystemRandom::new
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:576,1
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:578,1
    - Dst: test_vector_file
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:579,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:583,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:584,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:585,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:586,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:587,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:588,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:590,1
    - Dst: '&''static agreement::Algorithm::as_str'
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:592,1
    - Dst: String::as_str
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:592,1
    - Dst: signature::EcdsaKeyPair::from_private_key_and_public_key
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:601,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:601,1
    - Dst: Option::sign_with_fixed_nonce_during_test
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:605,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:605,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs:611,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 614
      start: 575
    functionDepth: 14
    functionLinenumber: 575
    functionLinenumberEnd: 614
    functionName: tests::signature_ecdsa_sign_asn1_test
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs
    functionUses: 0
    functionsReached:
    - Option::consume_string
    - Option::sign_with_fixed_nonce_during_test
    - String::as_str
    - Ok
    - '&''static agreement::Algorithm::as_str'
    - signature::EcdsaKeyPair::from_private_key_and_public_key
    - Result::unwrap
    - test_vector_file
    - Option::consume_bytes
    - test::run
    - rand::SystemRandom::new
    linkageType: ''
    returnType: void
    signature: fn signature_ecdsa_sign_asn1_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digest::Context::new
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519.rs:27,1
    - Dst: update
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519.rs:28,1
    - Dst: update
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519.rs:29,1
    - Dst: update
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519.rs:30,1
    - Dst: finish
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519.rs:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - signature_r
    - public_key
    - msg
    argTypes:
    - '&[u8]'
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 11
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: eddsa_digest
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519.rs
    functionUses: 2
    functionsReached:
    - finish
    - update
    - digest::Context::new
    linkageType: ''
    returnType: digest::Digest
    signature: 'pub fn eddsa_digest(signature_r: &[u8], public_key: &[u8], msg: &[u8])
      -> digest::Digest'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/x25519.rs:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bytes
    argTypes:
    - '&[u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: x25519_check_private_key_bytes
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/curve25519/x25519.rs
    functionUses: 0
    functionsReached:
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn x25519_check_private_key_bytes(bytes: &[u8],_: cpu::Features,)
      -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&dyn rand::SecureRandom::fill'
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/x25519.rs:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - rng
    - out
    argTypes:
    - '&dyn rand::SecureRandom'
    - '&mut [u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: x25519_generate_private_key
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/curve25519/x25519.rs
    functionUses: 0
    functionsReached:
    - '&dyn rand::SecureRandom::fill'
    linkageType: ''
    returnType: Result
    signature: 'fn x25519_generate_private_key(rng: &dyn rand::SecureRandom,out: &mut
      [u8],_: cpu::Features,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut [u8]::try_into'
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/x25519.rs:65,1
    - Dst: Option::bytes_less_safe
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/x25519.rs:67,1
    - Dst: '&[u8]::try_into'
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/x25519.rs:67,1
    - Dst: ops::MaskedScalar::from_bytes_masked
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/x25519.rs:68,1
    - Dst: <cpu::Features as cpu::GetFeature<_>>::get_feature
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/x25519.rs:74,1
    - Dst: x25519_neon
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/x25519.rs:79,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/x25519.rs:80,1
    - Dst: x25519_public_from_private_generic_masked
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/x25519.rs:91,1
    - Dst: ops::has_fe25519_adx
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/x25519.rs:94,1
    - Dst: bool::into
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/x25519.rs:94,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/x25519.rs:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 3
    argNames:
    - public_out
    - private_key
    - cpu_features
    argTypes:
    - '&mut [u8]'
    - '&ec::Seed'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 99
      start: 60
    functionDepth: 4
    functionLinenumber: 60
    functionLinenumberEnd: 99
    functionName: x25519_public_from_private
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/curve25519/x25519.rs
    functionUses: 1
    functionsReached:
    - x25519_neon
    - '&[u8]::try_into'
    - ops::MaskedScalar::from_bytes_masked
    - bool::into
    - ops::has_fe25519_adx
    - Option::bytes_less_safe
    - x25519_public_from_private_generic_masked
    - <cpu::Features as cpu::GetFeature<_>>::get_feature
    - '&mut [u8]::try_into'
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn x25519_public_from_private(public_out: &mut [u8],private_key: &ec::Seed,cpu_features:
      cpu::Features,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: <cpu::Features as cpu::GetFeature<_>>::get_feature
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/x25519.rs:121,1
    - Dst: x25519_neon
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/x25519.rs:122,1
    - Dst: ops::has_fe25519_adx
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/x25519.rs:127,1
    - Dst: prefixed_extern
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/x25519.rs:128,1
    - Dst: x25519_scalar_mult_adx
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/x25519.rs:135,1
    - Dst: x25519_scalar_mult_generic_masked
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/x25519.rs:147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - out
    - scalar
    - point
    - cpu_features
    argTypes:
    - '&mut ops::EncodedPoint'
    - '&ops::MaskedScalar'
    - '&ops::EncodedPoint'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 149
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 149
    functionName: x::2::5::5::1::9::_::e::c::d::h::scalar_mult
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/curve25519/x25519.rs
    functionUses: 0
    functionsReached:
    - x25519_scalar_mult_generic_masked
    - prefixed_extern
    - x25519_neon
    - x25519_scalar_mult_adx
    - ops::has_fe25519_adx
    - <cpu::Features as cpu::GetFeature<_>>::get_feature
    linkageType: ''
    returnType: void
    signature: 'fn scalar_mult(out: &mut ops::EncodedPoint,scalar: &ops::MaskedScalar,point:
      &ops::EncodedPoint,#[allow(unused_variables)] cpu_features: cpu::Features,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&ec::Seed::bytes_less_safe'
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/x25519.rs:107,1
    - Dst: '&[u8]::try_into'
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/x25519.rs:107,1
    - Dst: ops::MaskedScalar::from_bytes_masked
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/x25519.rs:108,1
    - Dst: untrusted::Input::as_slice_less_safe
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/x25519.rs:109,1
    - Dst: try_into
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/x25519.rs:109,1
    - Dst: scalar_mult
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/x25519.rs:151,1
    - Dst: '&mut [u8]::try_into'
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/x25519.rs:152,1
    - Dst: bb::verify_slices_are_equal
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/x25519.rs:159,1
    - Dst: Result::is_ok
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/x25519.rs:159,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/x25519.rs:161,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/x25519.rs:164,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 4
    argNames:
    - out
    - my_private_key
    - peer_public_key
    - cpu_features
    argTypes:
    - '&mut [u8]'
    - '&ec::Seed'
    - untrusted::Input
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 165
      start: 101
    functionDepth: 4
    functionLinenumber: 101
    functionLinenumberEnd: 165
    functionName: x25519_ecdh
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/curve25519/x25519.rs
    functionUses: 0
    functionsReached:
    - try_into
    - Result::is_ok
    - '&[u8]::try_into'
    - ops::MaskedScalar::from_bytes_masked
    - Err
    - '&ec::Seed::bytes_less_safe'
    - scalar_mult
    - bb::verify_slices_are_equal
    - untrusted::Input::as_slice_less_safe
    - '&mut [u8]::try_into'
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn x25519_ecdh(out: &mut [u8],my_private_key: &ec::Seed,peer_public_key:
      untrusted::Input,cpu_features: cpu::Features,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: x25519_NEON
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/x25519.rs:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - out
    - scalar
    - point
    - _cpu
    argTypes:
    - '&mut ops::EncodedPoint'
    - '&ops::MaskedScalar'
    - '&ops::EncodedPoint'
    - cpu::arm::Neon
    constantsTouched: []
    func_position:
      end: 186
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 186
    functionName: x25519_neon
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/curve25519/x25519.rs
    functionUses: 2
    functionsReached:
    - x25519_NEON
    linkageType: ''
    returnType: void
    signature: 'fn x25519_neon(out: &mut ops::EncodedPoint,scalar: &ops::MaskedScalar,point:
      &ops::EncodedPoint,_cpu: cpu::arm::Neon,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/x25519.rs:239,1
    - Dst: ec::Seed::from_bytes
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/x25519.rs:242,1
    - Dst: Input::from
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/x25519.rs:242,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/x25519.rs:242,1
    - Dst: x25519_public_from_private
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/x25519.rs:245,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/x25519.rs:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 208
    functionDepth: 14
    functionLinenumber: 208
    functionLinenumberEnd: 248
    functionName: tests::test_x25519_public_from_private
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/curve25519/x25519.rs
    functionUses: 0
    functionsReached:
    - x25519_public_from_private
    - ec::Seed::from_bytes
    - cpu::features
    - Result::unwrap
    - Input::from
    linkageType: ''
    returnType: void
    signature: fn test_x25519_public_from_private()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: x25519_fe_neg
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ops.rs:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: Elem::negate
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/curve25519/ops.rs
    functionUses: 0
    functionsReached:
    - x25519_fe_neg
    linkageType: ''
    returnType: void
    signature: fn negate(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Elem::zero
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ops.rs:79,1
    - Dst: Elem::zero
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ops.rs:80,1
    - Dst: Elem::zero
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ops.rs:81,1
    - Dst: Elem::zero
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ops.rs:82,1
    - Dst: x25519_ge_scalarmult_base
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ops.rs:88,1
    - Dst: has_fe25519_adx
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ops.rs:88,1
    - Dst: bool::into
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ops.rs:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - scalar
    - cpu
    argTypes:
    - '&Scalar'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 91
      start: 77
    functionDepth: 4
    functionLinenumber: 77
    functionLinenumberEnd: 91
    functionName: ExtPoint::from_scalarmult_base
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/curve25519/ops.rs
    functionUses: 2
    functionsReached:
    - has_fe25519_adx
    - Elem::zero
    - x25519_ge_scalarmult_base
    - bool::into
    linkageType: ''
    returnType: Self
    signature: 'pub(super) fn from_scalarmult_base(scalar: &Scalar, cpu: cpu::Features)
      -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Elem::zero
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ops.rs:95,1
    - Dst: Elem::zero
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ops.rs:96,1
    - Dst: Elem::zero
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ops.rs:97,1
    - Dst: Elem::zero
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ops.rs:98,1
    - Dst: Result::from
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ops.rs:101,1
    - Dst: x25519_ge_frombytes_vartime
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ops.rs:101,1
    - Dst: Self::map
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ops.rs:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - encoded
    argTypes:
    - '&EncodedPoint'
    constantsTouched: []
    func_position:
      end: 102
      start: 93
    functionDepth: 8
    functionLinenumber: 93
    functionLinenumberEnd: 102
    functionName: ExtPoint::from_encoded_point_vartime
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/curve25519/ops.rs
    functionUses: 1
    functionsReached:
    - Result::from
    - Elem::zero
    - x25519_ge_frombytes_vartime
    - Self::map
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_encoded_point_vartime(encoded: &EncodedPoint) -> Result<Self,
      error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode_point
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ops.rs:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cpu_features
    argTypes:
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 4
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: ExtPoint::into_encoded_point
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/curve25519/ops.rs
    functionUses: 0
    functionsReached:
    - encode_point
    linkageType: ''
    returnType: EncodedPoint
    signature: 'pub(super) fn into_encoded_point(self, cpu_features: cpu::Features)
      -> EncodedPoint'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: negate
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ops.rs:109,1
    - Dst: negate
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ops.rs:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: ExtPoint::invert_vartime
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/curve25519/ops.rs
    functionUses: 0
    functionsReached:
    - negate
    linkageType: ''
    returnType: void
    signature: pub(super) fn invert_vartime(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode_point
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ops.rs:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cpu_features
    argTypes:
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 4
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: Point::into_encoded_point
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/curve25519/ops.rs
    functionUses: 0
    functionsReached:
    - encode_point
    linkageType: ''
    returnType: EncodedPoint
    signature: 'pub(super) fn into_encoded_point(self, cpu_features: cpu::Features)
      -> EncodedPoint'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Elem::zero
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ops.rs:140,1
    - Dst: x25519_fe_invert
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ops.rs:141,1
    - Dst: Elem::zero
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ops.rs:143,1
    - Dst: x25519_fe_mul_ttt
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ops.rs:144,1
    - Dst: Elem::zero
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ops.rs:146,1
    - Dst: x25519_fe_mul_ttt
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ops.rs:147,1
    - Dst: x25519_fe_tobytes
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ops.rs:148,1
    - Dst: x25519_fe_isnegative
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ops.rs:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 4
    argNames:
    - x
    - y
    - z
    - _cpu_features
    argTypes:
    - Elem<T>
    - Elem<T>
    - Elem<T>
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 158
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 158
    functionName: encode_point
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/curve25519/ops.rs
    functionUses: 2
    functionsReached:
    - x25519_fe_mul_ttt
    - x25519_fe_tobytes
    - x25519_fe_isnegative
    - x25519_fe_invert
    - Elem::zero
    linkageType: ''
    returnType: EncodedPoint
    signature: 'fn encode_point(x: Elem<T>, y: Elem<T>, z: Elem<T>, _cpu_features:
      cpu::Features) -> EncodedPoint'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 171
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 171
    functionName: has_fe25519_adx
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/curve25519/ops.rs
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'pub(super) fn has_fe25519_adx(cpu: cpu::Features) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: map
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/scalar.rs:33,1
    - Dst: slice::as_chunks
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/scalar.rs:36,1
    - Dst: array::from_fn
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/scalar.rs:39,1
    - Dst: limb::Limb::from_le_bytes
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/scalar.rs:39,1
    - Dst: limb::verify_limbs_less_than_limbs_leak_bit
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/scalar.rs:40,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/scalar.rs:42,1
    - Dst: Self
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/scalar.rs:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '[u8; SCALAR_LEN]'
    constantsTouched: []
    func_position:
      end: 43
      start: 30
    functionDepth: 8
    functionLinenumber: 30
    functionLinenumberEnd: 43
    functionName: Scalar::from_bytes_checked
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/curve25519/scalar.rs
    functionUses: 1
    functionsReached:
    - slice::as_chunks
    - Self
    - map
    - array::from_fn
    - limb::Limb::from_le_bytes
    - Ok
    - limb::verify_limbs_less_than_limbs_leak_bit
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_bytes_checked(bytes: [u8; SCALAR_LEN]) -> Result<Self,
      error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/scalar.rs:51,1
    - Dst: Digest::as_ref
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/scalar.rs:51,1
    - Dst: x25519_sc_reduce
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/scalar.rs:52,1
    - Dst: Self
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/scalar.rs:53,1
    - Dst: try_into
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/scalar.rs:53,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/scalar.rs:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - digest
    argTypes:
    - digest::Digest
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 6
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: Scalar::from_sha512_digest_reduced
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/curve25519/scalar.rs
    functionUses: 2
    functionsReached:
    - x25519_sc_reduce
    - Self
    - unwrap
    - copy_from_slice
    - Digest::as_ref
    - try_into
    linkageType: ''
    returnType: Self
    signature: 'pub fn from_sha512_digest_reduced(digest: digest::Digest) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/scalar.rs:65,1
    - Dst: x25519_sc_mask
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/scalar.rs:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '[u8; SCALAR_LEN]'
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: MaskedScalar::from_bytes_masked
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/curve25519/scalar.rs
    functionUses: 3
    functionsReached:
    - Self
    - x25519_sc_mask
    linkageType: ''
    returnType: Self
    signature: 'pub fn from_bytes_masked(bytes: [u8; SCALAR_LEN]) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/scalar.rs:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames: []
    argTypes:
    - MaskedScalar
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: Scalar::from
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/curve25519/scalar.rs
    functionUses: 1
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: 'fn from(MaskedScalar(scalar): MaskedScalar) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: EdDSAParameters::fmt
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/verification.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter) -> Result<(), core::fmt::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digest::digest
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:174,1
    - Dst: Vec::as_ref
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:175,1
    - Dst: '&[u8]::split_at'
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:175,1
    - Dst: MaskedScalar::from_bytes_masked
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:178,1
    - Dst: Result::try_into
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:178,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:178,1
    - Dst: Self::into
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:178,1
    - Dst: ExtPoint::from_scalarmult_base
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:180,1
    - Dst: try_into
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:184,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:184,1
    - Dst: PublicKey
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:185,1
    - Dst: Vec::into_encoded_point
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 2
    argNames:
    - seed
    - cpu_features
    argTypes:
    - '&Seed'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 187
      start: 173
    functionDepth: 4
    functionLinenumber: 173
    functionLinenumberEnd: 187
    functionName: Ed25519KeyPair::from_seed_
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs
    functionUses: 0
    functionsReached:
    - PublicKey
    - '&[u8]::split_at'
    - Vec::into_encoded_point
    - Self::into
    - Result::try_into
    - unwrap
    - ExtPoint::from_scalarmult_base
    - digest::digest
    - Result::unwrap
    - MaskedScalar::from_bytes_masked
    - try_into
    - Vec::as_ref
    linkageType: ''
    returnType: Self
    signature: 'fn from_seed_(seed: &Seed, cpu_features: cpu::Features) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs8::unwrap_key
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:253,1
    - Dst: Option::read_all
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:254,1
    - Dst: der::expect_tag_and_get_value
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:256,1
    - Dst: map_err
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:254,1
    - Dst: error::KeyRejected::invalid_encoding
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:258,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - version
    - input
    argTypes:
    - pkcs8::Version
    - untrusted::Input
    constantsTouched: []
    func_position:
      end: 260
      start: 249
    functionDepth: 16
    functionLinenumber: 249
    functionLinenumberEnd: 260
    functionName: unwrap_pkcs8
    functionSourceFile: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs
    functionUses: 2
    functionsReached:
    - pkcs8::unwrap_key
    - map_err
    - Option::read_all
    - error::KeyRejected::invalid_encoding
    - der::expect_tag_and_get_value
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn unwrap_pkcs8(version: pkcs8::Version,input: untrusted::Input,)
      -> Result<(untrusted::Input, Option<untrusted::Input>), error::KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut T'
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: from_mut
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/ptr.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: '*mut T'
    signature: 'pub fn from_mut<T: ?Sized>(r: &mut T) -> *mut T'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&T'
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: from_ref
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/ptr.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: '*const T'
    signature: 'pub const fn from_ref<T: ?Sized>(r: &T) -> *const T'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/polyfill/slice.rs:39,1
    - Dst: Some
      Src: /src/spdm-rs/external/ring/src/polyfill/slice.rs:40,1
    - Dst: split_at
      Src: /src/spdm-rs/external/ring/src/polyfill/slice.rs:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - slice
    - i
    argTypes:
    - '&[T]'
    - usize
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: split_at_checked
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/slice.rs
    functionUses: 1
    functionsReached:
    - len
    - split_at
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn split_at_checked<T>(slice: &[T], i: usize) -> Option<(&[T],
      &[T])>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/polyfill/slice.rs:51,1
    - Dst: split_at_mut
      Src: /src/spdm-rs/external/ring/src/polyfill/slice.rs:52,1
    - Dst: try_into
      Src: /src/spdm-rs/external/ring/src/polyfill/slice.rs:53,1
    - Dst: ok
      Src: /src/spdm-rs/external/ring/src/polyfill/slice.rs:53,1
    - Dst: map
      Src: /src/spdm-rs/external/ring/src/polyfill/slice.rs:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - slice
    argTypes:
    - '&mut [T]'
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 7
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: split_first_chunk_mut
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/slice.rs
    functionUses: 1
    functionsReached:
    - ok
    - split_at_mut
    - map
    - len
    - try_into
    linkageType: ''
    returnType: Option
    signature: 'pub fn split_first_chunk_mut<T, const N: usize>(slice: &mut [T],)
      -> Option<(&mut [T; N], &mut [T])>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/ring/src/polyfill/cstr.rs:50,1
    - Dst: cast
      Src: /src/spdm-rs/external/ring/src/polyfill/cstr.rs:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: Ref::as_ptr
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/cstr.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    - cast
    linkageType: ''
    returnType: '*const c_char'
    signature: pub fn as_ptr(&self) -> *const c_char
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/ring/src/polyfill/cstr.rs:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - '&''static [u8]'
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: Ref::from_bytes_with_nul_unchecked
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/cstr.rs
    functionUses: 1
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: 'const unsafe fn from_bytes_with_nul_unchecked(value: &''static [u8])
      -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: const_from_bytes_with_nul
      Src: /src/spdm-rs/external/ring/src/polyfill/cstr.rs:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - '&''static [u8]'
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: unwrap_const_from_bytes_with_nul
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/cstr.rs
    functionUses: 0
    functionsReached:
    - const_from_bytes_with_nul
    linkageType: ''
    returnType: Ref
    signature: 'pub const fn unwrap_const_from_bytes_with_nul(value: &''static [u8])
      -> Ref'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - value
    - needle
    argTypes:
    - '&[u8]'
    - '&u8'
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: c::o::n::s::t::_::f::r::o::m::_::b::y::t::e::s::_::w::i::t::h::_::n::u::l::const_contains
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/cstr.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'const fn const_contains(mut value: &[u8], needle: &u8) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: const_contains
      Src: /src/spdm-rs/external/ring/src/polyfill/cstr.rs:82,1
    - Dst: Some
      Src: /src/spdm-rs/external/ring/src/polyfill/cstr.rs:87,1
    - Dst: Ref::from_bytes_with_nul_unchecked
      Src: /src/spdm-rs/external/ring/src/polyfill/cstr.rs:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - value
    argTypes:
    - '&''static [u8]'
    constantsTouched: []
    func_position:
      end: 91
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 91
    functionName: const_from_bytes_with_nul
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/cstr.rs
    functionUses: 1
    functionsReached:
    - Ref::from_bytes_with_nul_unchecked
    - const_contains
    - Some
    linkageType: ''
    returnType: Option
    signature: 'const fn const_from_bytes_with_nul(value: &''static [u8]) -> Option<Ref>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - f
    argTypes:
    - impl Fn([I; 4]) -> O
    constantsTouched: []
    func_position:
      end: 28
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 28
    functionName: '[I; 12]::array_split_map'
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/array_split_map.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '[O; 3]'
    signature: 'fn array_split_map(self, f: impl Fn([I; 4]) -> O) -> [O; 3]'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - f
    argTypes:
    - impl Fn([I; 8]) -> O
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: '[I; 16]::array_split_map'
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/array_split_map.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '[O; 2]'
    signature: 'fn array_split_map(self, f: impl Fn([I; 8]) -> O) -> [O; 2]'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - f
    argTypes:
    - impl Fn([I; 4]) -> O
    constantsTouched: []
    func_position:
      end: 59
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 59
    functionName: '[I; 32]::array_split_map'
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/array_split_map.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '[O; 8]'
    signature: 'fn array_split_map(self, f: impl Fn([I; 4]) -> O) -> [O; 8]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_exact_size_iterator
      Src: /src/spdm-rs/external/ring/src/polyfill/test.rs:6,1
    - Dst: Result::clone
      Src: /src/spdm-rs/external/ring/src/polyfill/test.rs:6,1
    - Dst: assert_exact_size_iterator
      Src: /src/spdm-rs/external/ring/src/polyfill/test.rs:8,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - it
    - expected
    argTypes:
    - impl ExactSizeIterator<Item = T> + Clone
    - '&[T]'
    constantsTouched: []
    func_position:
      end: 9
      start: 1
    functionDepth: 2
    functionLinenumber: 1
    functionLinenumberEnd: 9
    functionName: assert_iterator
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/test.rs
    functionUses: 2
    functionsReached:
    - assert_exact_size_iterator
    - Result::clone
    linkageType: ''
    returnType: void
    signature: 'pub fn assert_iterator<T>(it: impl ExactSizeIterator<Item = T> + Clone,
      expected: &[T])whereT: Copy + core::fmt::Debug + PartialEq,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/polyfill/test.rs:19,1
    - Dst: Result::len
      Src: /src/spdm-rs/external/ring/src/polyfill/test.rs:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - it
    - expected
    argTypes:
    - impl ExactSizeIterator<Item = T>
    - '&[T]'
    constantsTouched: []
    func_position:
      end: 29
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 29
    functionName: assert_exact_size_iterator
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/test.rs
    functionUses: 1
    functionsReached:
    - Result::len
    - len
    linkageType: ''
    returnType: void
    signature: 'fn assert_exact_size_iterator<T>(mut it: impl ExactSizeIterator<Item
      = T>, expected: &[T])whereT: Copy + core::fmt::Debug + PartialEq,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/spdm-rs/external/ring/src/polyfill/leading_zeros_skipped.rs:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: LeadingZerosStripped::clone
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/leading_zeros_skipped.rs
    functionUses: 0
    functionsReached:
    - clone
    linkageType: ''
    returnType: Self
    signature: fn clone(&self) -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/polyfill/leading_zeros_skipped.rs:30,1
    - Dst: peekable
      Src: /src/spdm-rs/external/ring/src/polyfill/leading_zeros_skipped.rs:31,1
    - Dst: next_if_eq
      Src: /src/spdm-rs/external/ring/src/polyfill/leading_zeros_skipped.rs:34,1
    - Dst: is_some
      Src: /src/spdm-rs/external/ring/src/polyfill/leading_zeros_skipped.rs:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - inner
    argTypes:
    - I
    constantsTouched: []
    func_position:
      end: 38
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 38
    functionName: LeadingZerosStripped::new
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/leading_zeros_skipped.rs
    functionUses: 3
    functionsReached:
    - is_some
    - peekable
    - len
    - next_if_eq
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(inner: I) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/spdm-rs/external/ring/src/polyfill/leading_zeros_skipped.rs:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: LeadingZerosStripped::next
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/leading_zeros_skipped.rs
    functionUses: 0
    functionsReached:
    - next
    linkageType: ''
    returnType: Option
    signature: fn next(&mut self) -> Option<Self::Item>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size_hint
      Src: /src/spdm-rs/external/ring/src/polyfill/leading_zeros_skipped.rs:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: LeadingZerosStripped::size_hint
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/leading_zeros_skipped.rs
    functionUses: 0
    functionsReached:
    - size_hint
    linkageType: ''
    returnType: (usize, Option
    signature: fn size_hint(&self) -> (usize, Option<usize>)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/external/ring/src/polyfill/leading_zeros_skipped.rs:73,1
    - Dst: copied
      Src: /src/spdm-rs/external/ring/src/polyfill/leading_zeros_skipped.rs:73,1
    - Dst: for_each
      Src: /src/spdm-rs/external/ring/src/polyfill/leading_zeros_skipped.rs:73,1
    - Dst: LeadingZerosStripped::new
      Src: /src/spdm-rs/external/ring/src/polyfill/leading_zeros_skipped.rs:74,1
    - Dst: iter
      Src: /src/spdm-rs/external/ring/src/polyfill/leading_zeros_skipped.rs:74,1
    - Dst: Self::IntoIter::copied
      Src: /src/spdm-rs/external/ring/src/polyfill/leading_zeros_skipped.rs:74,1
    - Dst: super::super::test::assert_iterator
      Src: /src/spdm-rs/external/ring/src/polyfill/leading_zeros_skipped.rs:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 77
    functionName: tests::test_leading_zeroes_stripped
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/leading_zeros_skipped.rs
    functionUses: 0
    functionsReached:
    - copied
    - Self::IntoIter::copied
    - iter
    - for_each
    - LeadingZerosStripped::new
    - super::super::test::assert_iterator
    linkageType: ''
    returnType: void
    signature: fn test_leading_zeroes_stripped()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - Option<T>
    constantsTouched: []
    func_position:
      end: 29
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 29
    functionName: unwrap_const
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/unwrap_const.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: 'pub const fn unwrap_const<T>(x: Option<T>) -> TwhereT: Copy,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/polyfill/array_flat_map.rs:25,1
    - Dst: usize::checked_mul
      Src: /src/spdm-rs/external/ring/src/polyfill/array_flat_map.rs:25,1
    - Dst: flat_map
      Src: /src/spdm-rs/external/ring/src/polyfill/array_flat_map.rs:26,1
    - Dst: Some
      Src: /src/spdm-rs/external/ring/src/polyfill/array_flat_map.rs:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - inner
    - f
    argTypes:
    - I
    - F
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 6
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: ArrayFlatMap::new
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/array_flat_map.rs
    functionUses: 4
    functionsReached:
    - flat_map
    - len
    - Some
    - usize::checked_mul
    linkageType: ''
    returnType: Option
    signature: 'pub fn new(inner: I, f: F) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/spdm-rs/external/ring/src/polyfill/array_flat_map.rs:39,1
    - Dst: is_some
      Src: /src/spdm-rs/external/ring/src/polyfill/array_flat_map.rs:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: ArrayFlatMap::next
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/array_flat_map.rs
    functionUses: 0
    functionsReached:
    - is_some
    - next
    linkageType: ''
    returnType: Option
    signature: fn next(&mut self) -> Option<Self::Item>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/spdm-rs/external/ring/src/polyfill/array_flat_map.rs:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: ArrayFlatMap::size_hint
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/array_flat_map.rs
    functionUses: 0
    functionsReached:
    - Some
    linkageType: ''
    returnType: (usize, Option
    signature: fn size_hint(&self) -> (usize, Option<usize>)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/external/ring/src/polyfill/array_flat_map.rs:82,1
    - Dst: copied
      Src: /src/spdm-rs/external/ring/src/polyfill/array_flat_map.rs:82,1
    - Dst: for_each
      Src: /src/spdm-rs/external/ring/src/polyfill/array_flat_map.rs:82,1
    - Dst: ArrayFlatMap::new
      Src: /src/spdm-rs/external/ring/src/polyfill/array_flat_map.rs:83,1
    - Dst: iter
      Src: /src/spdm-rs/external/ring/src/polyfill/array_flat_map.rs:83,1
    - Dst: Self::IntoIter::copied
      Src: /src/spdm-rs/external/ring/src/polyfill/array_flat_map.rs:83,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/ring/src/polyfill/array_flat_map.rs:83,1
    - Dst: super::super::test::assert_iterator
      Src: /src/spdm-rs/external/ring/src/polyfill/array_flat_map.rs:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 65
    functionDepth: 5
    functionLinenumber: 65
    functionLinenumberEnd: 86
    functionName: tests::test_array_flat_map
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/array_flat_map.rs
    functionUses: 0
    functionsReached:
    - copied
    - ArrayFlatMap::new
    - Self::IntoIter::copied
    - iter
    - Option::unwrap
    - for_each
    - super::super::test::assert_iterator
    linkageType: ''
    returnType: void
    signature: fn test_array_flat_map()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/external/ring/src/polyfill/array_flat_map.rs:116,1
    - Dst: copied
      Src: /src/spdm-rs/external/ring/src/polyfill/array_flat_map.rs:116,1
    - Dst: for_each
      Src: /src/spdm-rs/external/ring/src/polyfill/array_flat_map.rs:116,1
    - Dst: ArrayFlatMap::new
      Src: /src/spdm-rs/external/ring/src/polyfill/array_flat_map.rs:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 90
    functionDepth: 7
    functionLinenumber: 90
    functionLinenumberEnd: 126
    functionName: tests::test_array_flat_map_len_overflow
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/array_flat_map.rs
    functionUses: 0
    functionsReached:
    - for_each
    - copied
    - iter
    - ArrayFlatMap::new
    linkageType: ''
    returnType: void
    signature: fn test_array_flat_map_len_overflow()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 101
    functionName: cold_exhaustive_error
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/cold_error.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::iter_mut
      Src: /src/spdm-rs/external/ring/src/polyfill/sliceutil.rs:20,1
    - Dst: zip
      Src: /src/spdm-rs/external/ring/src/polyfill/sliceutil.rs:20,1
    - Dst: for_each
      Src: /src/spdm-rs/external/ring/src/polyfill/sliceutil.rs:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - '&mut [T]'
    - '&[T]'
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: overwrite_at_start
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/sliceutil.rs
    functionUses: 6
    functionsReached:
    - for_each
    - Vec::iter_mut
    - zip
    linkageType: ''
    returnType: void
    signature: 'pub fn overwrite_at_start<T: Copy>(a: &mut [T], b: &[T])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks.rs:21,1
    - Dst: split_at
      Src: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks.rs:22,1
    - Dst: AsChunks
      Src: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks.rs:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - slice
    argTypes:
    - '&[T]'
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: as_chunks
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks.rs
    functionUses: 10
    functionsReached:
    - len
    - AsChunks
    - split_at
    linkageType: ''
    returnType: (AsChunks
    signature: 'pub fn as_chunks<T, const N: usize>(slice: &[T]) -> (AsChunks<''_,
      T, N>, &[T])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks.rs:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - '&''a [T; N]'
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: AsChunks::from_ref
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks.rs
    functionUses: 0
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: 'pub fn from_ref(value: &''a [T; N]) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: AsChunks::as_flattened
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[T]'
    signature: pub fn as_flattened(&self) -> &[T]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks.rs:43,1
    - Dst: cast
      Src: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks.rs:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: AsChunks::as_ptr
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    - cast
    linkageType: ''
    returnType: '*const [T; N]'
    signature: pub fn as_ptr(&self) -> *const [T; N]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_empty
      Src: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks.rs:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: AsChunks::is_empty
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks.rs
    functionUses: 0
    functionsReached:
    - is_empty
    linkageType: ''
    returnType: bool
    signature: pub fn is_empty(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks.rs:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: AsChunks::len
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks.rs
    functionUses: 0
    functionsReached:
    - len
    linkageType: ''
    returnType: usize
    signature: pub fn len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_into
      Src: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks.rs:67,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks.rs:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - index
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 4
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: AsChunks::index
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - try_into
    linkageType: ''
    returnType: '&Self::Output'
    signature: 'fn index(&self, index: usize) -> &Self::Output'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AsChunksIter
      Src: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks.rs:77,1
    - Dst: chunks_exact
      Src: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks.rs:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: AsChunks::into_iter
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks.rs
    functionUses: 0
    functionsReached:
    - chunks_exact
    - AsChunksIter
    linkageType: ''
    returnType: Self::IntoIter
    signature: fn into_iter(self) -> Self::IntoIter
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks.rs:88,1
    - Dst: map
      Src: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks.rs:88,1
    - Dst: Result::try_into
      Src: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks.rs:88,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks.rs:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 8
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: AsChunksIter::next
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - Result::try_into
    - map
    - next
    linkageType: ''
    returnType: Option
    signature: fn next(&mut self) -> Option<Self::Item>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks.rs:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - as_2x
    argTypes:
    - AsChunks<'a, T, 8>
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: AsChunks::from
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks.rs
    functionUses: 0
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: 'fn from(as_2x: AsChunks<''a, T, 8>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks_mut.rs:20,1
    - Dst: split_at_mut
      Src: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks_mut.rs:21,1
    - Dst: AsChunksMut
      Src: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks_mut.rs:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - slice
    argTypes:
    - '&mut [T]'
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: as_chunks_mut
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks_mut.rs
    functionUses: 5
    functionsReached:
    - AsChunksMut
    - len
    - split_at_mut
    linkageType: ''
    returnType: (AsChunksMut
    signature: 'pub fn as_chunks_mut<T, const N: usize>(slice: &mut [T]) -> (AsChunksMut<''_,
      T, N>, &mut [T])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: AsChunksMut::as_flattened
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks_mut.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[T]'
    signature: pub fn as_flattened(&self) -> &[T]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: AsChunksMut::as_flattened_mut
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks_mut.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&mut [T]'
    signature: pub fn as_flattened_mut(&mut self) -> &mut [T]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks_mut.rs:45,1
    - Dst: cast
      Src: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks_mut.rs:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: AsChunksMut::as_ptr
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks_mut.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    - cast
    linkageType: ''
    returnType: '*const [T; N]'
    signature: pub fn as_ptr(&self) -> *const [T; N]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_mut_ptr
      Src: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks_mut.rs:50,1
    - Dst: cast
      Src: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks_mut.rs:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: AsChunksMut::as_mut_ptr
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks_mut.rs
    functionUses: 0
    functionsReached:
    - as_mut_ptr
    - cast
    linkageType: ''
    returnType: '*mut [T; N]'
    signature: pub fn as_mut_ptr(&mut self) -> *mut [T; N]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AsChunksMut
      Src: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks_mut.rs:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: AsChunksMut::as_mut
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks_mut.rs
    functionUses: 0
    functionsReached:
    - AsChunksMut
    linkageType: ''
    returnType: AsChunksMut
    signature: pub fn as_mut(&mut self) -> AsChunksMut<'_, T, N>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AsChunks::<T, N>::from
      Src: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks_mut.rs:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: AsChunksMut::as_ref
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks_mut.rs
    functionUses: 0
    functionsReached:
    - AsChunks::<T, N>::from
    linkageType: ''
    returnType: AsChunks
    signature: pub fn as_ref(&self) -> AsChunks<'_, T, N>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AsChunksMutChunksMutIter
      Src: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks_mut.rs:68,1
    - Dst: chunks_mut
      Src: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks_mut.rs:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 4
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: AsChunksMut::chunks_mut
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks_mut.rs
    functionUses: 0
    functionsReached:
    - AsChunksMutChunksMutIter
    - chunks_mut
    linkageType: ''
    returnType: AsChunksMutChunksMutIter
    signature: 'pub fn chunks_mut<const CHUNK_LEN: usize>(&mut self) -> AsChunksMutChunksMutIter<''_,
      T, N>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: split_at_mut
      Src: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks_mut.rs:74,1
    - Dst: AsChunksMut
      Src: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks_mut.rs:75,1
    - Dst: AsChunksMut
      Src: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks_mut.rs:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - mid
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: AsChunksMut::split_at_mut
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks_mut.rs
    functionUses: 0
    functionsReached:
    - AsChunksMut
    - split_at_mut
    linkageType: ''
    returnType: (AsChunksMut
    signature: 'pub fn split_at_mut(&mut self, mid: usize) -> (AsChunksMut<''_, T,
      N>, AsChunksMut<''_, T, N>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks_mut.rs:86,1
    - Dst: map
      Src: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks_mut.rs:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 8
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: AsChunksMutChunksMutIter::next
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks_mut.rs
    functionUses: 0
    functionsReached:
    - map
    - next
    linkageType: ''
    returnType: Option
    signature: fn next(&mut self) -> Option<Self::Item>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AtomicUsize::new
      Src: /src/spdm-rs/external/ring/src/polyfill/once_cell/race.rs:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: OnceNonZeroUsize::new
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/once_cell/race.rs
    functionUses: 0
    functionsReached:
    - AtomicUsize::new
    linkageType: ''
    returnType: OnceNonZeroUsize
    signature: pub const fn new() -> OnceNonZeroUsize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/spdm-rs/external/ring/src/polyfill/once_cell/race.rs:44,1
    - Dst: NonZeroUsize::new
      Src: /src/spdm-rs/external/ring/src/polyfill/once_cell/race.rs:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 11
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: OnceNonZeroUsize::get
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/once_cell/race.rs
    functionUses: 0
    functionsReached:
    - load
    - NonZeroUsize::new
    linkageType: ''
    returnType: Option
    signature: pub fn get(&self) -> Option<NonZeroUsize>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/spdm-rs/external/ring/src/polyfill/once_cell/race.rs:58,1
    - Dst: NonZeroUsize::new
      Src: /src/spdm-rs/external/ring/src/polyfill/once_cell/race.rs:59,1
    - Dst: OnceNonZeroUsize::init
      Src: /src/spdm-rs/external/ring/src/polyfill/once_cell/race.rs:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - f
    argTypes:
    - F
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 11
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: OnceNonZeroUsize::get_or_init
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/once_cell/race.rs
    functionUses: 0
    functionsReached:
    - OnceNonZeroUsize::init
    - load
    - NonZeroUsize::new
    linkageType: ''
    returnType: NonZeroUsize
    signature: 'pub fn get_or_init<F>(&self, f: F) -> NonZeroUsizewhereF: FnOnce()
      -> NonZeroUsize,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::get
      Src: /src/spdm-rs/external/ring/src/polyfill/once_cell/race.rs:68,1
    - Dst: compare_exchange
      Src: /src/spdm-rs/external/ring/src/polyfill/once_cell/race.rs:69,1
    - Dst: NonZeroUsize::new_unchecked
      Src: /src/spdm-rs/external/ring/src/polyfill/once_cell/race.rs:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - f
    argTypes:
    - impl FnOnce() -> NonZeroUsize
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: OnceNonZeroUsize::init
    functionSourceFile: /src/spdm-rs/external/ring/src/polyfill/once_cell/race.rs
    functionUses: 1
    functionsReached:
    - compare_exchange
    - NonZeroUsize::new_unchecked
    - SpdmCertChainBuffer::get
    linkageType: ''
    returnType: NonZeroUsize
    signature: 'fn init(&self, f: impl FnOnce() -> NonZeroUsize) -> NonZeroUsize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_or_init
      Src: /src/spdm-rs/external/ring/src/cpu/arm.rs:141,1
    - Dst: cpu::Features::new_after_feature_flags_written_and_synced_unchecked
      Src: /src/spdm-rs/external/ring/src/cpu/arm.rs:144,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 101
    functionDepth: 12
    functionLinenumber: 101
    functionLinenumberEnd: 145
    functionName: featureflags::get_or_init
    functionSourceFile: /src/spdm-rs/external/ring/src/cpu/arm.rs
    functionUses: 1
    functionsReached:
    - get_or_init
    - cpu::Features::new_after_feature_flags_written_and_synced_unchecked
    linkageType: ''
    returnType: cpu::Features
    signature: pub(in super::super) fn get_or_init() -> cpu::Features
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/spdm-rs/external/ring/src/cpu/arm.rs:154,1
    - Dst: map
      Src: /src/spdm-rs/external/ring/src/cpu/arm.rs:154,1
    - Dst: unwrap_or
      Src: /src/spdm-rs/external/ring/src/cpu/arm.rs:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - _cpu_features
    argTypes:
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 161
      start: 147
    functionDepth: 8
    functionLinenumber: 147
    functionLinenumberEnd: 161
    functionName: featureflags::get
    functionSourceFile: /src/spdm-rs/external/ring/src/cpu/arm.rs
    functionUses: 1
    functionsReached:
    - unwrap_or
    - get
    - map
    linkageType: ''
    returnType: u32
    signature: 'pub(in super::super) fn get(_cpu_features: cpu::Features) -> u32'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - leaf
    - bit
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: c::p::u::i::d::_::t::o::_::c::a::p::s::_::a::n::d::_::s::e::t::_::c::_::f::l::a::g::s::check
    functionSourceFile: /src/spdm-rs/external/ring/src/cpu/intel.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'fn check(leaf: u32, bit: u32) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - out
    - shift
    argTypes:
    - '&mut u32'
    - Shift
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionName: c::p::u::i::d::_::t::o::_::c::a::p::s::_::a::n::d::_::s::e::t::_::c::_::f::l::a::g::s::set
    functionSourceFile: /src/spdm-rs/external/ring/src/cpu/intel.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn set(out: &mut u32, shift: Shift)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/spdm-rs/external/ring/src/cpu/intel.rs:133,1
    - Dst: check
      Src: /src/spdm-rs/external/ring/src/cpu/intel.rs:176,1
    - Dst: check
      Src: /src/spdm-rs/external/ring/src/cpu/intel.rs:177,1
    - Dst: set
      Src: /src/spdm-rs/external/ring/src/cpu/intel.rs:179,1
    - Dst: check
      Src: /src/spdm-rs/external/ring/src/cpu/intel.rs:195,1
    - Dst: set
      Src: /src/spdm-rs/external/ring/src/cpu/intel.rs:196,1
    - Dst: check
      Src: /src/spdm-rs/external/ring/src/cpu/intel.rs:207,1
    - Dst: set
      Src: /src/spdm-rs/external/ring/src/cpu/intel.rs:208,1
    - Dst: check
      Src: /src/spdm-rs/external/ring/src/cpu/intel.rs:216,1
    - Dst: set
      Src: /src/spdm-rs/external/ring/src/cpu/intel.rs:218,1
    - Dst: check
      Src: /src/spdm-rs/external/ring/src/cpu/intel.rs:228,1
    - Dst: check
      Src: /src/spdm-rs/external/ring/src/cpu/intel.rs:229,1
    - Dst: set
      Src: /src/spdm-rs/external/ring/src/cpu/intel.rs:231,1
    - Dst: check
      Src: /src/spdm-rs/external/ring/src/cpu/intel.rs:240,1
    - Dst: set
      Src: /src/spdm-rs/external/ring/src/cpu/intel.rs:241,1
    - Dst: prefixed_extern
      Src: /src/spdm-rs/external/ring/src/cpu/intel.rs:244,1
    - Dst: u8::store
      Src: /src/spdm-rs/external/ring/src/cpu/intel.rs:252,1
    - Dst: check
      Src: /src/spdm-rs/external/ring/src/cpu/intel.rs:265,1
    - Dst: set
      Src: /src/spdm-rs/external/ring/src/cpu/intel.rs:266,1
    - Dst: check
      Src: /src/spdm-rs/external/ring/src/cpu/intel.rs:268,1
    - Dst: set
      Src: /src/spdm-rs/external/ring/src/cpu/intel.rs:269,1
    - Dst: check
      Src: /src/spdm-rs/external/ring/src/cpu/intel.rs:274,1
    - Dst: set
      Src: /src/spdm-rs/external/ring/src/cpu/intel.rs:275,1
    - Dst: set
      Src: /src/spdm-rs/external/ring/src/cpu/intel.rs:281,1
    - Dst: check
      Src: /src/spdm-rs/external/ring/src/cpu/intel.rs:284,1
    - Dst: set
      Src: /src/spdm-rs/external/ring/src/cpu/intel.rs:285,1
    - Dst: check
      Src: /src/spdm-rs/external/ring/src/cpu/intel.rs:288,1
    - Dst: set
      Src: /src/spdm-rs/external/ring/src/cpu/intel.rs:290,1
    - Dst: check
      Src: /src/spdm-rs/external/ring/src/cpu/intel.rs:307,1
    - Dst: set
      Src: /src/spdm-rs/external/ring/src/cpu/intel.rs:308,1
    - Dst: check
      Src: /src/spdm-rs/external/ring/src/cpu/intel.rs:311,1
    - Dst: set
      Src: /src/spdm-rs/external/ring/src/cpu/intel.rs:313,1
    - Dst: prefixed_extern
      Src: /src/spdm-rs/external/ring/src/cpu/intel.rs:318,1
    - Dst: u8::store
      Src: /src/spdm-rs/external/ring/src/cpu/intel.rs:326,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 126
    argCount: 1
    argNames:
    - cpuid
    argTypes:
    - '&[u32; 4]'
    constantsTouched: []
    func_position:
      end: 331
      start: 108
    functionDepth: 4
    functionLinenumber: 108
    functionLinenumberEnd: 331
    functionName: cpuid_to_caps_and_set_c_flags
    functionSourceFile: /src/spdm-rs/external/ring/src/cpu/intel.rs
    functionUses: 0
    functionsReached:
    - set
    - check
    - prefixed_extern
    - u8::store
    linkageType: ''
    returnType: u32
    signature: 'fn cpuid_to_caps_and_set_c_flags(cpuid: &[u32; 4]) -> u32'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 381
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 381
    functionName: tests::x86_has_sse2
    functionSourceFile: /src/spdm-rs/external/ring/src/cpu/intel.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn x86_has_sse2()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: detect::detect_features
      Src: /src/spdm-rs/external/ring/src/cpu/arm.rs:103,1
    - Dst: Neon::mask
      Src: /src/spdm-rs/external/ring/src/cpu/arm.rs:105,1
    - Dst: Neon::mask
      Src: /src/spdm-rs/external/ring/src/cpu/arm.rs:109,1
    - Dst: Neon::mask
      Src: /src/spdm-rs/external/ring/src/cpu/arm.rs:121,1
    - Dst: Neon::mask
      Src: /src/spdm-rs/external/ring/src/cpu/arm.rs:121,1
    - Dst: prefixed_extern
      Src: /src/spdm-rs/external/ring/src/cpu/arm.rs:124,1
    - Dst: store
      Src: /src/spdm-rs/external/ring/src/cpu/arm.rs:132,1
    - Dst: usize_from_u32
      Src: /src/spdm-rs/external/ring/src/cpu/arm.rs:135,1
    - Dst: NonZeroUsize::new
      Src: /src/spdm-rs/external/ring/src/cpu/arm.rs:136,1
    - Dst: OnceNonZeroUsize::unwrap
      Src: /src/spdm-rs/external/ring/src/cpu/arm.rs:136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 102
    functionDepth: 5
    functionLinenumber: 102
    functionLinenumberEnd: 137
    functionName: f::e::a::t::u::r::e::f::l::a::g::s::::::::g::e::t::_::o::r::_::i::n::i::t::init
    functionSourceFile: /src/spdm-rs/external/ring/src/cpu/arm.rs
    functionUses: 0
    functionsReached:
    - detect::detect_features
    - prefixed_extern
    - NonZeroUsize::new
    - Neon::mask
    - usize_from_u32
    - OnceNonZeroUsize::unwrap
    - store
    linkageType: ''
    returnType: NonZeroUsize
    signature: fn init() -> NonZeroUsize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsProcessorFeaturePresent
      Src: /src/spdm-rs/external/ring/src/cpu/arm/windows.rs:28,1
    - Dst: Aes::mask
      Src: /src/spdm-rs/external/ring/src/cpu/arm/windows.rs:32,1
    - Dst: PMull::mask
      Src: /src/spdm-rs/external/ring/src/cpu/arm/windows.rs:33,1
    - Dst: Sha256::mask
      Src: /src/spdm-rs/external/ring/src/cpu/arm/windows.rs:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 22
    functionDepth: 2
    functionLinenumber: 22
    functionLinenumberEnd: 38
    functionName: detect_features
    functionSourceFile: /src/spdm-rs/external/ring/src/cpu/arm/windows.rs
    functionUses: 1
    functionsReached:
    - Aes::mask
    - Sha256::mask
    - PMull::mask
    - IsProcessorFeaturePresent
    linkageType: ''
    returnType: u32
    signature: pub fn detect_features() -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mem::size_of_val
      Src: /src/spdm-rs/external/ring/src/cpu/arm/darwin.rs:60,1
    - Dst: polyfill::ptr::from_mut
      Src: /src/spdm-rs/external/ring/src/cpu/arm/darwin.rs:61,1
    - Dst: cast::<c_void>
      Src: /src/spdm-rs/external/ring/src/cpu/arm/darwin.rs:61,1
    - Dst: libc::sysctlbyname
      Src: /src/spdm-rs/external/ring/src/cpu/arm/darwin.rs:64,1
    - Dst: '&str::as_ptr'
      Src: /src/spdm-rs/external/ring/src/cpu/arm/darwin.rs:64,1
    - Dst: core::ptr::null_mut
      Src: /src/spdm-rs/external/ring/src/cpu/arm/darwin.rs:64,1
    - Dst: mem::size_of_val
      Src: /src/spdm-rs/external/ring/src/cpu/arm/darwin.rs:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - name
    argTypes:
    - cstr::Ref
    constantsTouched: []
    func_position:
      end: 75
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 75
    functionName: d::e::t::e::c::t::_::f::e::a::t::u::r::e::s::detect_feature
    functionSourceFile: /src/spdm-rs/external/ring/src/cpu/arm/darwin.rs
    functionUses: 0
    functionsReached:
    - cast::<c_void>
    - mem::size_of_val
    - polyfill::ptr::from_mut
    - '&str::as_ptr'
    - libc::sysctlbyname
    - core::ptr::null_mut
    linkageType: ''
    returnType: bool
    signature: 'fn detect_feature(name: cstr::Ref) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/cpu/arm/darwin.rs:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 98
    functionDepth: 14
    functionLinenumber: 98
    functionLinenumberEnd: 112
    functionName: tests::sha512_detection
    functionSourceFile: /src/spdm-rs/external/ring/src/cpu/arm/darwin.rs
    functionUses: 0
    functionsReached:
    - cpu::features
    linkageType: ''
    returnType: void
    signature: fn sha512_detection()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/rsa/public_exponent.rs:36,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/rsa/public_exponent.rs:37,1
    - Dst: error::KeyRejected::too_large
      Src: /src/spdm-rs/external/ring/src/rsa/public_exponent.rs:37,1
    - Dst: read_all
      Src: /src/spdm-rs/external/ring/src/rsa/public_exponent.rs:39,1
    - Dst: error::KeyRejected::invalid_encoding
      Src: /src/spdm-rs/external/ring/src/rsa/public_exponent.rs:39,1
    - Dst: peek
      Src: /src/spdm-rs/external/ring/src/rsa/public_exponent.rs:42,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/rsa/public_exponent.rs:43,1
    - Dst: error::KeyRejected::invalid_encoding
      Src: /src/spdm-rs/external/ring/src/rsa/public_exponent.rs:43,1
    - Dst: read_byte
      Src: /src/spdm-rs/external/ring/src/rsa/public_exponent.rs:47,1
    - Dst: map_err
      Src: /src/spdm-rs/external/ring/src/rsa/public_exponent.rs:47,1
    - Dst: error::KeyRejected::invalid_encoding
      Src: /src/spdm-rs/external/ring/src/rsa/public_exponent.rs:49,1
    - Dst: u64::from
      Src: /src/spdm-rs/external/ring/src/rsa/public_exponent.rs:50,1
    - Dst: at_end
      Src: /src/spdm-rs/external/ring/src/rsa/public_exponent.rs:51,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/rsa/public_exponent.rs:52,1
    - Dst: NonZeroU64::new
      Src: /src/spdm-rs/external/ring/src/rsa/public_exponent.rs:61,1
    - Dst: Self::ok_or_else
      Src: /src/spdm-rs/external/ring/src/rsa/public_exponent.rs:61,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/rsa/public_exponent.rs:63,1
    - Dst: error::KeyRejected::too_small
      Src: /src/spdm-rs/external/ring/src/rsa/public_exponent.rs:63,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/rsa/public_exponent.rs:66,1
    - Dst: error::KeyRejected::too_large
      Src: /src/spdm-rs/external/ring/src/rsa/public_exponent.rs:66,1
    - Dst: u8::get
      Src: /src/spdm-rs/external/ring/src/rsa/public_exponent.rs:70,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/rsa/public_exponent.rs:71,1
    - Dst: error::KeyRejected::invalid_component
      Src: /src/spdm-rs/external/ring/src/rsa/public_exponent.rs:71,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/rsa/public_exponent.rs:74,1
    - Dst: Self
      Src: /src/spdm-rs/external/ring/src/rsa/public_exponent.rs:74,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 76
    argCount: 2
    argNames:
    - input
    - min_value
    argTypes:
    - untrusted::Input
    - Self
    constantsTouched: []
    func_position:
      end: 75
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 75
    functionName: PublicExponent::from_be_bytes
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/public_exponent.rs
    functionUses: 1
    functionsReached:
    - read_all
    - read_byte
    - map_err
    - NonZeroU64::new
    - error::KeyRejected::invalid_component
    - error::KeyRejected::too_small
    - Err
    - peek
    - Self::ok_or_else
    - u64::from
    - Self
    - error::KeyRejected::invalid_encoding
    - at_end
    - len
    - u8::get
    - Ok
    - error::KeyRejected::too_large
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn from_be_bytes(input: untrusted::Input,min_value: Self,)
      -> Result<Self, error::KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ArrayFlatMap::new
      Src: /src/spdm-rs/external/ring/src/rsa/public_exponent.rs:82,1
    - Dst: core::iter::once
      Src: /src/spdm-rs/external/ring/src/rsa/public_exponent.rs:82,1
    - Dst: get
      Src: /src/spdm-rs/external/ring/src/rsa/public_exponent.rs:82,1
    - Dst: Option::unwrap
      Src: /src/spdm-rs/external/ring/src/rsa/public_exponent.rs:82,1
    - Dst: LeadingZerosStripped::new
      Src: /src/spdm-rs/external/ring/src/rsa/public_exponent.rs:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 7
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: PublicExponent::be_bytes
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/public_exponent.rs
    functionUses: 0
    functionsReached:
    - ArrayFlatMap::new
    - Option::unwrap
    - LeadingZerosStripped::new
    - get
    - core::iter::once
    linkageType: ''
    returnType: impl ExactSizeIterator
    signature: pub fn be_bytes(&self) -> impl ExactSizeIterator<Item = u8> + Clone
      + '_
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: PublicExponent::value
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/public_exponent.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NonZeroU64
    signature: pub(super) fn value(self) -> NonZeroU64
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/spdm-rs/external/ring/src/rsa/public_exponent.rs:97,1
    - Dst: into
      Src: /src/spdm-rs/external/ring/src/rsa/public_exponent.rs:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 4
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: tests::test_public_exponent_constants
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/public_exponent.rs
    functionUses: 0
    functionsReached:
    - into
    - iter
    linkageType: ''
    returnType: void
    signature: fn test_public_exponent_constants()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::output_len
      Src: /src/spdm-rs/external/ring/src/rsa/padding.rs:76,1
    - Dst: '&mut [u8]::chunks_mut'
      Src: /src/spdm-rs/external/ring/src/rsa/padding.rs:79,1
    - Dst: Result::enumerate
      Src: /src/spdm-rs/external/ring/src/rsa/padding.rs:79,1
    - Dst: digest::Context::new
      Src: /src/spdm-rs/external/ring/src/rsa/padding.rs:80,1
    - Dst: update
      Src: /src/spdm-rs/external/ring/src/rsa/padding.rs:81,1
    - Dst: update
      Src: /src/spdm-rs/external/ring/src/rsa/padding.rs:84,1
    - Dst: u32::to_be_bytes
      Src: /src/spdm-rs/external/ring/src/rsa/padding.rs:84,1
    - Dst: Vec::try_into
      Src: /src/spdm-rs/external/ring/src/rsa/padding.rs:84,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/src/rsa/padding.rs:84,1
    - Dst: finish
      Src: /src/spdm-rs/external/ring/src/rsa/padding.rs:85,1
    - Dst: bb::xor_assign_at_start
      Src: /src/spdm-rs/external/ring/src/rsa/padding.rs:89,1
    - Dst: Digest::as_ref
      Src: /src/spdm-rs/external/ring/src/rsa/padding.rs:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 3
    argNames:
    - digest_alg
    - seed
    - out
    argTypes:
    - '&''static digest::Algorithm'
    - '&[u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 91
      start: 75
    functionDepth: 11
    functionLinenumber: 75
    functionLinenumberEnd: 91
    functionName: mgf1
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/padding.rs
    functionUses: 2
    functionsReached:
    - finish
    - Digest::as_ref
    - Vec::try_into
    - bb::xor_assign_at_start
    - Result::unwrap
    - Option::output_len
    - update
    - digest::Context::new
    - Result::enumerate
    - '&mut [u8]::chunks_mut'
    - u32::to_be_bytes
    linkageType: ''
    returnType: void
    signature: 'fn mgf1(digest_alg: &''static digest::Algorithm, seed: &[u8], out:
      &mut [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/src/rsa/padding.rs:102,1
    - Dst: test_vector_file
      Src: /src/spdm-rs/external/ring/src/rsa/padding.rs:103,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/ring/src/rsa/padding.rs:107,1
    - Dst: String::as_ref
      Src: /src/spdm-rs/external/ring/src/rsa/padding.rs:108,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/src/rsa/padding.rs:115,1
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/rsa/padding.rs:116,1
    - Dst: digest::digest
      Src: /src/spdm-rs/external/ring/src/rsa/padding.rs:117,1
    - Dst: Option::digest_alg
      Src: /src/spdm-rs/external/ring/src/rsa/padding.rs:117,1
    - Dst: SpdmResult::as_slice_less_safe
      Src: /src/spdm-rs/external/ring/src/rsa/padding.rs:117,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/src/rsa/padding.rs:119,1
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/rsa/padding.rs:120,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/src/rsa/padding.rs:123,1
    - Dst: Option::consume_usize_bits
      Src: /src/spdm-rs/external/ring/src/rsa/padding.rs:125,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/ring/src/rsa/padding.rs:126,1
    - Dst: Elem::read_all
      Src: /src/spdm-rs/external/ring/src/rsa/padding.rs:129,1
    - Dst: Option::verify
      Src: /src/spdm-rs/external/ring/src/rsa/padding.rs:129,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/rsa/padding.rs:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 101
    functionDepth: 8
    functionLinenumber: 101
    functionLinenumberEnd: 135
    functionName: test::test_pss_padding_verify
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/padding.rs
    functionUses: 0
    functionsReached:
    - Option::consume_string
    - Option::consume_usize_bits
    - Elem::read_all
    - SpdmResult::as_slice_less_safe
    - digest::digest
    - untrusted::Input::from
    - Option::verify
    - Option::digest_alg
    - test_vector_file
    - Option::consume_bytes
    - test::run
    - Ok
    - String::as_ref
    linkageType: ''
    returnType: void
    signature: fn test_pss_padding_verify()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/src/rsa/padding.rs:141,1
    - Dst: test_vector_file
      Src: /src/spdm-rs/external/ring/src/rsa/padding.rs:142,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/ring/src/rsa/padding.rs:146,1
    - Dst: String::as_ref
      Src: /src/spdm-rs/external/ring/src/rsa/padding.rs:147,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/src/rsa/padding.rs:154,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/src/rsa/padding.rs:155,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/src/rsa/padding.rs:156,1
    - Dst: Option::consume_usize_bits
      Src: /src/spdm-rs/external/ring/src/rsa/padding.rs:157,1
    - Dst: Option::consume_string
      Src: /src/spdm-rs/external/ring/src/rsa/padding.rs:158,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/rsa/padding.rs:162,1
    - Dst: digest::digest
      Src: /src/spdm-rs/external/ring/src/rsa/padding.rs:168,1
    - Dst: Option::digest_alg
      Src: /src/spdm-rs/external/ring/src/rsa/padding.rs:168,1
    - Dst: Option::encode
      Src: /src/spdm-rs/external/ring/src/rsa/padding.rs:170,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/src/rsa/padding.rs:170,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/rsa/padding.rs:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 140
    functionDepth: 8
    functionLinenumber: 140
    functionLinenumberEnd: 176
    functionName: test::test_pss_padding_encode
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/padding.rs
    functionUses: 0
    functionsReached:
    - Option::consume_string
    - Option::consume_usize_bits
    - digest::digest
    - Result::unwrap
    - Option::digest_alg
    - test_vector_file
    - Option::consume_bytes
    - Option::encode
    - test::run
    - Ok
    - String::as_ref
    linkageType: ''
    returnType: void
    signature: fn test_pss_padding_encode()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SpdmCertChainBuffer::debug_struct
      Src: /src/spdm-rs/external/ring/src/rsa/keypair_components.rs:34,1
    - Dst: field
      Src: /src/spdm-rs/external/ring/src/rsa/keypair_components.rs:34,1
    - Dst: finish
      Src: /src/spdm-rs/external/ring/src/rsa/keypair_components.rs:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 11
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: KeyPairComponents::fmt
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/keypair_components.rs
    functionUses: 0
    functionsReached:
    - SpdmCertChainBuffer::debug_struct
    - finish
    - field
    linkageType: ''
    returnType: Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter<''_>) -> Result<(), core::fmt::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: der::nonnegative_integer
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:147,1
    - Dst: Result::map
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:147,1
    - Dst: as_slice_less_safe
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:148,1
    - Dst: FipsServiceStatus::map_err
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:147,1
    - Dst: KeyRejected::invalid_encoding
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - input
    argTypes:
    - '&mut untrusted::Reader<''a>'
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 14
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: K::e::y::P::a::i::r::::::::f::r::o::m::_::d::e::r::_::r::e::a::d::e::r::nonnegative_integer
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/keypair.rs
    functionUses: 0
    functionsReached:
    - der::nonnegative_integer
    - FipsServiceStatus::map_err
    - as_slice_less_safe
    - KeyRejected::invalid_encoding
    - Result::map
    linkageType: ''
    returnType: Result
    signature: 'fn nonnegative_integer<''a>(input: &mut untrusted::Reader<''a>,) ->
      Result<&''a [u8], KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: der::small_nonnegative_integer
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:138,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:138,1
    - Dst: KeyRejected::invalid_encoding
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:139,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:141,1
    - Dst: KeyRejected::version_not_supported
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:141,1
    - Dst: nonnegative_integer
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:152,1
    - Dst: nonnegative_integer
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:153,1
    - Dst: nonnegative_integer
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:154,1
    - Dst: nonnegative_integer
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:155,1
    - Dst: nonnegative_integer
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:156,1
    - Dst: nonnegative_integer
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:157,1
    - Dst: nonnegative_integer
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:158,1
    - Dst: nonnegative_integer
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:159,1
    - Dst: Self::from_components
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:171,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 1
    argNames:
    - input
    argTypes:
    - '&mut untrusted::Reader'
    constantsTouched: []
    func_position:
      end: 172
      start: 137
    functionDepth: 15
    functionLinenumber: 137
    functionLinenumberEnd: 172
    functionName: KeyPair::from_der_reader
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/keypair.rs
    functionUses: 0
    functionsReached:
    - der::small_nonnegative_integer
    - nonnegative_integer
    - Self::from_components
    - KeyRejected::version_not_supported
    - Err
    - Result::map_err
    - KeyRejected::invalid_encoding
    linkageType: ''
    returnType: Result
    signature: 'fn from_der_reader(input: &mut untrusted::Reader) -> Result<Self,
      KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:228,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:229,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:231,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:232,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:233,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:234,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:235,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:236,1
    - Dst: Self::from_components_
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:238,1
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 1
    argNames:
    - components
    argTypes:
    - '&KeyPairComponents<Public, Private>'
    constantsTouched: []
    func_position:
      end: 239
      start: 219
    functionDepth: 15
    functionLinenumber: 219
    functionLinenumberEnd: 239
    functionName: KeyPair::from_components
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/keypair.rs
    functionUses: 0
    functionsReached:
    - as_ref
    - Self::from_components_
    - cpu::features
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_components<Public, Private>(components: &KeyPairComponents<Public,
      Private>,) -> Result<Self, KeyRejected>wherePublic: AsRef<[u8]>,Private: AsRef<[u8]>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:253,1
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:254,1
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:255,1
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:256,1
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:257,1
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:258,1
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:278,1
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:279,1
    - Dst: PublicKey::from_modulus_and_exponent
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:280,1
    - Dst: BitLength::from_bits
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:283,1
    - Dst: '&[u8]::inner'
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:289,1
    - Dst: n
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:289,1
    - Dst: oneRR
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:289,1
    - Dst: '&[u8]::inner'
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:290,1
    - Dst: n
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:290,1
    - Dst: value
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:290,1
    - Dst: '&[u8]::inner'
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:306,1
    - Dst: n
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:306,1
    - Dst: len_bits
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:306,1
    - Dst: PrivatePrime::new
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:308,1
    - Dst: PrivatePrime::new
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:309,1
    - Dst: to_elem
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:322,1
    - Dst: map_err
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:322,1
    - Dst: KeyRejected::inconsistent_components
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:325,1
    - Dst: to_elem
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:326,1
    - Dst: map_err
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:326,1
    - Dst: KeyRejected::inconsistent_components
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:329,1
    - Dst: bigint::elem_mul
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:330,1
    - Dst: bigint::elem_mul
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:331,1
    - Dst: Elem::is_zero
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:332,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:333,1
    - Dst: KeyRejected::inconsistent_components
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:333,1
    - Dst: bigint::OwnedModulusValue::<D>::from_be_bytes
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:343,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:343,1
    - Dst: KeyRejected::invalid_component
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:344,1
    - Dst: BitLength::half_rounded_up
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:345,1
    - Dst: Vec::len_bits
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:345,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:346,1
    - Dst: KeyRejected::inconsistent_components
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:346,1
    - Dst: Vec::verify_less_than
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:350,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:350,1
    - Dst: KeyRejected::inconsistent_components
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:351,1
    - Dst: modulus
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:355,1
    - Dst: bigint::Elem::from_be_bytes_padded
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:360,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:360,1
    - Dst: KeyRejected::invalid_component
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:361,1
    - Dst: bigint::elem_mul
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:368,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:368,1
    - Dst: bigint::elem_reduced
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:369,1
    - Dst: alloc_zero
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:369,1
    - Dst: len_bits
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:369,1
    - Dst: bigint::elem_mul
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:370,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:370,1
    - Dst: bigint::verify_inverses_consttime
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:371,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:371,1
    - Dst: KeyRejected::inconsistent_components
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:372,1
    - Dst: PrivateCrtPrime::new
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:376,1
    - Dst: PrivateCrtPrime::new
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:377,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:379,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 130
    argCount: 2
    argNames:
    - cpu_features
    argTypes:
    - '&KeyPairComponents<&[u8]>'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 385
      start: 241
    functionDepth: 14
    functionLinenumber: 241
    functionLinenumberEnd: 385
    functionName: KeyPair::from_components_
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/keypair.rs
    functionUses: 0
    functionsReached:
    - map_err
    - value
    - to_elem
    - bigint::verify_inverses_consttime
    - Vec::len_bits
    - Elem::is_zero
    - PrivateCrtPrime::new
    - bigint::elem_mul
    - alloc_zero
    - PrivatePrime::new
    - bigint::OwnedModulusValue::<D>::from_be_bytes
    - bigint::Elem::from_be_bytes_padded
    - BitLength::from_bits
    - KeyRejected::invalid_component
    - bigint::elem_reduced
    - Ok
    - PublicKey::from_modulus_and_exponent
    - Err
    - n
    - BitLength::half_rounded_up
    - untrusted::Input::from
    - as_ref
    - KeyRejected::inconsistent_components
    - '&[u8]::inner'
    - Vec::verify_less_than
    - Result::map_err
    - modulus
    - len_bits
    - oneRR
    linkageType: ''
    returnType: Result
    signature: fn from_components_(&KeyPairComponents
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 390
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 390
    functionName: KeyPair::public
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/keypair.rs
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: '&PublicKey'
    signature: pub fn public(&self) -> &PublicKey
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bigint::OwnedModulusValue::from_be_bytes
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:421,1
    - Dst: len_bits
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:430,1
    - Dst: BitLength::half_rounded_up
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:430,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:431,1
    - Dst: KeyRejected::inconsistent_components
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:431,1
    - Dst: len_bits
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:434,1
    - Dst: BitLength::as_bits
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:434,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:435,1
    - Dst: KeyRejected::private_modulus_len_not_multiple_of_512_bits
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:435,1
    - Dst: bigint::OwnedModulus::from
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:442,1
    - Dst: modulus
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:443,1
    - Dst: bigint::One::newRR
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:444,1
    - Dst: alloc_zero
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:444,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:446,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 3
    argNames:
    - p
    - n_bits
    - cpu_features
    argTypes:
    - untrusted::Input
    - BitLength
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 447
      start: 416
    functionDepth: 11
    functionLinenumber: 416
    functionLinenumberEnd: 447
    functionName: PrivatePrime::new
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/keypair.rs
    functionUses: 1
    functionsReached:
    - BitLength::as_bits
    - alloc_zero
    - bigint::One::newRR
    - KeyRejected::private_modulus_len_not_multiple_of_512_bits
    - Err
    - BitLength::half_rounded_up
    - bigint::OwnedModulusValue::from_be_bytes
    - bigint::OwnedModulus::from
    - modulus
    - len_bits
    - Ok
    - KeyRejected::inconsistent_components
    linkageType: ''
    returnType: Result
    signature: 'fn new(p: untrusted::Input,n_bits: BitLength,cpu_features: cpu::Features,)
      -> Result<Self, KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulus
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:464,1
    - Dst: bigint::PrivateExponent::from_be_bytes_padded
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:466,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:466,1
    - Dst: KeyRejected::inconsistent_components
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:467,1
    - Dst: bigint::One::newRRR
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:478,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - p
    - dP
    - cpu_features
    argTypes:
    - PrivatePrime<M>
    - untrusted::Input
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 485
      start: 459
    functionDepth: 10
    functionLinenumber: 459
    functionLinenumberEnd: 485
    functionName: PrivateCrtPrime::new
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/keypair.rs
    functionUses: 1
    functionsReached:
    - bigint::PrivateExponent::from_be_bytes_padded
    - bigint::One::newRRR
    - Result::map_err
    - modulus
    - Ok
    - KeyRejected::inconsistent_components
    linkageType: ''
    returnType: Result
    signature: 'fn new(p: PrivatePrime<M>,dP: untrusted::Input,cpu_features: cpu::Features,)
      -> Result<Self, KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: inner
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:587,1
    - Dst: n
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:587,1
    - Dst: value
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:587,1
    - Dst: inner
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:588,1
    - Dst: n
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:588,1
    - Dst: oneRR
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:588,1
    - Dst: bigint::Elem::from_be_bytes_padded
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:591,1
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:591,1
    - Dst: len_bits
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:597,1
    - Dst: elem_exp_consttime
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:598,1
    - Dst: elem_exp_consttime
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:599,1
    - Dst: len_bits
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:599,1
    - Dst: modulus
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:605,1
    - Dst: bigint::elem_reduced_once
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:606,1
    - Dst: alloc_zero
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:606,1
    - Dst: bigint::elem_sub
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:607,1
    - Dst: bigint::elem_mul
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:608,1
    - Dst: len_bits
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:615,1
    - Dst: bigint::elem_widen
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:616,1
    - Dst: alloc_zero
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:616,1
    - Dst: to_elem
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:617,1
    - Dst: bigint::elem_mul
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:618,1
    - Dst: bigint::elem_mul
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:619,1
    - Dst: bigint::elem_widen
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:620,1
    - Dst: alloc_zero
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:620,1
    - Dst: bigint::elem_add
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:621,1
    - Dst: alloc_zero
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:634,1
    - Dst: inner
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:635,1
    - Dst: exponentiate_elem
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:635,1
    - Dst: bigint::elem_verify_equal_consttime
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:639,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:644,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 87
    argCount: 2
    argNames:
    - base
    - cpu_features
    argTypes:
    - '&[u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 645
      start: 577
    functionDepth: 12
    functionLinenumber: 577
    functionLinenumberEnd: 645
    functionName: KeyPair::private_exponentiate
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/keypair.rs
    functionUses: 1
    functionsReached:
    - value
    - to_elem
    - elem_exp_consttime
    - bigint::elem_verify_equal_consttime
    - bigint::elem_mul
    - alloc_zero
    - bigint::Elem::from_be_bytes_padded
    - Ok
    - bigint::elem_reduced_once
    - n
    - untrusted::Input::from
    - bigint::elem_sub
    - bigint::elem_add
    - modulus
    - bigint::elem_widen
    - inner
    - len_bits
    - oneRR
    - exponentiate_elem
    linkageType: ''
    returnType: Result
    signature: 'fn private_exponentiate(&self,base: &[u8],cpu_features: cpu::Features,)
      -> Result<bigint::Elem<N>, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:656,1
    - Dst: test::run
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:657,1
    - Dst: test_vector_file
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:658,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:662,1
    - Dst: KeyPair::from_pkcs8
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:663,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:663,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:665,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:666,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:667,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:668,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:669,1
    - Dst: Option::consume_bytes
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:670,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:677,1
    - Dst: Option::len
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:677,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:678,1
    - Dst: bool::private_exponentiate
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:679,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:679,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/rsa/keypair.rs:681,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 684
      start: 655
    functionDepth: 14
    functionLinenumber: 655
    functionLinenumberEnd: 684
    functionName: tests::test_rsakeypair_private_exponentiate
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/keypair.rs
    functionUses: 0
    functionsReached:
    - Ok
    - KeyPair::from_pkcs8
    - cpu::features
    - Result::unwrap
    - copy_from_slice
    - len
    - Option::len
    - test_vector_file
    - Option::consume_bytes
    - test::run
    - bool::private_exponentiate
    linkageType: ''
    returnType: void
    signature: fn test_rsakeypair_private_exponentiate()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 61
    functionName: rsa_params
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/verification.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verify_rsa_
      Src: /src/spdm-rs/external/ring/src/rsa/verification.rs:185,1
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/rsa/verification.rs:188,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/src/rsa/verification.rs:188,1
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/rsa/verification.rs:189,1
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/src/rsa/verification.rs:189,1
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/rsa/verification.rs:191,1
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/rsa/verification.rs:192,1
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/rsa/verification.rs:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - params
    - message
    - signature
    argTypes:
    - '&RsaParameters'
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 195
      start: 179
    functionDepth: 14
    functionLinenumber: 179
    functionLinenumberEnd: 195
    functionName: super::PublicKeyComponents::verify
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/verification.rs
    functionUses: 0
    functionsReached:
    - untrusted::Input::from
    - verify_rsa_
    - as_ref
    - cpu::features
    linkageType: ''
    returnType: Result
    signature: 'pub fn verify(&self,params: &RsaParameters,message: &[u8],signature:
      &[u8],) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bits::BitLength::from_byte_len
      Src: /src/spdm-rs/external/ring/src/rsa/verification.rs:206,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/rsa/verification.rs:206,1
    - Dst: public_key::Inner::from_modulus_and_exponent
      Src: /src/spdm-rs/external/ring/src/rsa/verification.rs:213,1
    - Dst: bool::exponentiate
      Src: /src/spdm-rs/external/ring/src/rsa/verification.rs:224,1
    - Dst: digest::digest
      Src: /src/spdm-rs/external/ring/src/rsa/verification.rs:227,1
    - Dst: digest_alg
      Src: /src/spdm-rs/external/ring/src/rsa/verification.rs:227,1
    - Dst: SpdmResult::as_slice_less_safe
      Src: /src/spdm-rs/external/ring/src/rsa/verification.rs:227,1
    - Dst: untrusted::Input::from
      Src: /src/spdm-rs/external/ring/src/rsa/verification.rs:228,1
    - Dst: Self::read_all
      Src: /src/spdm-rs/external/ring/src/rsa/verification.rs:228,1
    - Dst: verify
      Src: /src/spdm-rs/external/ring/src/rsa/verification.rs:229,1
    - Dst: bool::n
      Src: /src/spdm-rs/external/ring/src/rsa/verification.rs:229,1
    - Dst: len_bits
      Src: /src/spdm-rs/external/ring/src/rsa/verification.rs:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 5
    argNames:
    - params
    - msg
    - signature
    - cpu_features
    argTypes:
    - '&RsaParameters'
    - (untrusted::Input, untrusted::Input)
    - untrusted::Input
    - untrusted::Input
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 231
      start: 198
    functionDepth: 13
    functionLinenumber: 198
    functionLinenumberEnd: 231
    functionName: verify_rsa_
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/verification.rs
    functionUses: 2
    functionsReached:
    - bits::BitLength::from_byte_len
    - public_key::Inner::from_modulus_and_exponent
    - digest_alg
    - SpdmResult::as_slice_less_safe
    - Result::map_err
    - bool::exponentiate
    - digest::digest
    - untrusted::Input::from
    - verify
    - bool::n
    - Self::read_all
    - len_bits
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn verify_rsa_(params: &RsaParameters,(n, e): (untrusted::Input,
      untrusted::Input),msg: untrusted::Input,signature: untrusted::Input,cpu_features:
      cpu::Features,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::clone
      Src: /src/spdm-rs/external/ring/src/rsa/public_modulus.rs:19,1
    - Dst: cpu::features
      Src: /src/spdm-rs/external/ring/src/rsa/public_modulus.rs:23,1
    - Dst: u8::modulus
      Src: /src/spdm-rs/external/ring/src/rsa/public_modulus.rs:24,1
    - Dst: '&bigint::Elem::clone_into'
      Src: /src/spdm-rs/external/ring/src/rsa/public_modulus.rs:25,1
    - Dst: alloc_zero
      Src: /src/spdm-rs/external/ring/src/rsa/public_modulus.rs:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 17
    functionDepth: 14
    functionLinenumber: 17
    functionLinenumberEnd: 28
    functionName: PublicModulus::clone
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/public_modulus.rs
    functionUses: 0
    functionsReached:
    - u8::clone
    - alloc_zero
    - u8::modulus
    - cpu::features
    - '&bigint::Elem::clone_into'
    linkageType: ''
    returnType: Self
    signature: fn clone(&self) -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RangeInclusive<bits::BitLength>::start
      Src: /src/spdm-rs/external/ring/src/rsa/public_modulus.rs:47,1
    - Dst: RangeInclusive<bits::BitLength>::end
      Src: /src/spdm-rs/external/ring/src/rsa/public_modulus.rs:48,1
    - Dst: bigint::OwnedModulusValue::from_be_bytes
      Src: /src/spdm-rs/external/ring/src/rsa/public_modulus.rs:56,1
    - Dst: u8::len_bits
      Src: /src/spdm-rs/external/ring/src/rsa/public_modulus.rs:57,1
    - Dst: bits::BitLength::from_byte_len
      Src: /src/spdm-rs/external/ring/src/rsa/public_modulus.rs:63,1
    - Dst: Vec::as_usize_bytes_rounded_up
      Src: /src/spdm-rs/external/ring/src/rsa/public_modulus.rs:63,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/rsa/public_modulus.rs:63,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/ring/src/rsa/public_modulus.rs:63,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/rsa/public_modulus.rs:67,1
    - Dst: error::KeyRejected::too_small
      Src: /src/spdm-rs/external/ring/src/rsa/public_modulus.rs:67,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/rsa/public_modulus.rs:70,1
    - Dst: error::KeyRejected::too_large
      Src: /src/spdm-rs/external/ring/src/rsa/public_modulus.rs:70,1
    - Dst: bigint::OwnedModulus::from
      Src: /src/spdm-rs/external/ring/src/rsa/public_modulus.rs:72,1
    - Dst: u8::modulus
      Src: /src/spdm-rs/external/ring/src/rsa/public_modulus.rs:73,1
    - Dst: bigint::One::newRR
      Src: /src/spdm-rs/external/ring/src/rsa/public_modulus.rs:74,1
    - Dst: alloc_zero
      Src: /src/spdm-rs/external/ring/src/rsa/public_modulus.rs:74,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/rsa/public_modulus.rs:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 42
    argCount: 3
    argNames:
    - n
    - allowed_bit_lengths
    - cpu_features
    argTypes:
    - untrusted::Input
    - RangeInclusive<bits::BitLength>
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 77
      start: 39
    functionDepth: 11
    functionLinenumber: 39
    functionLinenumberEnd: 77
    functionName: PublicModulus::from_be_bytes
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/public_modulus.rs
    functionUses: 1
    functionsReached:
    - RangeInclusive<bits::BitLength>::end
    - bits::BitLength::from_byte_len
    - Vec::as_usize_bytes_rounded_up
    - alloc_zero
    - u8::modulus
    - bigint::One::newRR
    - unwrap
    - error::KeyRejected::too_small
    - Err
    - Result::map_err
    - bigint::OwnedModulusValue::from_be_bytes
    - bigint::OwnedModulus::from
    - u8::len_bits
    - RangeInclusive<bits::BitLength>::start
    - Ok
    - error::KeyRejected::too_large
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn from_be_bytes(n: untrusted::Input,allowed_bit_lengths:
      RangeInclusive<bits::BitLength>,cpu_features: cpu::Features,) -> Result<Self,
      error::KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: be_bytes
      Src: /src/spdm-rs/external/ring/src/rsa/public_modulus.rs:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 5
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: PublicModulus::be_bytes
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/public_modulus.rs
    functionUses: 0
    functionsReached:
    - be_bytes
    linkageType: ''
    returnType: impl ExactSizeIterator
    signature: pub fn be_bytes(&self) -> impl ExactSizeIterator<Item = u8> + Clone
      + '_
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len_bits
      Src: /src/spdm-rs/external/ring/src/rsa/public_modulus.rs:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: PublicModulus::len_bits
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/public_modulus.rs
    functionUses: 0
    functionsReached:
    - len_bits
    linkageType: ''
    returnType: bits::BitLength
    signature: pub fn len_bits(&self) -> bits::BitLength
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulus
      Src: /src/spdm-rs/external/ring/src/rsa/public_modulus.rs:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cpu_features
    argTypes:
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 10
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: PublicModulus::value
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/public_modulus.rs
    functionUses: 0
    functionsReached:
    - modulus
    linkageType: ''
    returnType: bigint::Modulus
    signature: 'pub(super) fn value(&self, cpu_features: cpu::Features) -> bigint::Modulus<''_,
      N>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ref
      Src: /src/spdm-rs/external/ring/src/rsa/public_modulus.rs:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: PublicModulus::oneRR
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/public_modulus.rs
    functionUses: 0
    functionsReached:
    - as_ref
    linkageType: ''
    returnType: '&bigint::Elem'
    signature: pub(super) fn oneRR(&self) -> &bigint::Elem<N, RR>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Inner::from_modulus_and_exponent
      Src: /src/spdm-rs/external/ring/src/rsa/public_key.rs:43,1
    - Dst: io::Positive::from_be_bytes
      Src: /src/spdm-rs/external/ring/src/rsa/public_key.rs:59,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/rsa/public_key.rs:59,1
    - Dst: error::KeyRejected::unexpected_error
      Src: /src/spdm-rs/external/ring/src/rsa/public_key.rs:60,1
    - Dst: io::Positive::from_be_bytes
      Src: /src/spdm-rs/external/ring/src/rsa/public_key.rs:61,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/rsa/public_key.rs:61,1
    - Dst: error::KeyRejected::unexpected_error
      Src: /src/spdm-rs/external/ring/src/rsa/public_key.rs:62,1
    - Dst: der_writer::write_all
      Src: /src/spdm-rs/external/ring/src/rsa/public_key.rs:63,1
    - Dst: der_writer::write_positive_integer
      Src: /src/spdm-rs/external/ring/src/rsa/public_key.rs:64,1
    - Dst: der_writer::write_positive_integer
      Src: /src/spdm-rs/external/ring/src/rsa/public_key.rs:65,1
    - Dst: Result::map_err
      Src: /src/spdm-rs/external/ring/src/rsa/public_key.rs:63,1
    - Dst: error::KeyRejected::unexpected_error
      Src: /src/spdm-rs/external/ring/src/rsa/public_key.rs:67,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/rsa/public_key.rs:69,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 6
    argNames:
    - n
    - e
    - n_min_bits
    - n_max_bits
    - e_min_value
    - cpu_features
    argTypes:
    - untrusted::Input
    - untrusted::Input
    - bits::BitLength
    - bits::BitLength
    - PublicExponent
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 70
      start: 35
    functionDepth: 13
    functionLinenumber: 35
    functionLinenumberEnd: 70
    functionName: PublicKey::from_modulus_and_exponent
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/public_key.rs
    functionUses: 1
    functionsReached:
    - der_writer::write_all
    - error::KeyRejected::unexpected_error
    - Result::map_err
    - io::Positive::from_be_bytes
    - Inner::from_modulus_and_exponent
    - der_writer::write_positive_integer
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn from_modulus_and_exponent(n: untrusted::Input,e: untrusted::Input,n_min_bits:
      bits::BitLength,n_max_bits: bits::BitLength,e_min_value: PublicExponent,cpu_features:
      cpu::Features,) -> Result<Self, error::KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: PublicKey::inner
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/public_key.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: '&Inner'
    signature: pub(super) fn inner(&self) -> &Inner
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PublicModulus::from_be_bytes
      Src: /src/spdm-rs/external/ring/src/rsa/public_key.rs:111,1
    - Dst: PublicExponent::from_be_bytes
      Src: /src/spdm-rs/external/ring/src/rsa/public_key.rs:113,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/rsa/public_key.rs:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - n
    - e
    - n_min_bits
    - n_max_bits
    - e_min_value
    - cpu_features
    argTypes:
    - untrusted::Input
    - untrusted::Input
    - bits::BitLength
    - bits::BitLength
    - PublicExponent
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 123
      start: 94
    functionDepth: 12
    functionLinenumber: 94
    functionLinenumberEnd: 123
    functionName: Inner::from_modulus_and_exponent
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/public_key.rs
    functionUses: 2
    functionsReached:
    - PublicModulus::from_be_bytes
    - Ok
    - PublicExponent::from_be_bytes
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn from_modulus_and_exponent(n: untrusted::Input,e: untrusted::Input,n_min_bits:
      bits::BitLength,n_max_bits: bits::BitLength,e_min_value: PublicExponent,cpu_features:
      cpu::Features,) -> Result<Self, error::KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: Inner::n
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/public_key.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&PublicModulus'
    signature: pub(super) fn n(&self) -> &PublicModulus
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: Inner::e
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/public_key.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PublicExponent
    signature: pub(super) fn e(&self) -> PublicExponent
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/spdm-rs/external/ring/src/rsa/public_key.rs:150,1
    - Dst: SpdmBaseAsymAlgo::len
      Src: /src/spdm-rs/external/ring/src/rsa/public_key.rs:154,1
    - Dst: len_bits
      Src: /src/spdm-rs/external/ring/src/rsa/public_key.rs:154,1
    - Dst: as_usize_bytes_rounded_up
      Src: /src/spdm-rs/external/ring/src/rsa/public_key.rs:154,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/rsa/public_key.rs:155,1
    - Dst: bigint::Elem::from_be_bytes_padded
      Src: /src/spdm-rs/external/ring/src/rsa/public_key.rs:161,1
    - Dst: SpdmResult::is_zero
      Src: /src/spdm-rs/external/ring/src/rsa/public_key.rs:162,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/rsa/public_key.rs:163,1
    - Dst: alloc_zero
      Src: /src/spdm-rs/external/ring/src/rsa/public_key.rs:167,1
    - Dst: Inner::exponentiate_elem
      Src: /src/spdm-rs/external/ring/src/rsa/public_key.rs:168,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/rsa/public_key.rs:171,1
    - Dst: fill_be_bytes_n
      Src: /src/spdm-rs/external/ring/src/rsa/public_key.rs:171,1
    - Dst: len_bits
      Src: /src/spdm-rs/external/ring/src/rsa/public_key.rs:171,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 3
    argNames:
    - base
    - out_buffer
    - cpu_features
    argTypes:
    - untrusted::Input
    - '&''out mut [u8; PUBLIC_KEY_PUBLIC_MODULUS_MAX_LEN]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 172
      start: 144
    functionDepth: 15
    functionLinenumber: 144
    functionLinenumberEnd: 172
    functionName: Inner::exponentiate
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/public_key.rs
    functionUses: 0
    functionsReached:
    - alloc_zero
    - Inner::exponentiate_elem
    - value
    - as_usize_bytes_rounded_up
    - Err
    - SpdmBaseAsymAlgo::len
    - fill_be_bytes_n
    - bigint::Elem::from_be_bytes_padded
    - len_bits
    - SpdmResult::is_zero
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn exponentiate<''out>(&self,base: untrusted::Input,out_buffer:
      &''out mut [u8; PUBLIC_KEY_PUBLIC_MODULUS_MAX_LEN],cpu_features: cpu::Features,)
      -> Result<&''out [u8], error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NonZeroU64::try_from
      Src: /src/spdm-rs/external/ring/src/rsa/public_key.rs:184,1
    - Dst: value
      Src: /src/spdm-rs/external/ring/src/rsa/public_key.rs:184,1
    - Dst: get
      Src: /src/spdm-rs/external/ring/src/rsa/public_key.rs:184,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/src/rsa/public_key.rs:184,1
    - Dst: value
      Src: /src/spdm-rs/external/ring/src/rsa/public_key.rs:188,1
    - Dst: alloc_zero
      Src: /src/spdm-rs/external/ring/src/rsa/public_key.rs:190,1
    - Dst: bigint::elem_mul_into
      Src: /src/spdm-rs/external/ring/src/rsa/public_key.rs:191,1
    - Dst: oneRR
      Src: /src/spdm-rs/external/ring/src/rsa/public_key.rs:191,1
    - Dst: bigint::elem_exp_vartime
      Src: /src/spdm-rs/external/ring/src/rsa/public_key.rs:197,1
    - Dst: bigint::elem_mul
      Src: /src/spdm-rs/external/ring/src/rsa/public_key.rs:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 3
    argNames:
    - out
    - base
    - cpu_features
    argTypes:
    - bigint::Storage<N>
    - '&bigint::Elem<N>'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 201
      start: 177
    functionDepth: 14
    functionLinenumber: 177
    functionLinenumberEnd: 201
    functionName: Inner::exponentiate_elem
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/public_key.rs
    functionUses: 1
    functionsReached:
    - bigint::elem_mul
    - alloc_zero
    - bigint::elem_exp_vartime
    - NonZeroU64::try_from
    - value
    - bigint::elem_mul_into
    - Result::unwrap
    - get
    - oneRR
    linkageType: ''
    returnType: bigint::Elem
    signature: 'pub(super) fn exponentiate_elem(&self,out: bigint::Storage<N>,base:
      &bigint::Elem<N>,cpu_features: cpu::Features,) -> bigint::Elem<N>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BitLength::as_usize_bytes_rounded_up
      Src: /src/spdm-rs/external/ring/src/rsa/public_key.rs:221,1
    - Dst: Elem::fill_be_bytes
      Src: /src/spdm-rs/external/ring/src/rsa/public_key.rs:224,1
    - Dst: '&mut [u8; PUBLIC_KEY_PUBLIC_MODULUS_MAX_LEN]::split_at'
      Src: /src/spdm-rs/external/ring/src/rsa/public_key.rs:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 3
    argNames:
    - elem
    - n_bits
    - out
    argTypes:
    - bigint::Elem<N>
    - bits::BitLength
    - '&mut [u8; PUBLIC_KEY_PUBLIC_MODULUS_MAX_LEN]'
    constantsTouched: []
    func_position:
      end: 228
      start: 216
    functionDepth: 10
    functionLinenumber: 216
    functionLinenumberEnd: 228
    functionName: fill_be_bytes_n
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/public_key.rs
    functionUses: 1
    functionsReached:
    - BitLength::as_usize_bytes_rounded_up
    - '&mut [u8; PUBLIC_KEY_PUBLIC_MODULUS_MAX_LEN]::split_at'
    - Elem::fill_be_bytes
    linkageType: ''
    returnType: '&[u8]'
    signature: 'fn fill_be_bytes_n(elem: bigint::Elem<N>,n_bits: bits::BitLength,out:
      &mut [u8; PUBLIC_KEY_PUBLIC_MODULUS_MAX_LEN],) -> &[u8]'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: PKCS1::digest_alg
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/padding/pkcs1.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''static digest::Algorithm'
    signature: fn digest_alg(&self) -> &'static digest::Algorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs1_encode
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pkcs1.rs:46,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pkcs1.rs:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - m_hash
    - m_out
    - _mod_bits
    - _rng
    argTypes:
    - digest::Digest
    - '&mut [u8]'
    - bits::BitLength
    - '&dyn rand::SecureRandom'
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 6
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: PKCS1::encode
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/padding/pkcs1.rs
    functionUses: 0
    functionsReached:
    - pkcs1_encode
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self,m_hash: digest::Digest,m_out: &mut [u8],_mod_bits:
      bits::BitLength,_rng: &dyn rand::SecureRandom,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bits::BitLength::as_usize_bytes_rounded_up
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pkcs1.rs:61,1
    - Dst: pkcs1_encode
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pkcs1.rs:62,1
    - Dst: read_bytes_to_end
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pkcs1.rs:63,1
    - Dst: as_slice_less_safe
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pkcs1.rs:63,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pkcs1.rs:64,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pkcs1.rs:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 3
    argNames:
    - m_hash
    - m
    - mod_bits
    argTypes:
    - digest::Digest
    - '&mut untrusted::Reader'
    - bits::BitLength
    constantsTouched: []
    func_position:
      end: 67
      start: 52
    functionDepth: 6
    functionLinenumber: 52
    functionLinenumberEnd: 67
    functionName: PKCS1::verify
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/padding/pkcs1.rs
    functionUses: 0
    functionsReached:
    - read_bytes_to_end
    - Ok
    - bits::BitLength::as_usize_bytes_rounded_up
    - Err
    - as_slice_less_safe
    - pkcs1_encode
    linkageType: ''
    returnType: Result
    signature: 'fn verify(&self,m_hash: digest::Digest,m: &mut untrusted::Reader,mod_bits:
      bits::BitLength,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pkcs1.rs:77,1
    - Dst: output_len
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pkcs1.rs:77,1
    - Dst: Result::len
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pkcs1.rs:82,1
    - Dst: split_at_mut
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pkcs1.rs:90,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pkcs1.rs:90,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pkcs1.rs:91,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pkcs1.rs:92,1
    - Dst: digest::Digest::as_ref
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pkcs1.rs:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 46
    argCount: 3
    argNames:
    - pkcs1
    - m_hash
    - m_out
    argTypes:
    - '&PKCS1'
    - digest::Digest
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 93
      start: 74
    functionDepth: 5
    functionLinenumber: 74
    functionLinenumberEnd: 93
    functionName: pkcs1_encode
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/padding/pkcs1.rs
    functionUses: 2
    functionsReached:
    - digest::Digest::as_ref
    - output_len
    - split_at_mut
    - Result::len
    - len
    - copy_from_slice
    linkageType: ''
    returnType: void
    signature: 'fn pkcs1_encode(pkcs1: &PKCS1, m_hash: digest::Digest, m_out: &mut
      [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: rsa_pkcs1_padding
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/padding/pkcs1.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pkcs1.rs:3,1
    - Dst: into
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pkcs1.rs:4,1
    - Dst: into
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pkcs1.rs:5,1
    - Dst: into
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pkcs1.rs:6,1
    - Dst: into
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pkcs1.rs:7,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 138
    functionDepth: 4
    functionLinenumber: 138
    functionLinenumberEnd: 149
    functionName: pkcs1_digestinfo_prefix
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/padding/pkcs1.rs
    functionUses: 0
    functionsReached:
    - into
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: PSS::digest_alg
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''static digest::Algorithm'
    signature: fn digest_alg(&self) -> &'static digest::Algorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PSSMetrics::new
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:48,1
    - Dst: Result::split_at_mut
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:68,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:70,1
    - Dst: '&dyn rand::SecureRandom::fill'
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:75,1
    - Dst: pss_digest
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:80,1
    - Dst: fill
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:83,1
    - Dst: super::mgf1
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:89,1
    - Dst: Vec::as_ref
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:89,1
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:95,1
    - Dst: Vec::as_ref
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:95,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 62
    argCount: 4
    argNames:
    - m_hash
    - m_out
    - mod_bits
    - rng
    argTypes:
    - digest::Digest
    - '&mut [u8]'
    - bits::BitLength
    - '&dyn rand::SecureRandom'
    constantsTouched: []
    func_position:
      end: 99
      start: 41
    functionDepth: 12
    functionLinenumber: 41
    functionLinenumberEnd: 99
    functionName: PSS::encode
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs
    functionUses: 0
    functionsReached:
    - '&dyn rand::SecureRandom::fill'
    - PSSMetrics::new
    - super::mgf1
    - Vec::as_ref
    - len
    - copy_from_slice
    - Result::split_at_mut
    - fill
    - Ok
    - pss_digest
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self,m_hash: digest::Digest,m_out: &mut [u8],mod_bits:
      bits::BitLength,rng: &dyn rand::SecureRandom,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PSSMetrics::new
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:111,1
    - Dst: read_byte
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:123,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:124,1
    - Dst: Result::read_bytes
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:137,1
    - Dst: Result::read_bytes
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:138,1
    - Dst: Result::read_byte
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:141,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:142,1
    - Dst: super::mgf1
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:149,1
    - Dst: as_slice_less_safe
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:149,1
    - Dst: read_all
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:151,1
    - Dst: read_byte
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:153,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:155,1
    - Dst: read_bytes
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:161,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:161,1
    - Dst: bb::xor_assign_at_start
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:162,1
    - Dst: as_slice_less_safe
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:162,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:163,1
    - Dst: iter
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:171,1
    - Dst: any
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:171,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:172,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:175,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:179,1
    - Dst: pss_digest
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:182,1
    - Dst: as_slice_less_safe
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:185,1
    - Dst: digest::Digest::as_ref
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:185,1
    - Dst: Err
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:186,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:189,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 123
    argCount: 3
    argNames:
    - m_hash
    - m
    - mod_bits
    argTypes:
    - digest::Digest
    - '&mut untrusted::Reader'
    - bits::BitLength
    constantsTouched: []
    func_position:
      end: 190
      start: 105
    functionDepth: 11
    functionLinenumber: 105
    functionLinenumberEnd: 190
    functionName: PSS::verify
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs
    functionUses: 0
    functionsReached:
    - digest::Digest::as_ref
    - read_all
    - read_byte
    - iter
    - Err
    - read_bytes
    - bb::xor_assign_at_start
    - super::mgf1
    - as_slice_less_safe
    - pss_digest
    - len
    - any
    - Result::read_byte
    - Result::read_bytes
    - Ok
    - PSSMetrics::new
    linkageType: ''
    returnType: Result
    signature: 'fn verify(&self,m_hash: digest::Digest,m: &mut untrusted::Reader,mod_bits:
      bits::BitLength,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bits::BitLength::try_sub_1
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:208,1
    - Dst: as_usize_bytes_rounded_up
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:209,1
    - Dst: as_bits
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:210,1
    - Dst: Option::output_len
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:214,1
    - Dst: checked_sub
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:226,1
    - Dst: ok_or
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:226,1
    - Dst: checked_sub
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:227,1
    - Dst: ok_or
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:227,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 2
    argNames:
    - digest_alg
    - mod_bits
    argTypes:
    - '&''static digest::Algorithm'
    - bits::BitLength
    constantsTouched: []
    func_position:
      end: 239
      start: 204
    functionDepth: 5
    functionLinenumber: 204
    functionLinenumberEnd: 239
    functionName: PSSMetrics::new
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs
    functionUses: 2
    functionsReached:
    - bits::BitLength::try_sub_1
    - as_usize_bytes_rounded_up
    - ok_or
    - checked_sub
    - Option::output_len
    - Ok
    - as_bits
    linkageType: ''
    returnType: Result
    signature: 'fn new(digest_alg: &''static digest::Algorithm,mod_bits: bits::BitLength,)
      -> Result<Self, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digest::Context::new
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:251,1
    - Dst: update
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:252,1
    - Dst: update
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:253,1
    - Dst: digest::Digest::as_ref
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:253,1
    - Dst: update
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:254,1
    - Dst: finish
      Src: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 3
    argNames:
    - digest_alg
    - m_hash
    - salt
    argTypes:
    - '&''static digest::Algorithm'
    - digest::Digest
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 256
      start: 242
    functionDepth: 11
    functionLinenumber: 242
    functionLinenumberEnd: 256
    functionName: pss_digest
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs
    functionUses: 2
    functionsReached:
    - digest::Digest::as_ref
    - finish
    - update
    - digest::Context::new
    linkageType: ''
    returnType: digest::Digest
    signature: 'fn pss_digest(digest_alg: &''static digest::Algorithm,m_hash: digest::Digest,salt:
      &[u8],) -> digest::Digest'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 265
    functionName: rsa_pss_padding
    functionSourceFile: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::bench_with_input
      Src: /src/spdm-rs/external/ring/bench/digest.rs:46,1
    - Dst: BenchmarkId::new
      Src: /src/spdm-rs/external/ring/bench/digest.rs:47,1
    - Dst: Small
      Src: /src/spdm-rs/external/ring/bench/digest.rs:54,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/ring/bench/digest.rs:61,1
    - Dst: digest::digest
      Src: /src/spdm-rs/external/ring/bench/digest.rs:62,1
    - Dst: criterion::black_box
      Src: /src/spdm-rs/external/ring/bench/digest.rs:63,1
    - Dst: Digest::as_ref
      Src: /src/spdm-rs/external/ring/bench/digest.rs:63,1
    - Dst: '&[u8]::len'
      Src: /src/spdm-rs/external/ring/bench/digest.rs:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 69
      start: 43
    functionDepth: 6
    functionLinenumber: 43
    functionLinenumberEnd: 69
    functionName: oneshot
    functionSourceFile: /src/spdm-rs/external/ring/bench/digest.rs
    functionUses: 0
    functionsReached:
    - Small
    - bool::bench_with_input
    - BenchmarkId::new
    - '&[u8]::len'
    - SpdmResult::iter
    - digest::digest
    - criterion::black_box
    - Digest::as_ref
    linkageType: ''
    returnType: void
    signature: 'fn oneshot(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/spdm-rs/external/ring/bench/aead.rs:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: NonceSequence::new
    functionSourceFile: /src/spdm-rs/external/ring/bench/aead.rs
    functionUses: 2
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: const fn new() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_from_slice
      Src: /src/spdm-rs/external/ring/bench/aead.rs:74,1
    - Dst: u64::to_be_bytes
      Src: /src/spdm-rs/external/ring/bench/aead.rs:74,1
    - Dst: checked_add
      Src: /src/spdm-rs/external/ring/bench/aead.rs:75,1
    - Dst: ok_or
      Src: /src/spdm-rs/external/ring/bench/aead.rs:75,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/bench/aead.rs:76,1
    - Dst: aead::Nonce::assume_unique_for_key
      Src: /src/spdm-rs/external/ring/bench/aead.rs:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: NonceSequence::advance
    functionSourceFile: /src/spdm-rs/external/ring/bench/aead.rs
    functionUses: 0
    functionsReached:
    - aead::Nonce::assume_unique_for_key
    - ok_or
    - copy_from_slice
    - checked_add
    - Ok
    - u64::to_be_bytes
    linkageType: ''
    returnType: Result
    signature: fn advance(&mut self) -> Result<aead::Nonce, error::Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::benchmark_group
      Src: /src/spdm-rs/external/ring/bench/aead.rs:81,1
    - Dst: SystemRandom::new
      Src: /src/spdm-rs/external/ring/bench/aead.rs:83,1
    - Dst: throughput
      Src: /src/spdm-rs/external/ring/bench/aead.rs:87,1
    - Dst: criterion::Throughput::BytesDecimal
      Src: /src/spdm-rs/external/ring/bench/aead.rs:87,1
    - Dst: bench_with_input
      Src: /src/spdm-rs/external/ring/bench/aead.rs:88,1
    - Dst: bench_id
      Src: /src/spdm-rs/external/ring/bench/aead.rs:89,1
    - Dst: Self::fill
      Src: /src/spdm-rs/external/ring/bench/aead.rs:93,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/ring/bench/aead.rs:93,1
    - Dst: aead::UnboundKey::new
      Src: /src/spdm-rs/external/ring/bench/aead.rs:94,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/bench/aead.rs:94,1
    - Dst: aead::SealingKey::new
      Src: /src/spdm-rs/external/ring/bench/aead.rs:95,1
    - Dst: NonceSequence::new
      Src: /src/spdm-rs/external/ring/bench/aead.rs:95,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/ring/bench/aead.rs:99,1
    - Dst: aead::Aad::from
      Src: /src/spdm-rs/external/ring/bench/aead.rs:100,1
    - Dst: criterion::black_box
      Src: /src/spdm-rs/external/ring/bench/aead.rs:100,1
    - Dst: bool::seal_in_place_separate_tag
      Src: /src/spdm-rs/external/ring/bench/aead.rs:101,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/bench/aead.rs:101,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/bench/aead.rs:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 43
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 108
      start: 80
    functionDepth: 15
    functionLinenumber: 80
    functionLinenumberEnd: 108
    functionName: seal_in_place_separate_tag
    functionSourceFile: /src/spdm-rs/external/ring/bench/aead.rs
    functionUses: 16
    functionsReached:
    - bench_with_input
    - NonceSequence::new
    - throughput
    - SystemRandom::new
    - bool::benchmark_group
    - unwrap
    - aead::UnboundKey::new
    - aead::SealingKey::new
    - bool::seal_in_place_separate_tag
    - Result::unwrap
    - SpdmResult::iter
    - aead::Aad::from
    - criterion::black_box
    - criterion::Throughput::BytesDecimal
    - Self::fill
    - Ok
    - bench_id
    linkageType: ''
    returnType: void
    signature: 'fn seal_in_place_separate_tag(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::benchmark_group
      Src: /src/spdm-rs/external/ring/bench/aead.rs:111,1
    - Dst: SystemRandom::new
      Src: /src/spdm-rs/external/ring/bench/aead.rs:113,1
    - Dst: throughput
      Src: /src/spdm-rs/external/ring/bench/aead.rs:117,1
    - Dst: criterion::Throughput::BytesDecimal
      Src: /src/spdm-rs/external/ring/bench/aead.rs:117,1
    - Dst: bench_with_input
      Src: /src/spdm-rs/external/ring/bench/aead.rs:118,1
    - Dst: bench_id
      Src: /src/spdm-rs/external/ring/bench/aead.rs:119,1
    - Dst: Self::fill
      Src: /src/spdm-rs/external/ring/bench/aead.rs:123,1
    - Dst: unwrap
      Src: /src/spdm-rs/external/ring/bench/aead.rs:123,1
    - Dst: aead::UnboundKey::new
      Src: /src/spdm-rs/external/ring/bench/aead.rs:124,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/bench/aead.rs:124,1
    - Dst: aead::LessSafeKey::new
      Src: /src/spdm-rs/external/ring/bench/aead.rs:125,1
    - Dst: aead::Nonce::assume_unique_for_key
      Src: /src/spdm-rs/external/ring/bench/aead.rs:128,1
    - Dst: aead::Aad::from
      Src: /src/spdm-rs/external/ring/bench/aead.rs:129,1
    - Dst: bool::seal_in_place_append_tag
      Src: /src/spdm-rs/external/ring/bench/aead.rs:131,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/bench/aead.rs:131,1
    - Dst: core::cmp::max
      Src: /src/spdm-rs/external/ring/bench/aead.rs:135,1
    - Dst: len
      Src: /src/spdm-rs/external/ring/bench/aead.rs:135,1
    - Dst: SpdmResult::iter_batched
      Src: /src/spdm-rs/external/ring/bench/aead.rs:137,1
    - Dst: clone
      Src: /src/spdm-rs/external/ring/bench/aead.rs:138,1
    - Dst: aead::Nonce::assume_unique_for_key
      Src: /src/spdm-rs/external/ring/bench/aead.rs:141,1
    - Dst: aead::Aad::from
      Src: /src/spdm-rs/external/ring/bench/aead.rs:143,1
    - Dst: criterion::black_box
      Src: /src/spdm-rs/external/ring/bench/aead.rs:143,1
    - Dst: bool::open_in_place
      Src: /src/spdm-rs/external/ring/bench/aead.rs:144,1
    - Dst: Ok
      Src: /src/spdm-rs/external/ring/bench/aead.rs:146,1
    - Dst: BatchSize::NumBatches
      Src: /src/spdm-rs/external/ring/bench/aead.rs:148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 63
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 154
      start: 110
    functionDepth: 15
    functionLinenumber: 110
    functionLinenumberEnd: 154
    functionName: open_in_place
    functionSourceFile: /src/spdm-rs/external/ring/bench/aead.rs
    functionUses: 10
    functionsReached:
    - bool::benchmark_group
    - unwrap
    - bool::seal_in_place_append_tag
    - bench_with_input
    - clone
    - aead::LessSafeKey::new
    - BatchSize::NumBatches
    - Self::fill
    - Ok
    - bool::open_in_place
    - throughput
    - criterion::black_box
    - core::cmp::max
    - len
    - criterion::Throughput::BytesDecimal
    - SpdmResult::iter_batched
    - aead::Aad::from
    - SystemRandom::new
    - aead::UnboundKey::new
    - aead::Nonce::assume_unique_for_key
    - Result::unwrap
    - bench_id
    linkageType: ''
    returnType: void
    signature: 'fn open_in_place(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BenchmarkId::new
      Src: /src/spdm-rs/external/ring/bench/aead.rs:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - func_name
    - alg_name
    - record_len
    argTypes:
    - '&str'
    - '&str'
    - usize
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: bench_id
    functionSourceFile: /src/spdm-rs/external/ring/bench/aead.rs
    functionUses: 2
    functionsReached:
    - BenchmarkId::new
    linkageType: ''
    returnType: BenchmarkId
    signature: 'fn bench_id(func_name: &str, alg_name: &str, record_len: usize) ->
      BenchmarkId'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bool::bench_function
      Src: /src/spdm-rs/external/ring/bench/agreement.rs:42,1
    - Dst: bench_name
      Src: /src/spdm-rs/external/ring/bench/agreement.rs:42,1
    - Dst: rand::SystemRandom::new
      Src: /src/spdm-rs/external/ring/bench/agreement.rs:43,1
    - Dst: EphemeralPrivateKey::generate
      Src: /src/spdm-rs/external/ring/bench/agreement.rs:44,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/external/ring/bench/agreement.rs:44,1
    - Dst: SpdmResult::iter
      Src: /src/spdm-rs/external/ring/bench/agreement.rs:45,1
    - Dst: Result::compute_public_key
      Src: /src/spdm-rs/external/ring/bench/agreement.rs:46,1
    - Dst: criterion::black_box
      Src: /src/spdm-rs/external/ring/bench/agreement.rs:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 51
      start: 40
    functionDepth: 15
    functionLinenumber: 40
    functionLinenumberEnd: 51
    functionName: compute_public_key
    functionSourceFile: /src/spdm-rs/external/ring/bench/agreement.rs
    functionUses: 31
    functionsReached:
    - bench_name
    - EphemeralPrivateKey::generate
    - Result::unwrap
    - SpdmResult::iter
    - criterion::black_box
    - bool::bench_function
    - Result::compute_public_key
    - rand::SystemRandom::new
    linkageType: ''
    returnType: void
    signature: 'fn compute_public_key(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 2
    argNames:
    - alg_name
    - bench_name
    argTypes:
    - '&str'
    - '&str'
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: bench_name
    functionSourceFile: /src/spdm-rs/external/ring/bench/agreement.rs
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: 'fn bench_name(alg_name: &str, bench_name: &str) -> String'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 40
    functionName: verify_case
    functionSourceFile: /src/spdm-rs/external/ring/bench/rsa.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Unknown
      Src: /src/spdm-rs/codec/src/macros.rs:6,1
    - Dst: enum_builder::clone
      Src: /src/spdm-rs/codec/src/macros.rs:10,1
    - Dst: enum_builder::get_u32
      Src: /src/spdm-rs/codec/src/macros.rs:19,1
    - Dst: u32::encode
      Src: /src/spdm-rs/codec/src/macros.rs:19,1
    - Dst: u32::read
      Src: /src/spdm-rs/codec/src/macros.rs:23,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 10
    functionDepth: 9
    functionLinenumber: 10
    functionLinenumberEnd: 116
    functionName: enum_builder
    functionSourceFile: /src/spdm-rs/codec/src/macros.rs
    functionUses: 0
    functionsReached:
    - enum_builder::get_u32
    - u32::read
    - u32::encode
    - Unknown
    - enum_builder::clone
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::init
      Src: /src/spdm-rs/codec/src/lib.rs:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: tests::it_works
    functionSourceFile: /src/spdm-rs/codec/src/lib.rs
    functionUses: 0
    functionsReached:
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn it_works()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 25
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 25
    functionName: Reader::init
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 258
    functionsReached: []
    linkageType: ''
    returnType: Reader
    signature: 'pub fn init(bytes: &[u8]) -> Reader<''_>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/spdm-rs/codec/src/codec.rs:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: Reader::rest
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 0
    functionsReached:
    - len
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn rest(&mut self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::left
      Src: /src/spdm-rs/codec/src/codec.rs:34,1
    - Dst: Some
      Src: /src/spdm-rs/codec/src/codec.rs:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - len
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: Reader::take
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 1
    functionsReached:
    - Some
    - Reader::left
    linkageType: ''
    returnType: Option
    signature: 'pub fn take(&mut self, len: usize) -> Option<&[u8]>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/spdm-rs/codec/src/codec.rs:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: Reader::any_left
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 0
    functionsReached:
    - len
    linkageType: ''
    returnType: bool
    signature: pub fn any_left(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/spdm-rs/codec/src/codec.rs:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: Reader::left
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 1
    functionsReached:
    - len
    linkageType: ''
    returnType: usize
    signature: pub fn left(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: Reader::used
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub fn used(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::take
      Src: /src/spdm-rs/codec/src/codec.rs:56,1
    - Dst: Option::map
      Src: /src/spdm-rs/codec/src/codec.rs:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - len
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 8
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: Reader::sub
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 0
    functionsReached:
    - Reader::take
    - Option::map
    linkageType: ''
    returnType: Option
    signature: 'pub fn sub(&mut self, len: usize) -> Option<Reader<''_>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: Reader::as_ref
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: fn as_ref(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: Writer::init
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 310
    functionsReached: []
    linkageType: ''
    returnType: Writer
    signature: 'pub fn init(bytes: &mut [u8]) -> Writer<''_>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: Writer::clear
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: pub fn clear(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::left
      Src: /src/spdm-rs/codec/src/codec.rs:85,1
    - Dst: u8::len
      Src: /src/spdm-rs/codec/src/codec.rs:85,1
    - Dst: u8::len
      Src: /src/spdm-rs/codec/src/codec.rs:88,1
    - Dst: u8::iter
      Src: /src/spdm-rs/codec/src/codec.rs:89,1
    - Dst: Self::IntoIter::enumerate
      Src: /src/spdm-rs/codec/src/codec.rs:89,1
    - Dst: take
      Src: /src/spdm-rs/codec/src/codec.rs:89,1
    - Dst: Some
      Src: /src/spdm-rs/codec/src/codec.rs:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 1
    argNames:
    - value
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 94
      start: 84
    functionDepth: 8
    functionLinenumber: 84
    functionLinenumberEnd: 94
    functionName: Writer::extend_from_slice
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 25
    functionsReached:
    - take
    - u8::len
    - u8::iter
    - Self::IntoIter::enumerate
    - Writer::left
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn extend_from_slice(&mut self, value: &[u8]) -> Option<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::left
      Src: /src/spdm-rs/codec/src/codec.rs:97,1
    - Dst: Some
      Src: /src/spdm-rs/codec/src/codec.rs:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - value
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: Writer::push
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 0
    functionsReached:
    - Writer::left
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn push(&mut self, value: u8) -> Option<u8>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/spdm-rs/codec/src/codec.rs:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: Writer::left
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 2
    functionsReached:
    - len
    linkageType: ''
    returnType: usize
    signature: pub fn left(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: Writer::left_slice
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn left_slice(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: Writer::mut_left_slice
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: '&mut [u8]'
    signature: pub fn mut_left_slice(&mut self) -> &mut [u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: Writer::used
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub fn used(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: Writer::used_slice
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn used_slice(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: Writer::mut_used_slice
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: '&mut [u8]'
    signature: pub fn mut_used_slice(&mut self) -> &mut [u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Reader::init
      Src: /src/spdm-rs/codec/src/codec.rs:146,1
    - Dst: Self::read
      Src: /src/spdm-rs/codec/src/codec.rs:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 10
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: Codec::read_bytes
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 0
    functionsReached:
    - Reader::init
    - Self::read
    linkageType: ''
    returnType: Option
    signature: 'fn read_bytes(bytes: &[u8]) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc::vec::Vec::new
      Src: /src/spdm-rs/codec/src/codec.rs:154,1
    - Dst: T::read
      Src: /src/spdm-rs/codec/src/codec.rs:156,1
    - Dst: push
      Src: /src/spdm-rs/codec/src/codec.rs:157,1
    - Dst: Some
      Src: /src/spdm-rs/codec/src/codec.rs:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - reader
    - count
    argTypes:
    - '&mut Reader'
    - usize
    constantsTouched: []
    func_position:
      end: 160
      start: 153
    functionDepth: 10
    functionLinenumber: 153
    functionLinenumberEnd: 160
    functionName: Codec::read_vec
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 0
    functionsReached:
    - push
    - Some
    - T::read
    - alloc::vec::Vec::new
    linkageType: ''
    returnType: Option
    signature: 'fn read_vec<T: Codec>(reader: &mut Reader, count: usize) -> Option<alloc::vec::Vec<T>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bytes::used
      Src: /src/spdm-rs/codec/src/codec.rs:166,1
    - Dst: alloc::vec::Vec::iter
      Src: /src/spdm-rs/codec/src/codec.rs:167,1
    - Dst: SpdmResult::encode
      Src: /src/spdm-rs/codec/src/codec.rs:168,1
    - Dst: Ok
      Src: /src/spdm-rs/codec/src/codec.rs:170,1
    - Dst: Bytes::used
      Src: /src/spdm-rs/codec/src/codec.rs:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 3
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: alloc::vec::Vec::encode
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 0
    functionsReached:
    - SpdmResult::encode
    - alloc::vec::Vec::iter
    - Ok
    - Bytes::used
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - _reader
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: alloc::vec::Vec::read
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Option
    signature: 'fn read(_reader: &mut Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode
      Src: /src/spdm-rs/codec/src/codec.rs:185,1
    - Dst: encode
      Src: /src/spdm-rs/codec/src/codec.rs:186,1
    - Dst: Ok
      Src: /src/spdm-rs/codec/src/codec.rs:187,1
    - Dst: encode
      Src: /src/spdm-rs/codec/src/codec.rs:190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - writer
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 193
      start: 181
    functionDepth: 3
    functionLinenumber: 181
    functionLinenumberEnd: 193
    functionName: Option::encode
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 7
    functionsReached:
    - Ok
    - encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, writer: &mut Writer) -> Result<usize, EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::read
      Src: /src/spdm-rs/codec/src/codec.rs:196,1
    - Dst: Some
      Src: /src/spdm-rs/codec/src/codec.rs:198,1
    - Dst: T::read
      Src: /src/spdm-rs/codec/src/codec.rs:198,1
    - Dst: Some
      Src: /src/spdm-rs/codec/src/codec.rs:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - reader
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 202
      start: 195
    functionDepth: 9
    functionLinenumber: 195
    functionLinenumberEnd: 202
    functionName: Option::read
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 0
    functionsReached:
    - u8::read
    - T::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(reader: &mut Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/spdm-rs/codec/src/codec.rs:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 207
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 207
    functionName: decode_u8
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 0
    functionsReached:
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn decode_u8(bytes: &[u8]) -> Option<u8>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bytes::push
      Src: /src/spdm-rs/codec/src/codec.rs:211,1
    - Dst: ok_or
      Src: /src/spdm-rs/codec/src/codec.rs:211,1
    - Dst: Ok
      Src: /src/spdm-rs/codec/src/codec.rs:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: u8::encode
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 8
    functionsReached:
    - Bytes::push
    - ok_or
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: take
      Src: /src/spdm-rs/codec/src/codec.rs:215,1
    - Dst: Option::and_then
      Src: /src/spdm-rs/codec/src/codec.rs:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 216
      start: 214
    functionDepth: 8
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionName: u8::read
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 157
    functionsReached:
    - take
    - Option::and_then
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<u8>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - v
    - out
    argTypes:
    - u16
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: put_u16
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub fn put_u16(v: u16, out: &mut [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/spdm-rs/codec/src/codec.rs:225,1
    - Dst: u16::from
      Src: /src/spdm-rs/codec/src/codec.rs:225,1
    - Dst: u16::from
      Src: /src/spdm-rs/codec/src/codec.rs:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: decode_u16
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 0
    functionsReached:
    - u16::from
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn decode_u16(bytes: &[u8]) -> Option<u16>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: put_u16
      Src: /src/spdm-rs/codec/src/codec.rs:231,1
    - Dst: Bytes::extend_from_slice
      Src: /src/spdm-rs/codec/src/codec.rs:232,1
    - Dst: ok_or
      Src: /src/spdm-rs/codec/src/codec.rs:232,1
    - Dst: Ok
      Src: /src/spdm-rs/codec/src/codec.rs:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: u16::encode
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 1
    functionsReached:
    - put_u16
    - Bytes::extend_from_slice
    - ok_or
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: take
      Src: /src/spdm-rs/codec/src/codec.rs:237,1
    - Dst: Option::and_then
      Src: /src/spdm-rs/codec/src/codec.rs:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 238
      start: 236
    functionDepth: 8
    functionLinenumber: 236
    functionLinenumberEnd: 238
    functionName: u16::read
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 63
    functionsReached:
    - take
    - Option::and_then
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<u16>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u24
      Src: /src/spdm-rs/codec/src/codec.rs:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: u24::new
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 14
    functionsReached:
    - u24
    linkageType: ''
    returnType: u24
    signature: 'pub fn new(v: u32) -> u24'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 254
    functionName: u24::get
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: pub fn get(&self) -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/spdm-rs/codec/src/codec.rs:257,1
    - Dst: u24
      Src: /src/spdm-rs/codec/src/codec.rs:257,1
    - Dst: u32::from
      Src: /src/spdm-rs/codec/src/codec.rs:257,1
    - Dst: u32::from
      Src: /src/spdm-rs/codec/src/codec.rs:258,1
    - Dst: u32::from
      Src: /src/spdm-rs/codec/src/codec.rs:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 260
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 260
    functionName: u24::decode
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 0
    functionsReached:
    - u32::from
    - u24
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn decode(bytes: &[u8]) -> Option<u24>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bytes::push
      Src: /src/spdm-rs/codec/src/codec.rs:265,1
    - Dst: ok_or
      Src: /src/spdm-rs/codec/src/codec.rs:265,1
    - Dst: Bytes::push
      Src: /src/spdm-rs/codec/src/codec.rs:266,1
    - Dst: ok_or
      Src: /src/spdm-rs/codec/src/codec.rs:266,1
    - Dst: Bytes::push
      Src: /src/spdm-rs/codec/src/codec.rs:267,1
    - Dst: ok_or
      Src: /src/spdm-rs/codec/src/codec.rs:267,1
    - Dst: Ok
      Src: /src/spdm-rs/codec/src/codec.rs:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 269
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 269
    functionName: u24::encode
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 4
    functionsReached:
    - Bytes::push
    - ok_or
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: take
      Src: /src/spdm-rs/codec/src/codec.rs:272,1
    - Dst: Option::and_then
      Src: /src/spdm-rs/codec/src/codec.rs:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 8
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionName: u24::read
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 5
    functionsReached:
    - take
    - Option::and_then
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<u24>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/spdm-rs/codec/src/codec.rs:277,1
    - Dst: u32::from
      Src: /src/spdm-rs/codec/src/codec.rs:278,1
    - Dst: u32::from
      Src: /src/spdm-rs/codec/src/codec.rs:279,1
    - Dst: u32::from
      Src: /src/spdm-rs/codec/src/codec.rs:280,1
    - Dst: u32::from
      Src: /src/spdm-rs/codec/src/codec.rs:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 283
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 283
    functionName: decode_u32
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 0
    functionsReached:
    - u32::from
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn decode_u32(bytes: &[u8]) -> Option<u32>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bytes::push
      Src: /src/spdm-rs/codec/src/codec.rs:287,1
    - Dst: ok_or
      Src: /src/spdm-rs/codec/src/codec.rs:287,1
    - Dst: Bytes::push
      Src: /src/spdm-rs/codec/src/codec.rs:288,1
    - Dst: ok_or
      Src: /src/spdm-rs/codec/src/codec.rs:288,1
    - Dst: Bytes::push
      Src: /src/spdm-rs/codec/src/codec.rs:289,1
    - Dst: ok_or
      Src: /src/spdm-rs/codec/src/codec.rs:289,1
    - Dst: Bytes::push
      Src: /src/spdm-rs/codec/src/codec.rs:290,1
    - Dst: ok_or
      Src: /src/spdm-rs/codec/src/codec.rs:290,1
    - Dst: Ok
      Src: /src/spdm-rs/codec/src/codec.rs:291,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 292
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 292
    functionName: u32::encode
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 1
    functionsReached:
    - Bytes::push
    - ok_or
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: take
      Src: /src/spdm-rs/codec/src/codec.rs:295,1
    - Dst: Option::and_then
      Src: /src/spdm-rs/codec/src/codec.rs:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 8
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: u32::read
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 46
    functionsReached:
    - take
    - Option::and_then
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<u32>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 2
    argNames:
    - v
    - bytes
    argTypes:
    - u64
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 308
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 308
    functionName: put_u64
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub fn put_u64(v: u64, bytes: &mut [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/spdm-rs/codec/src/codec.rs:311,1
    - Dst: u64::from
      Src: /src/spdm-rs/codec/src/codec.rs:312,1
    - Dst: u64::from
      Src: /src/spdm-rs/codec/src/codec.rs:313,1
    - Dst: u64::from
      Src: /src/spdm-rs/codec/src/codec.rs:314,1
    - Dst: u64::from
      Src: /src/spdm-rs/codec/src/codec.rs:315,1
    - Dst: u64::from
      Src: /src/spdm-rs/codec/src/codec.rs:316,1
    - Dst: u64::from
      Src: /src/spdm-rs/codec/src/codec.rs:317,1
    - Dst: u64::from
      Src: /src/spdm-rs/codec/src/codec.rs:318,1
    - Dst: u64::from
      Src: /src/spdm-rs/codec/src/codec.rs:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 321
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 321
    functionName: decode_u64
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 0
    functionsReached:
    - u64::from
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn decode_u64(bytes: &[u8]) -> Option<u64>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: put_u64
      Src: /src/spdm-rs/codec/src/codec.rs:326,1
    - Dst: Bytes::extend_from_slice
      Src: /src/spdm-rs/codec/src/codec.rs:327,1
    - Dst: ok_or
      Src: /src/spdm-rs/codec/src/codec.rs:327,1
    - Dst: Ok
      Src: /src/spdm-rs/codec/src/codec.rs:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 329
      start: 324
    functionDepth: 2
    functionLinenumber: 324
    functionLinenumberEnd: 329
    functionName: u64::encode
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 0
    functionsReached:
    - Bytes::extend_from_slice
    - put_u64
    - ok_or
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: take
      Src: /src/spdm-rs/codec/src/codec.rs:332,1
    - Dst: Option::and_then
      Src: /src/spdm-rs/codec/src/codec.rs:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 333
      start: 331
    functionDepth: 8
    functionLinenumber: 331
    functionLinenumberEnd: 333
    functionName: u64::read
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 15
    functionsReached:
    - take
    - Option::and_then
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<u64>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bytes::extend_from_slice
      Src: /src/spdm-rs/codec/src/codec.rs:338,1
    - Dst: u128::to_le_bytes
      Src: /src/spdm-rs/codec/src/codec.rs:339,1
    - Dst: ok_or
      Src: /src/spdm-rs/codec/src/codec.rs:338,1
    - Dst: Ok
      Src: /src/spdm-rs/codec/src/codec.rs:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 342
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 342
    functionName: u128::encode
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 0
    functionsReached:
    - Ok
    - Bytes::extend_from_slice
    - u128::to_le_bytes
    - ok_or
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mem::size_of::<u128>
      Src: /src/spdm-rs/codec/src/codec.rs:345,1
    - Dst: SimpleLogger::copy_from_slice
      Src: /src/spdm-rs/codec/src/codec.rs:346,1
    - Dst: take
      Src: /src/spdm-rs/codec/src/codec.rs:346,1
    - Dst: mem::size_of::<u128>
      Src: /src/spdm-rs/codec/src/codec.rs:346,1
    - Dst: Some
      Src: /src/spdm-rs/codec/src/codec.rs:348,1
    - Dst: u128::from_le_bytes
      Src: /src/spdm-rs/codec/src/codec.rs:348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 349
      start: 344
    functionDepth: 8
    functionLinenumber: 344
    functionLinenumberEnd: 349
    functionName: u128::read
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 0
    functionsReached:
    - take
    - mem::size_of::<u128>
    - u128::from_le_bytes
    - SimpleLogger::copy_from_slice
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(r: &mut Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Bytes::used
      Src: /src/spdm-rs/codec/src/codec.rs:354,1
    - Dst: '[T; N]::iter'
      Src: /src/spdm-rs/codec/src/codec.rs:355,1
    - Dst: Vec::encode
      Src: /src/spdm-rs/codec/src/codec.rs:356,1
    - Dst: Ok
      Src: /src/spdm-rs/codec/src/codec.rs:358,1
    - Dst: Bytes::used
      Src: /src/spdm-rs/codec/src/codec.rs:358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&mut Writer'
    constantsTouched: []
    func_position:
      end: 359
      start: 353
    functionDepth: 4
    functionLinenumber: 353
    functionLinenumberEnd: 359
    functionName: '[T; N]::encode'
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 0
    functionsReached:
    - '[T; N]::iter'
    - Vec::encode
    - Bytes::used
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self, bytes: &mut Writer) -> Result<usize, EncodeErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T::default
      Src: /src/spdm-rs/codec/src/codec.rs:362,1
    - Dst: iter_mut
      Src: /src/spdm-rs/codec/src/codec.rs:363,1
    - Dst: T::read
      Src: /src/spdm-rs/codec/src/codec.rs:364,1
    - Dst: Some
      Src: /src/spdm-rs/codec/src/codec.rs:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - reader
    argTypes:
    - '&mut Reader'
    constantsTouched: []
    func_position:
      end: 368
      start: 361
    functionDepth: 10
    functionLinenumber: 361
    functionLinenumberEnd: 368
    functionName: '[T; N]::read'
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 0
    functionsReached:
    - iter_mut
    - T::default
    - T::read
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read(reader: &mut Reader) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/codec/src/codec.rs:381,1
    - Dst: reverse
      Src: /src/spdm-rs/codec/src/codec.rs:389,1
    - Dst: Reader::init
      Src: /src/spdm-rs/codec/src/codec.rs:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 398
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 398
    functionName: tests::test_u128
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Reader::init
    - reverse
    linkageType: ''
    returnType: void
    signature: fn test_u128()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/codec/src/codec.rs:405,1
    - Dst: Reader::init
      Src: /src/spdm-rs/codec/src/codec.rs:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 413
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 413
    functionName: tests::test_u64
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_u64()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/codec/src/codec.rs:417,1
    - Dst: Reader::init
      Src: /src/spdm-rs/codec/src/codec.rs:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 424
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 424
    functionName: tests::test_u32
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_u32()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/codec/src/codec.rs:428,1
    - Dst: Reader::init
      Src: /src/spdm-rs/codec/src/codec.rs:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 435
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 435
    functionName: tests::test_u16
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_u16()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/codec/src/codec.rs:439,1
    - Dst: u24::new
      Src: /src/spdm-rs/codec/src/codec.rs:440,1
    - Dst: Reader::init
      Src: /src/spdm-rs/codec/src/codec.rs:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 445
      start: 437
    functionDepth: 2
    functionLinenumber: 437
    functionLinenumberEnd: 445
    functionName: tests::test_u24
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Reader::init
    - u24::new
    linkageType: ''
    returnType: void
    signature: fn test_u24()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u24::new
      Src: /src/spdm-rs/codec/src/codec.rs:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 450
      start: 448
    functionDepth: 3
    functionLinenumber: 448
    functionLinenumberEnd: 450
    functionName: tests::test_u24_max_size
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 0
    functionsReached:
    - u24::new
    linkageType: ''
    returnType: void
    signature: fn test_u24_max_size()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/codec/src/codec.rs:454,1
    - Dst: Reader::init
      Src: /src/spdm-rs/codec/src/codec.rs:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 460
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 460
    functionName: tests::test_u8
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Reader::init
    linkageType: ''
    returnType: void
    signature: fn test_u8()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/codec/src/codec.rs:464,1
    - Dst: Reader::init
      Src: /src/spdm-rs/codec/src/codec.rs:467,1
    - Dst: Result::rest
      Src: /src/spdm-rs/codec/src/codec.rs:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 473
      start: 462
    functionDepth: 2
    functionLinenumber: 462
    functionLinenumberEnd: 473
    functionName: tests::test_case0_rest
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Reader::init
    - Result::rest
    linkageType: ''
    returnType: void
    signature: fn test_case0_rest()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 482
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 482
    functionName: tests::test_case0_any_left
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_case0_any_left()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 491
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 491
    functionName: tests::test_case1_any_left
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_case1_any_left()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/codec/src/codec.rs:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 499
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 499
    functionName: tests::test_case0_read_bytes
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    linkageType: ''
    returnType: void
    signature: fn test_case0_read_bytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 508
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 508
    functionName: tests::test_case0_sub
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_case0_sub()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Writer::init
      Src: /src/spdm-rs/codec/src/codec.rs:514,1
    - Dst: u8::encode
      Src: /src/spdm-rs/codec/src/codec.rs:515,1
    - Dst: Result::unwrap
      Src: /src/spdm-rs/codec/src/codec.rs:515,1
    - Dst: Reader::init
      Src: /src/spdm-rs/codec/src/codec.rs:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 518
      start: 511
    functionDepth: 5
    functionLinenumber: 511
    functionLinenumberEnd: 518
    functionName: tests::test_case0_array
    functionSourceFile: /src/spdm-rs/codec/src/codec.rs
    functionUses: 0
    functionsReached:
    - Writer::init
    - Reader::init
    - Result::unwrap
    - u8::encode
    linkageType: ''
    returnType: void
    signature: fn test_case0_array()
Fuzzer filename: /src/spdm-rs/spdmlib/fuzz/fuzz_targets/digest_req.rs
Fuzzing method: fuzz_target
report: name
sources:
- function_names:
  - send_receive_stop
  - test_spdm
  - test_idekm_tdisp
  - new_logger_from_env
  - emu_main
  - emu_main
  - emu_main_inner
  - main
  source_file: /src/spdm-rs/test/spdm-requester-emu/src/main.rs
- function_names:
  - pci_ide_km_device_key_prog
  - pci_ide_km_device_key_set_go
  - pci_ide_km_device_key_set_stop
  - pci_ide_km_device_query
  - init_device_idekm_instance
  source_file: /src/spdm-rs/test/spdm-responder-emu/src/spdm_device_idekm_example.rs
- function_names:
  - pci_tdisp_device_capabilities
  - pci_tdisp_device_error
  - pci_tdisp_device_interface_report
  - pci_tdisp_device_interface_state
  - pci_tdisp_device_lock_interface
  - pci_tdisp_device_start_interface
  - pci_tdisp_device_stop_interface
  - pci_tdisp_device_bind_p2p_stream
  - pci_tdisp_device_unbind_p2p_stream
  - pci_tdisp_device_set_mmio_attribute
  - pci_tdisp_device_vdm_response
  - pci_tdisp_device_version
  - init_device_tdisp_instance
  source_file: /src/spdm-rs/test/spdm-responder-emu/src/spdm_device_tdisp_example.rs
- function_names:
  - process_socket_message
  - new_logger_from_env
  - emu_main
  - emu_main
  - emu_main_inner
  - handle_message
  - send_hello
  - send_unknown
  - send_stop
  - send_pci_discovery
  - pci_idekm_tdisp_rsp_dispatcher
  - main
  source_file: /src/spdm-rs/test/spdm-responder-emu/src/main.rs
- function_names:
  - init_handlers
  - main
  - handle_input_json
  - register_handlers
  - get_handler
  - handle_algorithm_sha2_256
  - handle_algorithm_sha2_384
  - algorithm_sha2
  - handle_algorithm_hmac_sha2_256
  - handle_algorithm_hmac_sha2_384
  - algorithm_hmac_sha2
  - ecdsa_verify
  - handle_algorithm_ecdsa
  - handle_algorithm_aead
  - handle_algorithm_ecdhe
  - handle_algorithm_rsa
  - from_hex
  - from_hex_digit
  - to_hex
  source_file: /src/spdm-rs/test/cavp_acvts_test/src/main.rs
- function_names:
  - block_on
  source_file: /src/spdm-rs/test/spdm-emu/src/async_runtime.rs
- function_names:
  - measurement_collection_impl
  - generate_measurement_summary_hash_impl
  - handshake_secret_hkdf_expand_impl
  - master_secret_hkdf_expand_impl
  - tests::test_case0_measurement_collection
  source_file: /src/spdm-rs/test/spdm-emu/src/secret_impl_sample.rs
- function_names:
  - TcpTransport::receive
  - TcpTransport::send
  - TcpTransport::flush_all
  source_file: /src/spdm-rs/test/spdm-emu/src/tcp_transport.rs
- function_names:
  - start_watchdog
  - stop_watchdog
  - reset_watchdog
  - init_watchdog
  source_file: /src/spdm-rs/test/spdm-emu/src/watchdog_impl_sample.rs
- function_names:
  - crypto_mbedtls_register_handles
  source_file: /src/spdm-rs/test/spdm-emu/src/crypto.rs
- function_names:
  - SocketIoTransport::new
  - SocketIoTransport::receive
  - SocketIoTransport::send
  - SocketIoTransport::flush_all
  source_file: /src/spdm-rs/test/spdm-emu/src/socket_io_transport.rs
- function_names:
  - MAX
  source_file: /src/spdm-rs/test/spdm-emu/src/lib.rs
- function_names:
  - use_ecdsa
  - req_use_ecdsa
  - use_raw_pub_key
  - use_handshake_in_the_clear
  - use_psk_without_context
  - use_pqc
  - use_supported_algos_ext_cap
  - SpdmSocketHeader::encode
  - SpdmSocketHeader::read
  - receive_message
  - send_message
  - tests::test_case0_spdm_socket_header
  source_file: /src/spdm-rs/test/spdm-emu/src/spdm_emu.rs
- function_names:
  - asym_sign
  - sign_ecdsa_asym_algo
  - sign_rsa_asym_algo
  - asym_sign
  - mbedtls_md_type
  - mbedtls_digest
  - sign_ecdsa_asym_algo_mbedtls
  - sign_rsa_asym_algo_mbedtls
  - e::c::c::_::s::i::g::n::a::t::u::r::e::_::d::e::r::_::t::o::_::b::i::n::read_int
  - ecc_signature_der_to_bin
  - asym_sign
  - sign_ecdsa_asym_algo_aws_lc
  - sign_rsa_asym_algo_aws_lc
  - asym_sign
  - pqc_asym_sign
  - get_test_key_directory
  - register_pqc_crypto_callbacks
  - register_aws_lc_crypto_callbacks
  source_file: /src/spdm-rs/test/spdm-emu/src/crypto_callback.rs
- function_names:
  - test_spdm_config_info_codec
  - test_spdm_negotiate_info_codec
  - test_managed_buffer_a_codec
  - test_managed_buffer_b_codec
  - test_managed_buffer_c_codec
  - test_managed_buffer_m_codec
  - test_managed_buffer_k_codec
  - test_managed_buffer_f_codec
  - test_managed_buffer_m1m2_codec
  - test_managed_buffer_l1l2_codec
  - test_managed_buffer_th_codec
  - test_managed_buffer_12sign_codec
  - test_spdm_measurement_content_changed_codec
  - test_spdm_runtime_info_codec_no_hashed
  - test_spdm_runtime_info_codec_hashed
  - test_spdm_provision_info_codec
  - test_spdm_provision_info_codec_with_populated_data
  - test_spdm_provision_info_codec_edge_cases
  - test_spdm_peer_info_codec
  - test_spdm_peer_info_codec_with_populated_data
  - test_spdm_peer_info_codec_edge_cases
  - test_spdm_encap_context_codec
  - test_empty_managed_buffers_codec
  - test_option_fields_codec
  - test_max_size_buffers
  - test_error_conditions
  - test_spdm_runtime_info_size_variations
  - test_spdm_negotiate_info_comprehensive
  - test_mixed_buffer_stress
  - test_large_struct_memory_boundaries
  source_file: /src/spdm-rs/test/spdmlib-test/src/test_library_codec.rs
- function_names:
  - start_watchdog
  - stop_watchdog
  - reset_watchdog
  - init_watchdog
  source_file: /src/spdm-rs/test/spdmlib-test/src/watchdog_impl_sample.rs
- function_names: []
  source_file: /src/spdm-rs/test/spdmlib-test/src/lib.rs
- function_names:
  - test_case0_spdm_opaque_struct
  - test_case0_spdm_digest_struct
  - test_case0_spdm_signature_struct
  - test_case0_spdm_measurement_record_structure
  - test_case1_spdm_measurement_record_structure
  - test_case0_spdm_dhe_exchange_struct
  - test_case0_spdm_dmtf_measurement_structure
  - test_case0_spdm_measurement_block_structure
  - test_case0_spdm_context_export_import
  - test_case1_spdm_context_export_import_with_cert_data
  - test_case2_spdm_context_export_import_with_sessions
  - test_case3_spdm_context_export_import_boundary_conditions
  source_file: /src/spdm-rs/test/spdmlib-test/src/test_library.rs
- function_names:
  - intergration_client_server
  source_file: /src/spdm-rs/test/spdmlib-test/src/test_client_server.rs
- function_names:
  - test_case0_send_receive_spdm_key_exchange
  - test_case1_send_receive_spdm_key_exchange
  source_file: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_exchange_req.rs
- function_names:
  - test_case0_send_receive_spdm_measurement
  - test_handle_spdm_measurement_record_response
  - test_case1_send_receive_spdm_measurement
  - test_case3_send_receive_spdm_measurement
  source_file: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_measurements_req.rs
- function_names:
  - test_case0_send_receive_spdm_heartbeat
  source_file: /src/spdm-rs/test/spdmlib-test/src/requester_tests/heartbeat_req.rs
- function_names:
  - test_case0_send_receive_spdm_capability
  - test_case1_send_receive_spdm_capability_supported_algorithms
  - test_case2_send_receive_spdm_capability_supported_algorithms_chunked
  - test_case3_send_receive_spdm_capability_supported_algorithms_no_chunk
  - test_case4_send_receive_spdm_capability_supported_algorithms_exceed_max_msg_size
  source_file: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_capabilities_req.rs
- function_names:
  - test_case0_send_receive_spdm_version
  source_file: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_version_req.rs
- function_names:
  - test_case0_start_session
  - test_case0_get_next_half_session
  - test_case0_receive_secured_message
  source_file: /src/spdm-rs/test/spdmlib-test/src/requester_tests/context.rs
- function_names:
  - test_encap_handle_get_digest
  source_file: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_digest.rs
- function_names:
  - test_case0_send_receive_spdm_challenge
  source_file: /src/spdm-rs/test/spdmlib-test/src/requester_tests/challenge_req.rs
- function_names:
  - test_case0_send_receive_spdm_digest
  - issue_other_request_before_vca_negotiated
  source_file: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_digests_req.rs
- function_names: []
  source_file: /src/spdm-rs/test/spdmlib-test/src/requester_tests/mod.rs
- function_names:
  - test_case0_send_receive_spdm_end_session
  source_file: /src/spdm-rs/test/spdmlib-test/src/requester_tests/end_session_req.rs
- function_names:
  - test_case0_send_receive_spdm_key_update
  source_file: /src/spdm-rs/test/spdmlib-test/src/requester_tests/key_update_req.rs
- function_names:
  - test_case0_send_receive_spdm_algorithm
  - test_case1_send_receive_spdm_algorithm
  - test_case2_send_receive_spdm_algorithm
  source_file: /src/spdm-rs/test/spdmlib-test/src/requester_tests/negotiate_algorithms_req.rs
- function_names:
  - test_case0_send_receive_spdm_finish
  - test_case1_send_receive_spdm_finish
  source_file: /src/spdm-rs/test/spdmlib-test/src/requester_tests/finish_req.rs
- function_names:
  - test_encap_handle_get_certificate
  source_file: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_certificate.rs
- function_names:
  - test_case0_send_spdm_vendor_defined_request
  source_file: /src/spdm-rs/test/spdmlib-test/src/requester_tests/vendor_req.rs
- function_names:
  - test_encode_encap_error_response
  source_file: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_error.rs
- function_names:
  - test_send_get_encapsulated_request
  - test_receive_encapsulated_request
  - test_receive_encapsulated_response_ack
  - setup_test_context_and_session
  source_file: /src/spdm-rs/test/spdmlib-test/src/requester_tests/encap_req.rs
- function_names:
  - test_case0_send_receive_spdm_certificate
  - test_handle_spdm_certificate_partial_response
  source_file: /src/spdm-rs/test/spdmlib-test/src/requester_tests/get_certificate_req.rs
- function_names:
  - test_case0_send_receive_spdm_psk_finish
  - test_case1_send_receive_spdm_psk_finish
  source_file: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_finish_req.rs
- function_names:
  - test_case0_send_receive_spdm_psk_exchange
  - test_case1_send_receive_spdm_psk_exchange
  source_file: /src/spdm-rs/test/spdmlib-test/src/requester_tests/psk_exchange_req.rs
- function_names:
  - test_case0_handle_spdm_end_session
  source_file: /src/spdm-rs/test/spdmlib-test/src/responder_tests/end_session_rsp.rs
- function_names:
  - test_case0_handle_spdm_digest
  - test_case1_handle_spdm_digest
  source_file: /src/spdm-rs/test/spdmlib-test/src/responder_tests/digest_rsp.rs
- function_names:
  - test_case0_handle_spdm_version
  - construct_version_positive
  source_file: /src/spdm-rs/test/spdmlib-test/src/responder_tests/version_rsp.rs
- function_names:
  - test_case0_handle_spdm_capability
  - consturct_capability_positive
  source_file: /src/spdm-rs/test/spdmlib-test/src/responder_tests/capability_rsp.rs
- function_names:
  - test_encode_encap_requst_get_digest
  - test_handle_encap_response_digest
  source_file: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_digest.rs
- function_names:
  - test_case0_handle_spdm_psk_finish
  - test_case1_handle_spdm_psk_finish
  source_file: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_finish_rsp.rs
- function_names:
  - test_case0_send_secured_message
  - test_case1_send_secured_message
  - test_case0_receive_message
  - test_case0_process_message
  - test_case0_dispatch_secured_message
  - dispatch_secured_data
  - dispatch_data
  source_file: /src/spdm-rs/test/spdmlib-test/src/responder_tests/context.rs
- function_names:
  - test_case0_send_spdm_error
  source_file: /src/spdm-rs/test/spdmlib-test/src/responder_tests/error_rsp.rs
- function_names:
  - test_case0_handle_spdm_key_exchange
  - test_case1_handle_spdm_key_exchange
  source_file: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_exchange_rsp.rs
- function_names:
  - test_case0_handle_spdm_heartbeat
  source_file: /src/spdm-rs/test/spdmlib-test/src/responder_tests/heartbeat_rsp.rs
- function_names:
  - test_case0_handle_spdm_algorithm
  - consturct_algorithm_positive
  source_file: /src/spdm-rs/test/spdmlib-test/src/responder_tests/algorithm_rsp.rs
- function_names: []
  source_file: /src/spdm-rs/test/spdmlib-test/src/responder_tests/mod.rs
- function_names:
  - test_case0_handle_spdm_vendor_defined_request
  source_file: /src/spdm-rs/test/spdmlib-test/src/responder_tests/vendor_rsp.rs
- function_names:
  - test_case0_handle_spdm_psk_exchange
  - test_case1_handle_spdm_psk_exchange
  source_file: /src/spdm-rs/test/spdmlib-test/src/responder_tests/psk_exchange_rsp.rs
- function_names:
  - test_case0_handle_spdm_key_update
  - test_case1_handle_spdm_key_update
  source_file: /src/spdm-rs/test/spdmlib-test/src/responder_tests/key_update_rsp.rs
- function_names:
  - test_case0_handle_spdm_certificate
  - construct_certificate_positive
  - test_case1_handle_spdm_certificate
  source_file: /src/spdm-rs/test/spdmlib-test/src/responder_tests/certificate_rsp.rs
- function_names:
  - test_encode_encap_requst_get_certificate
  - test_handle_encap_response_certificate
  source_file: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_get_certificate.rs
- function_names:
  - test_case0_handle_spdm_finish
  - test_case1_handle_spdm_finish
  - test_case2_handle_spdm_finish
  source_file: /src/spdm-rs/test/spdmlib-test/src/responder_tests/finish_rsp.rs
- function_names:
  - test_case0_handle_spdm_measurement
  - test_case1_handle_spdm_measurement
  - test_handle_spdm_measurement_runner
  - test_case2_handle_spdm_measurements
  source_file: /src/spdm-rs/test/spdmlib-test/src/responder_tests/measurement_rsp.rs
- function_names:
  - test_handle_get_encapsulated_request
  - test_handle_deliver_encapsulated_reponse_digest
  - test_handle_deliver_encapsulated_reponse_cert
  - setup_test_context_and_session
  - write_spdm_get_digest_response
  - write_spdm_get_certificate_response
  source_file: /src/spdm-rs/test/spdmlib-test/src/responder_tests/encap_rsp.rs
- function_names:
  - test_case0_handle_spdm_challenge
  - test_case1_handle_spdm_challenge
  source_file: /src/spdm-rs/test/spdmlib-test/src/responder_tests/challenge_rsp.rs
- function_names:
  - CHALLENGE::encode
  - CHALLENGE::read
  - CHALLENGE_AUTH::new
  - CHALLENGE_AUTH::encode
  - CHALLENGE_AUTH::read
  source_file: /src/spdm-rs/test/spdmlib-test/src/protocol/challenge.rs
- function_names:
  - NEGOTIATE_ALGORITHMS::encode
  - NEGOTIATE_ALGORITHMS::read
  - ALGORITHMS::encode
  - ALGORITHMS::read
  source_file: /src/spdm-rs/test/spdmlib-test/src/protocol/algorithm.rs
- function_names:
  - GET_CERTIFICATE::encode
  - GET_CERTIFICATE::read
  - CERTIFICATE::encode
  - CERTIFICATE::read
  source_file: /src/spdm-rs/test/spdmlib-test/src/protocol/certificate.rs
- function_names:
  - Message::encode
  - Message::read
  source_file: /src/spdm-rs/test/spdmlib-test/src/protocol/mod.rs
- function_names:
  - GET_DIGESTS::encode
  - GET_DIGESTS::read
  - DIGESTS::new
  - DIGESTS::encode
  - DIGESTS::read
  - test
  source_file: /src/spdm-rs/test/spdmlib-test/src/protocol/digest.rs
- function_names:
  - GET_MEASUREMENTS::encode
  - GET_MEASUREMENTS::read
  - MEASUREMENTS::new
  - MEASUREMENTS::encode
  - MEASUREMENTS::read
  source_file: /src/spdm-rs/test/spdmlib-test/src/protocol/measurement.rs
- function_names:
  - GET_CAPABILITIES::encode
  - GET_CAPABILITIES::read
  - CAPABILITIES::encode
  - CAPABILITIES::read
  source_file: /src/spdm-rs/test/spdmlib-test/src/protocol/capability.rs
- function_names:
  - GET_VERSION::encode
  - GET_VERSION::read
  - VERSION::encode
  - VERSION::read
  source_file: /src/spdm-rs/test/spdmlib-test/src/protocol/version.rs
- function_names:
  - measurement_collection_impl
  - generate_measurement_summary_hash_impl
  - handshake_secret_hkdf_expand_impl
  - master_secret_hkdf_expand_impl
  - asym_sign
  - sign_ecdsa_asym_algo
  - pqc_asym_sign
  - fake_asym_sign
  - fake_pqc_asym_sign
  source_file: /src/spdm-rs/test/spdmlib-test/src/common/secret_callback.rs
- function_names:
  - use_ecdsa
  - req_use_ecdsa
  source_file: /src/spdm-rs/test/spdmlib-test/src/common/mod.rs
- function_names:
  - create_info
  - new_context
  - new_spdm_message
  - req_create_info
  - rsp_create_info
  - get_test_key_directory
  - get_rsp_cert_chain_buff
  - TestCase::config
  - TestCase::input_to_vec
  - TestCase::expected_to_vec
  - TestCase::get_certificate_chain_buffer
  - ResponderRunner::run
  source_file: /src/spdm-rs/test/spdmlib-test/src/common/util.rs
- function_names:
  - fake_hmac
  - fake_hmac_verify
  - fake_encrypt
  - fake_decrypt
  - get_random
  - fake_asym_verify
  - fake_pqc_asym_verify
  - fake_hkdf_extract
  - fake_hkdf_expand
  - fake_get_cert_from_cert_chain
  - fake_verify_cert_chain
  - test_0_crypto_init
  source_file: /src/spdm-rs/test/spdmlib-test/src/common/crypto_callback.rs
- function_names:
  - MySpdmDeviceIo::send
  - MySpdmDeviceIo::receive
  - MySpdmDeviceIo::flush_all
  - FakeSpdmDeviceIo::new
  - FakeSpdmDeviceIo::receive
  - FakeSpdmDeviceIo::send
  - FakeSpdmDeviceIo::flush_all
  - SpdmDeviceIoReceve::new
  - SpdmDeviceIoReceve::receive
  - SpdmDeviceIoReceve::send
  - SpdmDeviceIoReceve::flush_all
  - FakeSpdmDeviceIoReceve::new
  - FakeSpdmDeviceIoReceve::receive
  - FakeSpdmDeviceIoReceve::send
  - FakeSpdmDeviceIoReceve::flush_all
  - SharedBuffer::new
  - SharedBuffer::set_buffer_ref
  - SharedBuffer::set_buffer
  - SharedBuffer::get_buffer
  - test_fake_device_io
  - TestTransportEncap::encap
  - TestTransportEncap::decap
  - TestTransportEncap::encap_app
  - TestTransportEncap::decap_app
  - TestTransportEncap::get_sequence_number_count
  - TestTransportEncap::get_max_random_count
  - TestSpdmDeviceIo::new
  - TestSpdmDeviceIo::receive
  - TestSpdmDeviceIo::send
  - TestSpdmDeviceIo::flush_all
  - test_header_generater_callback
  - test_test_device_io
  source_file: /src/spdm-rs/test/spdmlib-test/src/common/device_io.rs
- function_names:
  - extract_public_key_from_cert_chain
  - extract_raw_public_key
  - extract_signing_context
  - pqc_asym_verify
  source_file: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_asym_verify_impl.rs
- function_names:
  - hkdf_extract
  - hkdf_expand
  - SpdmCryptoHkdfKeyLen::new
  - SpdmCryptoHkdfKeyLen::len
  - tests::test_hkdf_extract_expand
  source_file: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hkdf_impl.rs
- function_names:
  - hmac
  - hmac_verify
  - tests::test_hmac_sign_verify_roundtrip
  source_file: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hmac_impl.rs
- function_names:
  - algo_of
  - generate_key_pair
  - import_private_key
  - exchange_from_private_key
  - SpdmDheKeyExchangeAwsLc::compute_final_key
  - SpdmDheKeyExchangeAwsLc::export_private_key
  - tests::roundtrip
  - tests::test_dhe_p256
  - tests::test_dhe_p384
  - tests::export_import_roundtrip
  - tests::test_dhe_export_import_p256
  - tests::test_dhe_export_import_p384
  source_file: /src/spdm-rs/spdmlib_crypto_aws_lc/src/dhe_impl.rs
- function_names:
  - hash_all
  - hash_ext::hash_ctx_init
  - hash_ext::hash_ctx_update
  - hash_ext::hash_ctx_finalize
  - hash_ext::hash_ctx_dup
  - hash_ext::insert_to_table
  - hash_ext::hash_ctx_serialize
  - h::a::s::h::_::e::x::t::::::::h::a::s::h::_::c::t::x::_::d::e::s::e::r::i::a::l::i::z::e::take
  - hash_ext::hash_ctx_deserialize
  - tests::test_hash_ctx_round_trip
  - tests::test_hash_all_sha256
  - tests::test_hash_all_sha384
  - tests::test_hash_all_sha512
  - tests::test_hash_all_invalid
  - tests::test_hash_context_checkpoint_round_trip
  - tests::test_hash_context_checkpoint_rejects_malformed_data
  source_file: /src/spdm-rs/spdmlib_crypto_aws_lc/src/hash_impl.rs
- function_names:
  - verify_pqc_dsa
  - register
  - tests::test_key_path
  - tests::load_chain
  - tests::test_ml_dsa_cert_chain_happy_path
  - tests::test_ml_dsa_cert_chain_tampered_signature_rejected
  - tests::test_ml_dsa_cert_chain_tampered_intermediate_rejected
  source_file: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_cert_verify_impl.rs
- function_names:
  - AwsLcBackend::verify_signature
  - get_cert_from_cert_chain
  - verify_cert_chain
  - tests::test_verify_cert_chain_ecp384
  - tests::test_verify_cert_chain_rsa3072
  - tests::test_verify_cert_chain_mldsa87
  source_file: /src/spdm-rs/spdmlib_crypto_aws_lc/src/cert_operation_impl.rs
- function_names:
  - parse_der_length
  - extract_spki_pubkey
  - asym_verify
  - asym_verify_with_spdm_x509
  - ecc_signature_bin_to_der
  source_file: /src/spdm-rs/spdmlib_crypto_aws_lc/src/asym_verify_impl.rs
- function_names:
  - aws_lc_nostd_alloc
  - aws_lc_nostd_dealloc
  - aws_lc_nostd_realloc
  - fill_entropy_with_rdrand
  - aws_lc_nostd_entropy
  - aws_lc_nostd_abort
  - tests::entropy_failure_clears_partial_output
  - tests::test_spdm_fips_self_tests
  - tests::test_kem_512_roundtrip
  - tests::test_kem_768_roundtrip
  - tests::test_kem_1024_roundtrip
  - tests::kem_roundtrip
  - tests::test_mldsa_44_sign_verify
  - tests::test_mldsa_65_sign_verify
  - tests::test_mldsa_87_sign_verify
  - tests::mldsa_sign_verify_roundtrip
  source_file: /src/spdm-rs/spdmlib_crypto_aws_lc/src/lib.rs
- function_names:
  - encrypt
  - decrypt
  - make_key
  - OneNonceSequence::new
  - OneNonceSequence::advance
  - tests::assert_aead_roundtrip
  - tests::test_aead_roundtrip_aes256
  - tests::test_aead_roundtrip_chacha20_poly1305
  - tests::test_chacha20_poly1305_disabled_by_default
  source_file: /src/spdm-rs/spdmlib_crypto_aws_lc/src/aead_impl.rs
- function_names:
  - AwsLcKemDecapKey::decap_key
  - AwsLcKemDecapKey::export_decap_key
  - AwsLcKemEncapKey::encap_key
  - kem_generate_key_pair
  - kem_import_decap_key
  - kem_new_key
  - tests::roundtrip
  - tests::test_kem_mlkem512
  - tests::test_kem_mlkem768
  - tests::test_kem_mlkem1024
  - tests::export_import_roundtrip
  - tests::test_kem_export_import_mlkem512
  - tests::test_kem_export_import_mlkem768
  - tests::test_kem_export_import_mlkem1024
  - tests::test_kem_import_rejects_invalid
  source_file: /src/spdm-rs/spdmlib_crypto_aws_lc/src/kem_impl.rs
- function_names:
  - get_random
  - tests::test_get_random_small
  - tests::test_get_random_large
  source_file: /src/spdm-rs/spdmlib_crypto_aws_lc/src/rand_impl.rs
- function_names:
  - extract_signing_context
  - pqc_sign_with_context
  source_file: /src/spdm-rs/spdmlib_crypto_aws_lc/src/pqc_asym_sign_impl.rs
- function_names:
  - FunctionId::encode
  - FunctionId::read
  - InterfaceId::encode
  - InterfaceId::read
  - u8::from
  - u8::from
  - TdiState::try_from
  - TdiState::encode
  - TdiState::read
  - u8::from
  - u8::from
  - TdispRequestResponseCode::try_from
  - TdispRequestResponseCode::encode
  - TdispRequestResponseCode::read
  - TdispVersion::default
  - TdispVersion::partial_cmp
  - TdispVersion::encode
  - TdispVersion::read
  - TdispMessageHeader::encode
  - TdispMessageHeader::read
  - u32::from
  - u32::from
  - TdispErrorCode::try_from
  - TdispErrorCode::encode
  - TdispErrorCode::read
  - ReqGetTdispVersion::encode
  - ReqGetTdispVersion::read
  - RspTdispVersion::encode
  - RspTdispVersion::read
  - ReqGetTdispCapabilities::encode
  - ReqGetTdispCapabilities::read
  - LockInterfaceFlag::encode
  - LockInterfaceFlag::read
  - RspTdispCapabilities::encode
  - RspTdispCapabilities::read
  - ReqLockInterfaceRequest::encode
  - ReqLockInterfaceRequest::read
  - RspLockInterfaceResponse::encode
  - RspLockInterfaceResponse::read
  - ReqGetDeviceInterfaceReport::encode
  - ReqGetDeviceInterfaceReport::read
  - InterfaceInfo::encode
  - InterfaceInfo::read
  - RspDeviceInterfaceReport::encode
  - RspDeviceInterfaceReport::read
  - ReqGetDeviceInterfaceState::encode
  - ReqGetDeviceInterfaceState::read
  - RspDeviceInterfaceState::encode
  - RspDeviceInterfaceState::read
  - ReqStartInterfaceRequest::encode
  - ReqStartInterfaceRequest::read
  - RspStartInterfaceResponse::encode
  - RspStartInterfaceResponse::read
  - ReqStopInterfaceRequest::encode
  - ReqStopInterfaceRequest::read
  - RspStopInterfaceResponse::encode
  - RspStopInterfaceResponse::read
  - ReqBindP2PStreamRequest::encode
  - ReqBindP2PStreamRequest::read
  - RspBindP2PStreamResponse::encode
  - RspBindP2PStreamResponse::read
  - ReqUnBindP2PStreamRequest::encode
  - ReqUnBindP2PStreamRequest::read
  - RspUnBindP2PStreamResponse::encode
  - RspUnBindP2PStreamResponse::read
  - MMIORangeAttribute::encode
  - MMIORangeAttribute::read
  - TdispMmioRange::default
  - TdispMmioRange::encode
  - TdispMmioRange::read
  - ReqSetMmioAttributeRequest::encode
  - ReqSetMmioAttributeRequest::read
  - RspSetMmioAttributeResponse::encode
  - RspSetMmioAttributeResponse::read
  - RspTdispError::encode
  - RspTdispError::read
  - vendor_id
  - TdiReportStructure::default
  - TdiReportStructure::encode
  - TdiReportStructure::read
  source_file: /src/spdm-rs/tdisp/src/pci_tdisp.rs
- function_names: []
  source_file: /src/spdm-rs/tdisp/src/lib.rs
- function_names:
  - pci_tdisp_req_lock_interface_request
  source_file: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_lock_interface_request.rs
- function_names:
  - pci_tdisp_req_get_tdisp_version
  source_file: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_tdisp_version.rs
- function_names:
  - pci_tdisp_req_get_device_interface_state
  source_file: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_device_interface_state.rs
- function_names:
  - pci_tdisp_req_get_tdisp_capabilities
  source_file: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_tdisp_capabilities.rs
- function_names:
  - pci_tdisp_req_set_mmio_attribute_request
  source_file: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_set_mmio_attribute_request.rs
- function_names:
  - pci_tdisp_req_bind_p2p_stream_request
  source_file: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_bind_p2p_stream_request.rs
- function_names: []
  source_file: /src/spdm-rs/tdisp/src/pci_tdisp_requester/mod.rs
- function_names:
  - pci_tdisp_req_stop_interface_request
  source_file: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_stop_interface_request.rs
- function_names:
  - pci_tdisp_req_unbind_p2p_stream_request
  source_file: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_unbind_p2p_stream_request.rs
- function_names:
  - pci_tdisp_req_vdm_request
  source_file: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_vdm_request.rs
- function_names:
  - pci_tdisp_req_start_interface_request
  source_file: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_start_interface_request.rs
- function_names:
  - pci_tdisp_req_get_device_interface_report
  source_file: /src/spdm-rs/tdisp/src/pci_tdisp_requester/pci_tdisp_req_get_device_interface_report.rs
- function_names:
  - pci_tdisp_rsp_dispatcher
  source_file: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_dispatcher.rs
- function_names:
  - register
  - pci_tdisp_device_capabilities
  - pci_tdisp_rsp_capabilities
  source_file: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_capabilities.rs
- function_names:
  - register
  - pci_tdisp_device_interface_report
  - pci_tdisp_rsp_interface_report
  source_file: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_device_interface_report.rs
- function_names:
  - register
  - pci_tdisp_device_bind_p2p_stream
  - pci_tdisp_rsp_bind_p2p_stream
  source_file: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_bind_p2p_stream_request.rs
- function_names:
  - register
  - pci_tdisp_device_lock_interface
  - pci_tdisp_rsp_lock_interface
  source_file: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_lock_interface_request.rs
- function_names:
  - register
  - pci_tdisp_device_vdm_response
  - pci_tdisp_rsp_vdm_response
  source_file: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_vdm_response.rs
- function_names:
  - register
  - pci_tdisp_device_error
  - write_error
  source_file: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_error.rs
- function_names:
  - register
  - pci_tdisp_device_version
  - pci_tdisp_rsp_version
  source_file: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_tdisp_version.rs
- function_names:
  - register
  - pci_tdisp_device_stop_interface
  - pci_tdisp_rsp_stop_interface
  source_file: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_stop_interface_request.rs
- function_names: []
  source_file: /src/spdm-rs/tdisp/src/pci_tdisp_responder/mod.rs
- function_names:
  - register
  - pci_tdisp_device_unbind_p2p_stream
  - pci_tdisp_rsp_unbind_p2p_stream
  source_file: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_unbind_p2p_stream_request.rs
- function_names:
  - register
  - pci_tdisp_device_set_mmio_attribute
  - pci_tdisp_rsp_set_mmio_attribute
  source_file: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_set_mmio_attribute_request.rs
- function_names:
  - register
  - pci_tdisp_device_start_interface
  - pci_tdisp_rsp_start_interface
  source_file: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_start_interface_request.rs
- function_names:
  - register
  - pci_tdisp_device_interface_state
  - pci_tdisp_rsp_interface_state
  source_file: /src/spdm-rs/tdisp/src/pci_tdisp_responder/pci_tdisp_rsp_device_interface_state.rs
- function_names:
  - QueryDataObject::encode
  - QueryDataObject::read
  - QueryRespDataObject::encode
  - QueryRespDataObject::read
  - Aes256GcmKeyBuffer::encode
  - Aes256GcmKeyBuffer::read
  - KeyProgDataObject::encode
  - KeyProgDataObject::read
  - u8::from
  - KpAckStatus::try_from
  - KpAckStatus::encode
  - KpAckStatus::read
  - KpAckDataObject::encode
  - KpAckDataObject::read
  - KSetGoDataObject::encode
  - KSetGoDataObject::read
  - KSetStopDataObject::encode
  - KSetStopDataObject::read
  - KGoStopAckDataObject::encode
  - KGoStopAckDataObject::read
  - vendor_id
  source_file: /src/spdm-rs/idekm/src/pci_idekm.rs
- function_names: []
  source_file: /src/spdm-rs/idekm/src/lib.rs
- function_names:
  - IdekmReqContext::pci_ide_km_key_set_go
  source_file: /src/spdm-rs/idekm/src/pci_ide_km_requester/pci_ide_km_req_key_set_go.rs
- function_names:
  - IdekmReqContext::pci_ide_km_query
  source_file: /src/spdm-rs/idekm/src/pci_ide_km_requester/pci_ide_km_req_query.rs
- function_names:
  - IdekmReqContext::pci_ide_km_key_prog
  source_file: /src/spdm-rs/idekm/src/pci_ide_km_requester/pci_ide_km_req_key_prog.rs
- function_names: []
  source_file: /src/spdm-rs/idekm/src/pci_ide_km_requester/mod.rs
- function_names:
  - IdekmReqContext::pci_ide_km_key_set_stop
  source_file: /src/spdm-rs/idekm/src/pci_ide_km_requester/pci_ide_km_req_key_set_stop.rs
- function_names:
  - register
  - pci_ide_km_device_key_set_go
  - pci_ide_km_rsp_key_set_go
  source_file: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_key_set_go.rs
- function_names:
  - register
  - pci_ide_km_device_key_prog
  - pci_ide_km_rsp_key_prog
  source_file: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_key_prog.rs
- function_names:
  - register
  - pci_ide_km_device_key_set_stop
  - pci_ide_km_rsp_key_set_stop
  source_file: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_key_set_stop.rs
- function_names: []
  source_file: /src/spdm-rs/idekm/src/pci_ide_km_responder/mod.rs
- function_names:
  - register
  - pci_ide_km_device_query
  - pci_ide_km_rsp_query
  source_file: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_query.rs
- function_names:
  - pci_ide_km_rsp_dispatcher
  source_file: /src/spdm-rs/idekm/src/pci_ide_km_responder/pci_ide_km_rsp_dispatcher.rs
- function_names:
  - pass_rsp_handle_spdm_version
  - pass_rsp_handle_spdm_capability
  - pass_rsp_handle_spdm_algorithm
  - pass_rsp_handle_spdm_digest
  - pass_rsp_handle_spdm_certificate
  - pass_rsp_handle_spdm_challenge
  - pass_rsp_handle_spdm_measurement
  - pass_rsp_handle_spdm_key_exchange
  - pass_rsp_handle_spdm_psk_exchange
  source_file: /src/spdm-rs/fuzz-target/pass_context/src/pass_responder.rs
- function_names:
  - fuzz_total_requesters
  source_file: /src/spdm-rs/fuzz-target/pass_context/src/pass_requester.rs
- function_names:
  - new_logger_from_env
  - main
  source_file: /src/spdm-rs/fuzz-target/pass_context/src/main.rs
- function_names:
  - run_spdm
  - permutation
  - main
  source_file: /src/spdm-rs/fuzz-target/random_requester/src/main.rs
- function_names:
  - fuzz_handle_spdm_measurement
  - main
  source_file: /src/spdm-rs/fuzz-target/responder/measurement_rsp/src/main.rs
- function_names:
  - fuzz_handle_spdm_psk_exchange
  - main
  source_file: /src/spdm-rs/fuzz-target/responder/pskexchange_rsp/src/main.rs
- function_names:
  - fuzz_handle_deliver_encapsulated_reponse
  - main
  source_file: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_rsp/src/main.rs
- function_names:
  - fuzz_handle_spdm_key_update
  - main
  source_file: /src/spdm-rs/fuzz-target/responder/key_update_rsp/src/main.rs
- function_names:
  - fuzz_handle_spdm_psk_finish
  - main
  source_file: /src/spdm-rs/fuzz-target/responder/psk_finish_rsp/src/main.rs
- function_names:
  - fuzz_handle_spdm_heartbeat
  - main
  source_file: /src/spdm-rs/fuzz-target/responder/heartbeat_rsp/src/main.rs
- function_names:
  - fuzz_handle_spdm_version
  - main
  source_file: /src/spdm-rs/fuzz-target/responder/version_rsp/src/main.rs
- function_names:
  - fuzz_handle_spdm_digest
  - main
  source_file: /src/spdm-rs/fuzz-target/responder/digest_rsp/src/main.rs
- function_names:
  - fuzz_handle_spdm_challenge
  - main
  source_file: /src/spdm-rs/fuzz-target/responder/challenge_rsp/src/main.rs
- function_names:
  - fuzz_handle_spdm_vendor_defined_request
  - main
  source_file: /src/spdm-rs/fuzz-target/responder/vendor_rsp/src/main.rs
- function_names:
  - fuzz_handle_spdm_end_session
  - main
  source_file: /src/spdm-rs/fuzz-target/responder/end_session_rsp/src/main.rs
- function_names:
  - fuzz_handle_spdm_certificate
  - main
  source_file: /src/spdm-rs/fuzz-target/responder/certificate_rsp/src/main.rs
- function_names:
  - fuzz_handle_encap_response_certificate
  - main
  source_file: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_certificate_rsp/src/main.rs
- function_names:
  - fuzz_handle_encap_response_digest
  - main
  source_file: /src/spdm-rs/fuzz-target/responder/deliver_encapsulated_response_digest_rsp/src/main.rs
- function_names:
  - fuzz_handle_spdm_finish
  - main
  source_file: /src/spdm-rs/fuzz-target/responder/finish_rsp/src/main.rs
- function_names:
  - fuzz_handle_get_encapsulated_request
  - main
  source_file: /src/spdm-rs/fuzz-target/responder/get_encapsulated_request_rsp/src/main.rs
- function_names:
  - fuzz_handle_spdm_algorithm
  - main
  source_file: /src/spdm-rs/fuzz-target/responder/algorithm_rsp/src/main.rs
- function_names:
  - fuzz_handle_spdm_key_exchange
  - main
  source_file: /src/spdm-rs/fuzz-target/responder/keyexchange_rsp/src/main.rs
- function_names:
  - fuzz_handle_spdm_capability
  - main
  source_file: /src/spdm-rs/fuzz-target/responder/capability_rsp/src/main.rs
- function_names:
  - fake_hkdf_extract
  - fake_hkdf_expand
  source_file: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_hkdf_impl.rs
- function_names:
  - fake_encrypt
  - fake_decrypt
  source_file: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_aead_impl.rs
- function_names: []
  source_file: /src/spdm-rs/fuzz-target/fuzzlib/src/time.rs
- function_names:
  - measurement_collection_impl
  - generate_measurement_summary_hash_impl
  - handshake_secret_hkdf_expand_impl
  - master_secret_hkdf_expand_impl
  source_file: /src/spdm-rs/fuzz-target/fuzzlib/src/secret.rs
- function_names:
  - FakeSpdmDeviceIoReceve::new
  - FakeSpdmDeviceIoReceve::receive
  - FakeSpdmDeviceIoReceve::send
  - FakeSpdmDeviceIoReceve::flush_all
  - FuzzTmpSpdmDeviceIoReceve::new
  - FuzzTmpSpdmDeviceIoReceve::receive
  - FuzzTmpSpdmDeviceIoReceve::send
  - FuzzTmpSpdmDeviceIoReceve::flush_all
  - FuzzSpdmDeviceIoReceve::new
  - FuzzSpdmDeviceIoReceve::receive
  - FuzzSpdmDeviceIoReceve::send
  - FuzzSpdmDeviceIoReceve::flush_all
  - FakeSpdmDeviceIo::new
  - FakeSpdmDeviceIo::set_rx
  - FakeSpdmDeviceIo::receive
  - FakeSpdmDeviceIo::send
  - FakeSpdmDeviceIo::flush_all
  - test_single_run
  source_file: /src/spdm-rs/fuzz-target/fuzzlib/src/fake_device_io.rs
- function_names:
  - new_logger_from_env
  - certificata_data
  source_file: /src/spdm-rs/fuzz-target/fuzzlib/src/lib.rs
- function_names:
  - fuzz_send_receive_spdm_challenge
  - main
  source_file: /src/spdm-rs/fuzz-target/requester/challenge_req/src/main.rs
- function_names:
  - fuzz_encap_handle_get_certificate
  - main
  source_file: /src/spdm-rs/fuzz-target/requester/encapsulated_request_certificate_req/src/main.rs
- function_names:
  - fuzz_send_spdm_vendor_defined_request
  - main
  source_file: /src/spdm-rs/fuzz-target/requester/vendor_req/src/main.rs
- function_names:
  - fuzz_send_receive_spdm_capability
  - main
  source_file: /src/spdm-rs/fuzz-target/requester/capability_req/src/main.rs
- function_names:
  - fuzz_send_receive_spdm_heartbeat
  - main
  source_file: /src/spdm-rs/fuzz-target/requester/heartbeat_req/src/main.rs
- function_names:
  - fuzz_send_receive_spdm_digest
  - main
  source_file: /src/spdm-rs/fuzz-target/requester/digest_req/src/main.rs
- function_names:
  - fuzz_send_receive_spdm_algorithm
  - main
  source_file: /src/spdm-rs/fuzz-target/requester/algorithm_req/src/main.rs
- function_names:
  - fuzz_send_receive_spdm_key_exchange
  - main
  source_file: /src/spdm-rs/fuzz-target/requester/key_exchange_req/src/main.rs
- function_names:
  - fuzz_session_based_mutual_authenticate
  - main
  source_file: /src/spdm-rs/fuzz-target/requester/encapsulated_request_req/src/main.rs
- function_names:
  - fuzz_send_receive_spdm_finish
  - main
  source_file: /src/spdm-rs/fuzz-target/requester/finish_req/src/main.rs
- function_names:
  - fuzz_send_receive_spdm_psk_finish
  - main
  source_file: /src/spdm-rs/fuzz-target/requester/psk_finish_req/src/main.rs
- function_names:
  - fuzz_send_receive_spdm_version
  - main
  source_file: /src/spdm-rs/fuzz-target/requester/version_req/src/main.rs
- function_names:
  - f::u::z::z::_::s::e::n::d::_::r::e::c::e::i::v::e::_::s::p::d::m::_::k::e::y::_::u::p::d::a::t::e::f
  - fuzz_send_receive_spdm_key_update
  - main
  source_file: /src/spdm-rs/fuzz-target/requester/key_update_req/src/main.rs
- function_names:
  - fuzz_send_receive_spdm_certificate
  - main
  source_file: /src/spdm-rs/fuzz-target/requester/certificate_req/src/main.rs
- function_names:
  - fuzz_send_receive_spdm_end_session
  - main
  source_file: /src/spdm-rs/fuzz-target/requester/end_session_req/src/main.rs
- function_names:
  - fuzz_send_receive_spdm_measurement
  - main
  source_file: /src/spdm-rs/fuzz-target/requester/measurement_req/src/main.rs
- function_names:
  - fuzz_encap_handle_get_digest
  - main
  source_file: /src/spdm-rs/fuzz-target/requester/encapsulated_request_digest_req/src/main.rs
- function_names:
  - fuzz_send_receive_spdm_psk_exchange
  - main
  source_file: /src/spdm-rs/fuzz-target/requester/psk_exchange_req/src/main.rs
- function_names:
  - MctpMessageType::default
  - MctpMessageHeader::encode
  - MctpMessageHeader::read
  - MctpTransportEncap::encap
  - MctpTransportEncap::decap
  - MctpTransportEncap::encap_app
  - MctpTransportEncap::decap_app
  - MctpTransportEncap::get_sequence_number_count
  - MctpTransportEncap::get_max_random_count
  - tests::test_case0_mctpmessageheader
  - tests::test_case0_encap
  - tests::test_case0_decap
  - tests::test_case0_encap_app
  - tests::test_case0_decap_app
  - tests::test_case0_get_sequence_number_count
  - tests::test_case0_get_max_random_count
  source_file: /src/spdm-rs/mctp_transport/src/header.rs
- function_names: []
  source_file: /src/spdm-rs/mctp_transport/src/lib.rs
- function_names:
  - Task::wake_by_ref
  - Arc::is_pending
  - Executor::run
  - Executor::block_on
  - Executor::add_task
  - Executor::poll_tasks
  - Executor::active_tasks_count
  source_file: /src/spdm-rs/executor/src/executor.rs
- function_names:
  - run
  - block_on
  - add_task
  - poll_tasks
  - active_tasks_count
  source_file: /src/spdm-rs/executor/src/lib.rs
- function_names:
  - read_rtc
  - bcd_to_binary
  - is_24_hour_format
  - is_binary_mode
  - read_cmos_register
  - get_update_in_progress_flag
  - read_datetime_register
  - read_hour_register
  - read_date_time
  source_file: /src/spdm-rs/sys_time/src/rtc.rs
- function_names:
  - get_sys_time
  source_file: /src/spdm-rs/sys_time/src/lib.rs
- function_names:
  - PciDoeVendorId::default
  - PciDoeDataObjectType::default
  - PciDoeMessageHeader::encode
  - PciDoeMessageHeader::read
  - PciDoeTransportEncap::encap
  - PciDoeTransportEncap::decap
  - PciDoeTransportEncap::encap_app
  - PciDoeTransportEncap::decap_app
  - PciDoeTransportEncap::get_sequence_number_count
  - PciDoeTransportEncap::get_max_random_count
  - tests_header::test_case0_pcidoemessageheader
  - tests_header::test_case1_pcidoemessageheader
  - tests_header::test_case2_pcidoemessageheader
  - tests_header::test_case3_pcidoemessageheader
  - tests_header::test_case4_pcidoemessageheader
  - tests_header::test_case5_pcidoemessageheader
  source_file: /src/spdm-rs/pcidoe_transport/src/header.rs
- function_names: []
  source_file: /src/spdm-rs/pcidoe_transport/src/lib.rs
- function_names:
  - SpdmConfig::validate_content
  - TEMPLATE
  - main
  source_file: /src/spdm-rs/spdmlib/build.rs
- function_names:
  - StatusSeverity::try_from
  - StatusCodeCore::try_from
  - StatusCodeCrypto::try_from
  - StatusCodeCertParse::try_from
  - StatusCodeTransport::try_from
  - StatusCodeMeasCollect::try_from
  - StatusCodeRNG::try_from
  - StatusCodeVdmError::try_from
  - StatusCode::default
  - StatusCode::try_from
  - StatusCode::try_into
  - SpdmErrorMessageData::default
  - SpdmStatus::eq
  - SpdmStatus::encode
  - SpdmStatus::read
  - SpdmStatus::get_u32
  - SpdmStatus::from_u32
  - SpdmStatus::spdm_status_is_success
  - SpdmStatus::spdm_status_is_error
  - SpdmStatus::spdm_status_set_error_data
  - SpdmStatus::fmt
  - spdm_return_status
  - SPDM_STATUS_VDM_DEFINED_ERROR
  source_file: /src/spdm-rs/spdmlib/src/error.rs
- function_names: []
  source_file: /src/spdm-rs/spdmlib/src/lib.rs
- function_names: []
  source_file: /src/spdm-rs/spdmlib/src/config.rs
- function_names:
  - SpdmDheKeyExchange::export_private_key
  - SpdmKemEncapKeyExchange::export_decap_key
  source_file: /src/spdm-rs/spdmlib/src/crypto/crypto_callbacks.rs
- function_names:
  - BytesMutStrubbed::with_capacity
  - BytesMutStrubbed::new
  - BytesMutStrubbed::len
  - BytesMutStrubbed::is_empty
  - BytesMutStrubbed::capacity
  - BytesMutStrubbed::extend_from_slice
  - BytesMutStrubbed::reserve
  - BytesMutStrubbed::resize
  - BytesMutStrubbed::clear
  - BytesMutStrubbed::truncate
  - BytesMutStrubbed::zeroed
  - BytesMutStrubbed::put_u8
  - BytesMutStrubbed::drop
  - BytesMutStrubbed::remaining
  - BytesMutStrubbed::chunk
  - BytesMutStrubbed::advance
  - BytesMutStrubbed::copy_to_bytes
  - BytesMutStrubbed::as_ref
  - BytesMutStrubbed::deref
  - BytesMutStrubbed::as_mut
  - BytesMutStrubbed::deref_mut
  - BytesMutStrubbed::from
  - BytesMutStrubbed::from
  - BytesMutStrubbed::eq
  - BytesMutStrubbed::partial_cmp
  - BytesMutStrubbed::cmp
  - BytesMutStrubbed::hash
  - BytesMutStrubbed::borrow
  - BytesMutStrubbed::borrow_mut
  - BytesMutStrubbed::clone
  - BytesMutStrubbed::into_iter
  - '&''a BytesMutStrubbed::into_iter'
  - BytesMutStrubbed::extend
  - BytesMutStrubbed::extend
  - BytesMutStrubbed::extend
  - BytesMutStrubbed::from_iter
  - BytesMutStrubbed::from_iter
  source_file: /src/spdm-rs/spdmlib/src/crypto/bytes_mut_scrubbed.rs
- function_names:
  - is_root_certificate
  - check_leaf_certificate
  - hash::register
  - hash::hash_all
  - hash::SpdmHashCtx::clone
  - hash::SpdmHashCtx::drop
  - hash::SpdmHashCtx::encode
  - hash::SpdmHashCtx::read
  - hash::hash_ctx_init
  - hash::hash_ctx_update
  - hash::hash_ctx_finalize
  - hash::hash_ctx_dup
  - hash::hash_ctx_serialize
  - hash::hash_ctx_deserialize
  - hmac::register
  - hmac::hmac
  - hmac::hmac_verify
  - asym_verify::register
  - asym_verify::verify
  - pqc_asym_verify::register
  - pqc_asym_verify::verify
  - dhe::register
  - dhe::generate_key_pair
  - dhe::import_private_key
  - kem_decap::register
  - kem_decap::generate_key_pair
  - kem_decap::import_decap_key
  - kem_encap::register
  - kem_encap::new_key
  - cert_operation::register
  - cert_operation::get_cert_from_cert_chain
  - cert_operation::verify_cert_chain
  - hkdf::register
  - hkdf::hkdf_extract
  - hkdf::hkdf_expand
  - aead::register
  - aead::encrypt
  - aead::decrypt
  - rand::register
  - rand::get_random
  - spdm_asym_verify
  source_file: /src/spdm-rs/spdmlib/src/crypto/mod.rs
- function_names:
  - test_case_hash
  - test_case_gcm256
  - test_case_gcm128
  - test_case_chacha20_poly1305
  - from_hex
  - from_hex_to_aead_key
  - from_hex_to_aead_iv
  - from_hex_digit
  source_file: /src/spdm-rs/spdmlib/src/crypto/crypto_tests.rs
- function_names:
  - LogLevelGuard::drop
  - run_silenced
  - configured_hash_algorithms
  - configured_asym_algorithms
  - SupportedAlgorithms::supports
  - ensure_self_test_coverage
  - run_self_tests
  - tests::test_empty_config_runs_no_self_tests
  - tests::test_configured_algorithms_include_all_consumer_uses
  - tests::test_example_supported_profile_has_self_test_coverage
  - tests::test_configured_algorithms_require_self_test_coverage
  source_file: /src/spdm-rs/spdmlib/src/crypto/fips/mod.rs
- function_names:
  - aes_256_gcm_encrypt_self_test
  - aes_256_gcm_decrypt_self_test
  - run_self_tests
  source_file: /src/spdm-rs/spdmlib/src/crypto/fips/aead_st/mod.rs
- function_names:
  - run_self_tests
  source_file: /src/spdm-rs/spdmlib/src/crypto/fips/hash_st/mod.rs
- function_names:
  - verify_vector
  - run_self_tests
  source_file: /src/spdm-rs/spdmlib/src/crypto/fips/dhe_st/mod.rs
- function_names:
  - run_self_tests
  source_file: /src/spdm-rs/spdmlib/src/crypto/fips/hmac_st/mod.rs
- function_names:
  - get_cavs_vectors
  source_file: /src/spdm-rs/spdmlib/src/crypto/fips/cavs_vectors/dhe_vectors_p256.rs
- function_names:
  - get_cavs_vectors
  source_file: /src/spdm-rs/spdmlib/src/crypto/fips/cavs_vectors/ecdsa_p256_sha384_sig_ver.rs
- function_names:
  - get_cavs_vectors
  source_file: /src/spdm-rs/spdmlib/src/crypto/fips/cavs_vectors/ecdsa_p256_sha256_sig_ver.rs
- function_names:
  - get_cavs_vectors
  source_file: /src/spdm-rs/spdmlib/src/crypto/fips/cavs_vectors/ecdsa_p384_sha384_sig_ver.rs
- function_names:
  - get_cavs_vectors
  source_file: /src/spdm-rs/spdmlib/src/crypto/fips/cavs_vectors/gcm_decrypt256.rs
- function_names:
  - get_cavs_vectors
  source_file: /src/spdm-rs/spdmlib/src/crypto/fips/cavs_vectors/sha384_short_msg.rs
- function_names:
  - get_cavs_vectors
  source_file: /src/spdm-rs/spdmlib/src/crypto/fips/cavs_vectors/hmac_sha384.rs
- function_names:
  - get_cavs_vectors
  source_file: /src/spdm-rs/spdmlib/src/crypto/fips/cavs_vectors/sha256_short_msg.rs
- function_names:
  - get_cavs_vectors
  source_file: /src/spdm-rs/spdmlib/src/crypto/fips/cavs_vectors/hmac_sha512.rs
- function_names:
  - get_cavs_vectors
  source_file: /src/spdm-rs/spdmlib/src/crypto/fips/cavs_vectors/ecdsa_p384_sha256_sig_ver.rs
- function_names:
  - get_cavs_vectors
  source_file: /src/spdm-rs/spdmlib/src/crypto/fips/cavs_vectors/gcm_encrypt_ext_iv256.rs
- function_names: []
  source_file: /src/spdm-rs/spdmlib/src/crypto/fips/cavs_vectors/mod.rs
- function_names:
  - get_cavs_vectors
  source_file: /src/spdm-rs/spdmlib/src/crypto/fips/cavs_vectors/dhe_vectors_p384.rs
- function_names:
  - get_cavs_vectors
  source_file: /src/spdm-rs/spdmlib/src/crypto/fips/cavs_vectors/hmac_sha256.rs
- function_names:
  - get_cavs_vectors
  source_file: /src/spdm-rs/spdmlib/src/crypto/fips/cavs_vectors/rsa_sig_ver.rs
- function_names:
  - append_der_length
  - der_integer
  - der_sequence
  - rsa_spki
  - ecdsa_verify
  - run_self_tests
  source_file: /src/spdm-rs/spdmlib/src/crypto/fips/asym_verify_st/mod.rs
- function_names:
  - pqc_asym_verify
  source_file: /src/spdm-rs/spdmlib/src/crypto/crypto_null/pqc_asym_verify_impl.rs
- function_names:
  - hkdf_extract
  - hkdf_expand
  source_file: /src/spdm-rs/spdmlib/src/crypto/crypto_null/hkdf_impl.rs
- function_names:
  - hmac
  - hmac_verify
  source_file: /src/spdm-rs/spdmlib/src/crypto/crypto_null/hmac_impl.rs
- function_names:
  - generate_key_pair
  source_file: /src/spdm-rs/spdmlib/src/crypto/crypto_null/dhe_impl.rs
- function_names:
  - hash_all
  - hash_ext::hash_ctx_update
  - hash_ext::hash_ctx_finalize
  - hash_ext::hash_ctx_dup
  - hash_ext::hash_ctx_init
  - hash_ext::hash_ctx_serialize
  - hash_ext::hash_ctx_deserialize
  source_file: /src/spdm-rs/spdmlib/src/crypto/crypto_null/hash_impl.rs
- function_names: []
  source_file: /src/spdm-rs/spdmlib/src/crypto/crypto_null/mod.rs
- function_names:
  - get_cert_from_cert_chain
  - verify_cert_chain
  source_file: /src/spdm-rs/spdmlib/src/crypto/crypto_null/cert_operation_impl.rs
- function_names:
  - asym_verify
  source_file: /src/spdm-rs/spdmlib/src/crypto/crypto_null/asym_verify_impl.rs
- function_names:
  - encrypt
  - decrypt
  source_file: /src/spdm-rs/spdmlib/src/crypto/crypto_null/aead_impl.rs
- function_names:
  - kem_generate_key_pair
  - kem_new_key
  source_file: /src/spdm-rs/spdmlib/src/crypto/crypto_null/kem_impl.rs
- function_names:
  - get_random
  source_file: /src/spdm-rs/spdmlib/src/crypto/crypto_null/rand_impl.rs
- function_names:
  - Error::fmt
  - ParseError::fmt
  - SignatureError::fmt
  - TimeError::fmt
  - AlgorithmError::fmt
  - ExtensionError::fmt
  - ChainError::fmt
  - EncodingError::fmt
  - ConstraintError::fmt
  - KeyError::fmt
  - NameError::fmt
  - Error::from
  - Error::from
  - Error::from
  - Error::from
  - Error::invalid_der
  - Error::signature_failed
  - Error::unsupported_algorithm
  - Error::missing_field
  - Error::critical_extension
  - Error::issuer_not_found
  - Error::weak_key
  - Error::validation
  - Error::internal
  - tests::test_error_display
  - tests::test_error_conversions
  - tests::test_helper_constructors
  - tests::test_clone
  source_file: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/error.rs
- function_names: []
  source_file: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/lib.rs
- function_names:
  - Version::value
  - Version::from_value
  - Version::fmt
  - default_false
  - Extension::new
  - Extension::value
  - Extensions::new
  - Extensions::from_vec
  - Extensions::push
  - Extensions::iter
  - Extensions::find
  - Extensions::is_empty
  - Extensions::len
  - Extensions::decode_value
  - Extensions::value_len
  - Extensions::encode_value
  - TBSCertificate::new
  - TBSCertificate::serial_number
  - TBSCertificate::serial_number_ref
  - TBSCertificate::with_extensions
  - TBSCertificate::to_der
  - TBSCertificate::decode_value
  - TBSCertificate::value_len
  - TBSCertificate::encode_value
  - Certificate::new
  - Certificate::from_der
  - Certificate::from_pem
  - Certificate::to_der
  - Certificate::to_pem
  - Certificate::tbs_certificate_der
  - Certificate::signature_bytes
  - Certificate::subject
  - Certificate::issuer
  - Certificate::serial_number
  - Certificate::validity
  - Certificate::version
  - Certificate::extensions
  - C::e::r::t::i::f::i::c::a::t::e::::::::i::s::_::c::a::default_false
  - Certificate::is_ca
  - Certificate::subject_public_key_info
  - Certificate::signature_algorithm
  - Certificate::decode_value
  - Certificate::value_len
  - Certificate::encode_value
  - Certificate::fmt
  - tests::test_version
  - tests::test_version_display
  - tests::test_extensions_new
  - tests::test_extension_create
  source_file: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/mod.rs
- function_names:
  - DirectoryString::as_str
  - DirectoryString::decode_value
  - DirectoryString::value_len
  - DirectoryString::encode_value
  - DirectoryString::encoding_tag_byte
  - DirectoryString::encoded_len
  - DirectoryString::encode
  - DirectoryString::fmt
  - AttributeTypeAndValue::decode_value
  - AttributeTypeAndValue::value_len
  - AttributeTypeAndValue::encode_value
  - AttributeTypeAndValue::new
  - AttributeTypeAndValue::new_utf8
  - AttributeTypeAndValue::new_printable
  - AttributeTypeAndValue::value_tag_byte
  - AttributeTypeAndValue::value_content
  - AttributeTypeAndValue::directory_string
  - AttributeTypeAndValue::value_as_str
  - AttributeTypeAndValue::attr_name
  - AttributeTypeAndValue::fmt
  - AttributeTypeAndValue::value_cmp
  - RelativeDistinguishedName::new
  - RelativeDistinguishedName::from_attributes
  - RelativeDistinguishedName::first
  - RelativeDistinguishedName::is_multi_valued
  - RelativeDistinguishedName::decode_value
  - RelativeDistinguishedName::value_len
  - RelativeDistinguishedName::encode_value
  - RelativeDistinguishedName::fmt
  - RDNSequence::decode_value
  - RDNSequence::value_len
  - RDNSequence::encode_value
  - RDNSequence::new
  - RDNSequence::from_rdns
  - RDNSequence::push
  - RDNSequence::iter
  - RDNSequence::find_attr
  - RDNSequence::common_name
  - RDNSequence::organization
  - RDNSequence::country
  - RDNSequence::default
  - RDNSequence::fmt
  - GeneralName::tag_number
  - GeneralName::ip_address_string
  - GeneralName::decode_value
  - GeneralName::value_len
  - GeneralName::encode_value
  - GeneralName::tag
  - GeneralName::fmt
  - SubjectAltName::new
  - SubjectAltName::dns_names
  - SubjectAltName::email_addresses
  - SubjectAltName::ip_addresses
  - SubjectAltName::uris
  - SubjectAltName::decode_value
  - SubjectAltName::value_len
  - SubjectAltName::encode_value
  - SubjectAltName::fmt
  - tests::test_directory_string_utf8
  - tests::test_attribute_type_and_value
  - tests::test_rdn
  - tests::test_rdn_sequence
  - tests::test_general_name_dns
  - tests::test_general_name_email
  - tests::test_general_name_ip
  - tests::test_subject_alt_name
  - tests::test_common_oids
  - tests::test_encode_decode_rdn_sequence
  source_file: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/certificate/name.rs
- function_names:
  - CertificateChain::new
  - CertificateChain::single
  - CertificateChain::push
  - CertificateChain::leaf
  - CertificateChain::root
  - CertificateChain::len
  - CertificateChain::is_empty
  - CertificateChain::iter
  source_file: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/chain/mod.rs
- function_names:
  - RingBackend::verify_signature
  - tests::test_ring_backend_creation
  source_file: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/ring.rs
- function_names:
  - SignatureAlgorithm::from_oid_with_params
  - SignatureAlgorithm::from_oid_with_curve
  - SignatureAlgorithm::from_oid
  - SignatureAlgorithm::from_spdm_algos
  - SignatureAlgorithm::parse_rsa_pss_params
  - register_pqc_verifier
  - verify_pqc_signature
  - is_pqc
  - pqc_verifier_registered
  - tests::test_ecdsa_sha256_with_p256
  - tests::test_ecdsa_sha256_with_p384
  - tests::test_ecdsa_sha256_unknown_curve_rejected
  - tests::test_ecdsa_sha256_missing_curve_rejected
  - tests::test_ecdsa_sha384_with_p256
  - tests::test_ecdsa_sha384_with_p384
  - tests::test_ecdsa_sha384_unknown_curve_rejected
  - tests::test_ecdsa_sha384_missing_curve_rejected
  - tests::test_rsa_pkcs1_sha256
  - tests::test_rsa_pkcs1_sha384
  - tests::test_rsa_pkcs1_sha512
  - tests::test_ed25519
  - tests::test_ml_dsa_44_oid
  - tests::test_ml_dsa_65_oid
  - tests::test_ml_dsa_87_oid
  - tests::test_is_pqc
  - tests::test_pqc_verify_without_registered_hook_errors
  - tests::test_unknown_sig_oid_rejected
  - tests::test_rsa_pss_no_params_rejected
  - tests::test_rsa_pss_sha256_params
  - tests::test_rsa_pss_sha384_params
  - tests::test_rsa_pss_sha512_params
  - tests::test_rsa_pss_empty_params_sha1_rejected
  - tests::test_from_spdm_algos_ecdsa_p256_sha256
  - tests::test_from_spdm_algos_ecdsa_p384_sha384
  - tests::test_from_spdm_algos_rsa_pkcs1_sha256
  - tests::test_from_spdm_algos_rsa_pkcs1_sha384_3072
  - tests::test_from_spdm_algos_rsa_pss_sha512_4096
  - tests::test_from_spdm_algos_ed25519_any_hash
  - tests::test_from_spdm_algos_unsupported_combo
  - tests::test_from_spdm_algos_sm3_ecdsa_unsupported
  - tests::test_from_oid_with_curve
  - tests::test_from_oid_rsa_ignores_curve
  source_file: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/crypto_backend/mod.rs
- function_names:
  - find_extension
  - SpdmCertificateModel::from_value
  - SpdmCertificateModel::value
  - SpdmCertificateModel::name
  - SpdmCertificateRole::name
  - SpdmValidator::new
  - SpdmValidator::default
  - SpdmValidator::with_backend
  - SpdmValidator::validate_chain
  - SpdmValidator::validate_spdm_certificate_with_options
  - SpdmValidator::validate_spdm_certificate
  - SpdmValidator::validate_spdm_eku
  - SpdmValidator::validate_spdm_extension
  - SpdmValidator::validate_hardware_identity
  - SpdmValidator::validate_basic_constraints_spdm
  - SpdmValidator::validate_algorithms
  - validate_hardware_identity
  - check_hardware_identity_in_extension
  - tests::test_certificate_model
  - tests::test_certificate_model_names
  - tests::test_certificate_role_names
  - tests::load_cert
  - tests::test_key_path
  - tests::test_spdm_eku_responder_cert_with_rsp_eku_passes
  - tests::test_spdm_eku_responder_cert_with_req_only_eku_rejected
  - tests::test_spdm_eku_responder_cert_with_both_eku_passes
  - tests::test_spdm_eku_requester_cert_with_req_eku_passes
  - tests::test_spdm_eku_requester_cert_with_rsp_only_eku_rejected
  - tests::test_spdm_eku_no_eku_extension_passes
  - tests::test_spdm_extension_absent_passes
  - tests::test_hw_identity_generic_cert_no_spdm_ext_passes
  - tests::test_hw_identity_device_cert_without_spdm_ext_rejected
  - tests::test_bc_spdm_device_cert_with_ca_true_rejected
  - tests::test_bc_spdm_alias_cert_with_ca_true_rejected
  - tests::test_bc_spdm_generic_cert_ca_true_passes
  - tests::test_bc_spdm_device_cert_ca_false_passes
  - tests::test_bc_spdm_no_bc_extension_passes
  - tests::test_validate_spdm_certificate_ecp256_generic
  - tests::test_validate_spdm_certificate_wrong_asym_rejected
  - tests::test_spdm_validator_validate_chain
  source_file: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/spdm_validator.rs
- function_names: []
  source_file: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/mod.rs
- function_names:
  - SpdmCertChainHeader::new
  - SpdmCertChainHeader::from_bytes
  - SpdmCertChainHeader::to_bytes
  - SpdmCertChainHeader::hash_size_for_algo
  - SpdmCertChainHeader::fmt
  - parse_spdm_cert_chain
  - parse_concatenated_certificates
  - der_sequence_total_length
  - validate_spdm_cert_chain
  - validate_spdm_cert_chain_with_backend
  - verify_root_cert_hash
  - compute_hash
  - tests::test_spdm_cert_chain_header_size
  - tests::test_header_serialization
  - tests::test_header_parsing
  - tests::test_header_parsing_invalid_reserved
  - tests::test_der_seq_short_form_length
  - tests::test_der_seq_long_form_1_byte
  - tests::test_der_seq_long_form_2_bytes
  - tests::test_der_seq_not_sequence_tag
  - tests::test_der_seq_too_short
  - tests::test_der_seq_empty_input
  - tests::test_der_seq_zero_length
  - tests::test_get_cert_index_0_from_real_chain
  - tests::test_get_cert_last_from_real_chain
  - tests::test_get_cert_out_of_bounds
  - tests::test_get_cert_empty_chain
  - tests::test_get_cert_garbage_data
  - tests::test_parse_spdm_cert_chain_no_hash_algo
  - tests::test_parse_spdm_cert_chain_multiple_hash_algos_rejected
  - tests::test_verify_cert_chain_ecp256_real
  - tests::test_verify_cert_chain_ecp384_real
  - tests::test_verify_cert_chain_rsa3072_real
  - tests::test_verify_cert_chain_empty_rejected
  - tests::test_verify_cert_chain_garbage_rejected
  - tests::test_verify_cert_chain_with_ecdsa_p256_algo_match
  - tests::test_verify_cert_chain_with_wrong_asym_algo_rejected
  - tests::test_compute_hash_sha256
  - tests::test_compute_hash_sha384
  - tests::test_compute_hash_sha512
  - tests::test_compute_hash_empty_data
  - tests::test_parse_concatenated_certs_from_real_chain
  - tests::test_parse_concatenated_certs_single_cert
  - tests::test_parse_concatenated_certs_empty
  - get_cert_from_cert_chain
  - verify_cert_chain
  - verify_cert_chain_with_options
  - verify_cert_chain_with_backend
  source_file: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/chain.rs
- function_names:
  - is_spdm_oid
  - is_hardware_identity
  - is_device_info
  - is_spdm_eku
  - tests::test_device_info_oid
  - tests::test_hardware_identity_oid
  - tests::test_responder_auth_oid
  - tests::test_requester_auth_oid
  - tests::test_mutable_certificate_oid
  - tests::test_spdm_extension_oid
  - tests::test_is_spdm_oid
  - tests::test_is_hardware_identity
  - tests::test_is_spdm_eku
  source_file: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/oids.rs
- function_names:
  - ValidationOptions::default
  - ValidationOptions::new
  - ValidationOptions::skip_signature_validation
  - ValidationOptions::with_time_check
  - ValidationOptions::with_max_chain_depth
  - Validator::new
  - Validator::with_backend
  - Validator::validate
  - Validator::validate_time
  - Validator::validate_time
  - Validator::verify_signature
  - Validator::validate_extensions
  - Validator::validate_basic_constraints
  - Validator::validate_chain
  - Validator::verify_issuer_is_ca
  - Validator::default
  - tests::test_validation_options
  - tests::test_validator_creation
  - tests::load_cert
  - tests::test_key_path
  - tests::test_validate_single_cert_structural
  - tests::test_validate_leaf_cert
  - tests::test_validate_basic_constraints_ca_cert
  - tests::test_validate_basic_constraints_leaf_cert
  - tests::test_validate_basic_constraints_ca_false_cert
  - tests::test_verify_signature_ca_self_signed
  - tests::test_verify_signature_inter_signed_by_ca
  - tests::test_verify_signature_leaf_signed_by_inter
  - tests::test_verify_signature_wrong_issuer_fails
  - tests::test_validate_chain_ecp256
  - tests::test_validate_chain_rsa3072
  - tests::test_validate_chain_empty_rejected
  - tests::test_validate_chain_exceeds_max_depth
  - tests::test_validate_chain_wrong_order_rejected
  - tests::test_validate_chain_issuer_mismatch_rejected
  - tests::test_validate_chain_skip_signature
  - tests::test_verify_issuer_is_ca_with_ca_cert
  - tests::test_verify_issuer_is_ca_with_leaf_fails
  - tests::test_validate_chain_rsa2048
  - tests::test_validate_chain_ecp384
  source_file: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/validator.rs
- function_names:
  - SpdmBaseAsymAlgo::from_bits
  - SpdmBaseAsymAlgo::rsa_key_size
  - SpdmBaseAsymAlgo::ecc_curve_oid
  - SpdmBaseAsymAlgo::is_rsa
  - SpdmBaseAsymAlgo::is_ecc
  - SpdmBaseAsymAlgo::is_eddsa
  - SpdmBaseHashAlgo::from_bits
  - SpdmBaseHashAlgo::oid
  - verify_signature_algorithm
  - verify_rsa_key_size
  - estimate_rsa_key_size
  - verify_ecc_curve
  - verify_hash_algorithm
  - tests::test_spdm_base_asym_algo_from_bits
  - tests::test_rsa_key_size
  - tests::test_ecc_curve_oid
  - tests::test_hash_algo_oid
  - tests::test_verify_sig_algo_rsa_accepted_when_rsa_negotiated
  - tests::test_verify_sig_algo_rsa_rejected_when_only_ecdsa_negotiated
  - tests::test_verify_sig_algo_ecdsa_rejected_when_only_rsa_negotiated
  - tests::test_verify_sig_algo_ecdsa_accepted_when_ecdsa_negotiated
  - tests::test_verify_sig_algo_hash_mismatch_rejected
  - tests::test_verify_sig_algo_rsa_pss_accepted_with_any_hash
  - tests::test_verify_sig_algo_ed25519_requires_sha512
  - tests::test_verify_sig_algo_ed448_accepted_unconditionally
  - tests::test_verify_sig_algo_unknown_oid_rejected
  - tests::test_verify_sig_algo_multiple_asym_negotiated
  - tests::test_verify_ecc_curve_p256_accepted
  - tests::test_verify_ecc_curve_p384_accepted
  - tests::test_verify_ecc_curve_p256_rejected_when_only_p384
  - tests::test_verify_ecc_curve_rejected_when_only_rsa
  - tests::test_verify_hash_algo_sha256_accepted
  - tests::test_verify_hash_algo_sha256_rejected_when_only_sha384
  - tests::test_verify_hash_algo_sha384_accepted
  - tests::test_verify_rsa_key_size_2048_with_real_key
  - tests::test_verify_rsa_key_size_2048_rejected_when_only_3072
  - tests::test_verify_rsa_key_size_3072_with_real_key
  - tests::test_verify_rsa_key_size_no_rsa_negotiated
  - tests::test_estimate_rsa_key_size_malformed_der
  - tests::test_is_rsa
  - tests::test_is_ecc
  - tests::test_is_eddsa
  - tests::test_hash_algo_from_bits_multiple
  - tests::test_hash_algo_from_bits_empty
  - tests::test_load_ecp256_cert_from_der
  - tests::test_load_rsa3072_cert_from_der
  - verify_signature_with_backend
  - verify_signature
  source_file: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/signature.rs
- function_names:
  - default_false
  - BasicConstraints::new_end_entity
  - BasicConstraints::new_ca
  - BasicConstraints::from_extension
  - KeyUsage::new
  - KeyUsage::has
  - KeyUsage::from_der
  - KeyUsage::from_extension
  - KeyUsage::fmt
  - ExtendedKeyUsage::decode_value
  - ExtendedKeyUsage::encoded_len
  - ExtendedKeyUsage::encode
  - ExtendedKeyUsage::decode
  - ExtendedKeyUsage::new
  - ExtendedKeyUsage::from_extension
  - ExtendedKeyUsage::has_purpose
  - ExtendedKeyUsage::is_server_auth
  - ExtendedKeyUsage::is_client_auth
  - ExtendedKeyUsage::is_code_signing
  - tests::test_basic_constraints
  - tests::test_key_usage
  - tests::test_extended_key_usage
  source_file: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/x509/extensions.rs
- function_names:
  - Time::new_utc
  - Time::new_generalized
  - Time::to_unix_duration
  - Time::is_before
  - Time::is_after
  - Time::now
  - Time::now
  - Time::is_before_or_equal
  - Time::is_after_or_equal
  - Time::partial_cmp
  - Time::cmp
  - Time::decode_value
  - Time::value_len
  - Time::encode_value
  - Time::encoded_len
  - Time::encode
  - Time::decode
  - Validity::new
  - Validity::is_valid_at
  - Validity::is_well_formed
  - Validity::decode_value
  - Validity::value_len
  - Validity::encode_value
  - is_valid_at
  - tests::test_time_comparison
  - tests::test_validity_well_formed
  - tests::test_validity_checking
  - tests::test_time_ord
  source_file: /src/spdm-rs/spdmlib/src/crypto/spdm_x509/src/time/mod.rs
- function_names:
  - pqc_asym_verify
  source_file: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/pqc_asym_verify_impl.rs
- function_names:
  - hkdf_extract
  - hkdf_expand
  - SpdmCryptoHkdfKeyLen::new
  - SpdmCryptoHkdfKeyLen::len
  - tests::test_case0_hkdf_expand
  - tests::test_case1_hkdf_expand
  source_file: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hkdf_impl.rs
- function_names:
  - hmac
  - hmac_verify
  - tests::test_case0_hmac_verify
  - tests::test_case1_hmac_verify
  - tests::test_case2_hmac_verify
  source_file: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hmac_impl.rs
- function_names:
  - generate_key_pair
  - import_private_key
  - SpdmDheKeyExchangeP256::compute_final_key
  - SpdmDheKeyExchangeP256::export_private_key
  - SpdmDheKeyExchangeP256::generate_key_pair
  - SpdmDheKeyExchangeP256::from_private_key_bytes
  - SpdmDheKeyExchangeP384::compute_final_key
  - SpdmDheKeyExchangeP384::export_private_key
  - SpdmDheKeyExchangeP384::generate_key_pair
  - SpdmDheKeyExchangeP384::from_private_key_bytes
  - tests::test_case0_dhe
  - tests::test_case1_dhe
  - tests::test_serialize_deserialize_p256
  - tests::test_serialize_deserialize_p384
  - tests::test_import_invalid_key_length
  - tests::test_multiple_serialization_rounds
  - tests::test_export_consistency
  source_file: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/dhe_impl.rs
- function_names:
  - hash_all
  - hash_ext::hash_ctx_update
  - hash_ext::hash_ctx_finalize
  - hash_ext::hash_ctx_dup
  - hash_ext::hash_ctx_init
  - hash_ext::insert_to_table
  - hash_ext::hash_ctx_serialize
  - hash_ext::hash_ctx_deserialize
  - tests::test_case0_hash_all
  - tests::test_case1_hash_all
  - tests::test_case2_hash_all
  - tests::test_case0_hash_update
  - tests::test_hash_ctx_serialization_roundtrip
  - tests::test_hash_ctx_serialization_roundtrip_sha384
  - tests::test_hash_ctx_serialization_roundtrip_sha512
  source_file: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/hash_impl.rs
- function_names:
  - tests::test_spdm_fips_self_tests
  source_file: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/mod.rs
- function_names:
  - RingBackend::verify_signature
  - get_cert_from_cert_chain_x509
  - verify_cert_chain_x509
  - tests::test_case0_cert_from_cert_chain
  - tests::test_case1_cert_from_cert_chain
  - tests::test_case2_cert_from_cert_chain
  - tests::test_case3_cert_from_cert_chain
  - tests::test_case4_cert_from_cert_chain
  - tests::test_case5_cert_from_cert_chain
  - tests::test_verify_cert_chain_case1
  - tests::test_certificate_eku_v3_end_with_eku_example_1
  - tests::test_certificate_eku_v3_end_with_eku_spdm_oid_3
  - tests::test_certificate_eku_v3_end_with_eku_spdm_oid_4
  - tests::test_certificate_eku_v3_end_with_eku_spdm_oid_3_and_4
  - tests::test_certificate_eku_v3_end_without_eku
  - tests::test_certificate_eku_v3_end_with_eku_spdm_without_spdm_oid
  source_file: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/cert_operation_impl.rs
- function_names:
  - parse_der_length
  - extract_spki_pubkey
  - asym_verify
  - asym_verify_with_spdm_x509
  - ecc_signature_bin_to_der
  - tests::test_case0_ecc_signature_bin_to_der
  - tests::test_case1_ecc_signature_bin_to_der
  - tests::test_case2_ecc_signature_bin_to_der
  - tests::test_case3_ecc_signature_bin_to_der
  - tests::test_case0_asym_verify
  - tests::test_case1_asym_verify
  - tests::test_case2_asym_verify
  - tests::test_case3_asym_verify
  - tests::test_extract_spki_pubkey_rfc7250
  source_file: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/asym_verify_impl.rs
- function_names:
  - encrypt
  - decrypt
  - OneNonceSequence::new
  - OneNonceSequence::advance
  - make_key
  - tests::test_case0_encrypt
  - tests::test_case1_encrypt
  - tests::test_chacha20_poly1305_disabled_by_default
  - tests::test_case2_encrypt
  - tests::test_case3_encrypt
  - tests::test_case4_encrypt
  - tests::test_case5_encrypt
  - tests::test_case6_encrypt
  - tests::test_case0_decrypt
  source_file: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/aead_impl.rs
- function_names:
  - kem_generate_key_pair
  - kem_new_key
  source_file: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/kem_impl.rs
- function_names:
  - get_random
  - tests::test_case0_get_random
  - tests::test_case1_get_random
  source_file: /src/spdm-rs/spdmlib/src/crypto/spdm_ring/rand_impl.rs
- function_names:
  - SpdmHeartbeatRequestPayload::spdm_encode
  - SpdmHeartbeatRequestPayload::spdm_read
  - SpdmHeartbeatResponsePayload::spdm_encode
  - SpdmHeartbeatResponsePayload::spdm_read
  - tests::test_case0_spdm_heartbeat_response_payload
  - tests::test_case0_spdm_heartbeat_request_payload
  source_file: /src/spdm-rs/spdmlib/src/message/heartbeat.rs
- function_names:
  - SpdmChallengeRequestPayload::spdm_encode
  - SpdmChallengeRequestPayload::spdm_read
  - SpdmChallengeAuthResponsePayload::spdm_encode
  - SpdmChallengeAuthResponsePayload::spdm_read
  - tests::test_case0_spdm_challenge_request_payload
  - tests::test_case1_spdm_challenge_request_payload
  - tests::test_case0_spdm_challenge_auth_response_payload
  - tests::test_case1_spdm_challenge_auth_response_payload
  source_file: /src/spdm-rs/spdmlib/src/message/challenge.rs
- function_names:
  - test_chunk_get_and_response_struct
  - test_chunk_response_msg_overflow
  source_file: /src/spdm-rs/spdmlib/src/message/chunk_get_test.rs
- function_names:
  - test_capability_struct
  - test_capability_request_struct
  - test_capability_response_struct
  - test_capability_response_supported_algorithms_libspdm_vector
  - test_capability_response_supported_algorithms_bad_length
  source_file: /src/spdm-rs/spdmlib/src/message/capability_test.rs
- function_names:
  - SpdmKeyExchangeRequestPayload::spdm_encode
  - SpdmKeyExchangeRequestPayload::spdm_read
  - SpdmKeyExchangeMutAuthAttributes::encode
  - SpdmKeyExchangeMutAuthAttributes::read
  - SpdmKeyExchangeResponsePayload::spdm_encode
  - SpdmKeyExchangeResponsePayload::spdm_read
  - tests::test_case0_spdm_key_exchange_mut_auth_attributes
  - tests::test_case0_spdm_key_exchange_request_payload
  - tests::test_case0_spdm_key_exchange_response_payload
  - tests::test_case1_spdm_key_exchange_response_payload
  source_file: /src/spdm-rs/spdmlib/src/message/key_exchange.rs
- function_names:
  - test_key_update_struct
  source_file: /src/spdm-rs/spdmlib/src/message/key_update_test.rs
- function_names:
  - test_digest_struct
  - test_digest_struct_case2
  source_file: /src/spdm-rs/spdmlib/src/message/digest_test.rs
- function_names:
  - create_spdm_context
  - new_spdm_message
  - DeviceIO::send
  - DeviceIO::receive
  - DeviceIO::flush_all
  - TransportEncap::encap
  - TransportEncap::decap
  - TransportEncap::encap_app
  - TransportEncap::decap_app
  - TransportEncap::get_sequence_number_count
  - TransportEncap::get_max_random_count
  source_file: /src/spdm-rs/spdmlib/src/message/mod_test.common.inc.rs
- function_names:
  - SpdmNegotiateAlgorithmsRequestPayload::spdm_encode
  - SpdmNegotiateAlgorithmsRequestPayload::spdm_read
  - SpdmAlgorithmsResponsePayload::spdm_encode
  - SpdmAlgorithmsResponsePayload::spdm_read
  - tests::test_case0_spdm_negotiate_algorithms_request_payload
  - tests::test_case1_spdm_negotiate_algorithms_request_payload
  - tests::test_case2_spdm_negotiate_algorithms_request_payload
  - tests::test_case3_spdm_negotiate_algorithms_request_payload_rejects_v13_pqc_structs
  - tests::test_case0_spdm_algorithms_response_payload
  - tests::test_case1_spdm_algorithms_response_payload
  - tests::test_case2_spdm_algorithms_response_payload
  - tests::test_case3_spdm_algorithms_response_payload_rejects_v13_pqc_structs
  source_file: /src/spdm-rs/spdmlib/src/message/algorithm.rs
- function_names:
  - test_finish_struct
  source_file: /src/spdm-rs/spdmlib/src/message/finish_test.rs
- function_names:
  - SpdmVdmFlags::encode
  - SpdmVdmFlags::read
  - RegistryOrStandardsBodyID::get_default_vendor_id_len
  - VendorIDStruct::encode
  - VendorIDStruct::read
  - VendorIDStruct::read_bytes
  - VendorIDStruct::eq
  - VendorIDStruct::default
  - VendorDefinedReqPayloadStruct::encode
  - VendorDefinedReqPayloadStruct::read
  - VendorDefinedReqPayloadStruct::encode_large
  - VendorDefinedReqPayloadStruct::read_large
  - VendorDefinedRspPayloadStruct::encode
  - VendorDefinedRspPayloadStruct::read
  - VendorDefinedRspPayloadStruct::encode_large
  - VendorDefinedRspPayloadStruct::read_large
  - SpdmVendorDefinedRequestPayload::spdm_encode
  - SpdmVendorDefinedRequestPayload::spdm_read
  - SpdmVendorDefinedResponsePayload::spdm_encode
  - SpdmVendorDefinedResponsePayload::spdm_read
  - register_vendor_defined_struct
  - vendor_defined_request_handler
  - register_vendor_defined_struct_ex
  - vendor_defined_request_handler_ex
  source_file: /src/spdm-rs/spdmlib/src/message/vendor.rs
- function_names:
  - test_case1_spdmversion_struct
  source_file: /src/spdm-rs/spdmlib/src/message/version_test.rs
- function_names:
  - SpdmFinishRequestAttributes::encode
  - SpdmFinishRequestAttributes::read
  - SpdmFinishRequestPayload::spdm_encode
  - SpdmFinishRequestPayload::spdm_read
  - SpdmFinishResponsePayload::spdm_encode
  - SpdmFinishResponsePayload::spdm_read
  - tests::test_case0_spdm_finish_request_payload
  - tests::test_case1_spdm_finish_request_payload
  - tests::test_case0_spdm_finish_response_payload
  - tests::test_case1_spdm_finish_response_payload
  source_file: /src/spdm-rs/spdmlib/src/message/finish.rs
- function_names:
  - SpdmGetCertificateRequestPayload::spdm_encode
  - SpdmGetCertificateRequestPayload::spdm_read
  - SpdmCertificateResponsePayload::default
  - SpdmCertificateResponsePayload::spdm_encode
  - SpdmCertificateResponsePayload::spdm_read
  - tests::test_case0_spdm_get_certificate_request_payload
  - tests::test_case0_spdm_certificate_response_payload
  source_file: /src/spdm-rs/spdmlib/src/message/certificate.rs
- function_names:
  - SpdmErrorCode::default
  - SpdmErrorResponseNoneExtData::spdm_encode
  - SpdmErrorResponseNoneExtData::spdm_read
  - SpdmErrorResponseNotReadyExtData::encode
  - SpdmErrorResponseNotReadyExtData::read
  - SpdmErrorResponseNotReadyExtData::spdm_encode
  - SpdmErrorResponseNotReadyExtData::spdm_read
  - SpdmErrorResponseVendorExtData::spdm_encode
  - SpdmErrorResponseVendorExtData::spdm_read
  - SpdmErrorResponseExtData::default
  - SpdmErrorResponsePayload::spdm_encode
  - SpdmErrorResponsePayload::spdm_read
  - tests::test_case0_spdm_error_response_not_ready_ext_data
  - tests::test_case0_spdm_error_response_vendor_ext_data
  - tests::test_case1_spdm_error_response_vendor_ext_data
  - tests::test_case0_spdm_error_response_payload
  - tests::new_spdm_response
  source_file: /src/spdm-rs/spdmlib/src/message/error.rs
- function_names:
  - SpdmRequestResponseCode::default
  - SpdmMessageHeader::encode
  - SpdmMessageHeader::read
  - SpdmMessageGeneralPayload::encode
  - SpdmMessageGeneralPayload::read
  - SpdmMessageGeneralPayload::spdm_encode
  - SpdmMessageGeneralPayload::spdm_read
  - SpdmMessage::read_with_detailed_error
  - SpdmMessage::spdm_encode
  - SpdmMessage::spdm_read
  - tests::test_case0_spdm_message_header
  - tests::test_case0_spdm_message
  - tests::test_case1_spdm_message
  - tests::test_case2_spdm_message
  - tests::test_case3_spdm_message
  - tests::test_case4_spdm_message
  - tests::test_case5_spdm_message
  - tests::test_case6_spdm_message
  - tests::test_case7_spdm_message
  - tests::test_case8_spdm_message
  - tests::test_case9_spdm_message
  - tests::test_case10_spdm_message
  - tests::test_case12_spdm_message
  - tests::test_case13_spdm_message
  - tests::test_case114_spdm_message
  - tests::test_case15_spdm_message
  - tests::test_case17_spdm_message
  - tests::test_case18_spdm_message
  - tests::test_case19_spdm_message
  - tests::test_case20_spdm_message
  - tests::test_case21_spdm_message
  - tests::test_case22_spdm_message
  - tests::test_case23_spdm_message
  - tests::test_case24_spdm_message
  - tests::test_case25_spdm_message
  - tests::test_case26_spdm_message
  - tests::test_case27_spdm_message
  - tests::test_case28_spdm_message
  source_file: /src/spdm-rs/spdmlib/src/message/mod.rs
- function_names:
  - SpdmKeyUpdateOperation::default
  - SpdmKeyUpdateRequestPayload::spdm_encode
  - SpdmKeyUpdateRequestPayload::spdm_read
  - SpdmKeyUpdateResponsePayload::spdm_encode
  - SpdmKeyUpdateResponsePayload::spdm_read
  - tests::test_case0_spdm_key_update_request_payload
  - tests::test_case0_spdm_key_update_response_payload
  source_file: /src/spdm-rs/spdmlib/src/message/key_update.rs
- function_names:
  - SpdmChunkSendRequestPayload::spdm_encode
  - SpdmChunkSendRequestPayload::spdm_read
  - SpdmChunkSenderAttributes::encode
  - SpdmChunkSenderAttributes::read
  - SpdmChunkSendAckResponsePayload::spdm_encode
  - SpdmChunkSendAckResponsePayload::spdm_read
  - SpdmChunkReceiverAttributes::encode
  - SpdmChunkReceiverAttributes::read
  source_file: /src/spdm-rs/spdmlib/src/message/chunk_send.rs
- function_names:
  - SpdmChunkGetRequestPayload::spdm_encode
  - SpdmChunkGetRequestPayload::spdm_read
  - SpdmChunkResponsePayload::spdm_encode
  - SpdmChunkResponsePayload::spdm_read
  source_file: /src/spdm-rs/spdmlib/src/message/chunk_get.rs
- function_names:
  - test_measurement_struct
  - test_measurement_response
  source_file: /src/spdm-rs/spdmlib/src/message/measurement_test.rs
- function_names:
  - test_end_session_struct
  source_file: /src/spdm-rs/spdmlib/src/message/end_session_test.rs
- function_names:
  - test_heartbeat_struct
  source_file: /src/spdm-rs/spdmlib/src/message/heartbeat_test.rs
- function_names:
  - test_certificate_struct
  - test_certificate_struct_negative
  source_file: /src/spdm-rs/spdmlib/src/message/certificate_test.rs
- function_names:
  - SpdmPskExchangeRequestPayload::spdm_encode
  - SpdmPskExchangeRequestPayload::spdm_read
  - SpdmPskExchangeResponsePayload::spdm_encode
  - SpdmPskExchangeResponsePayload::spdm_read
  - tests::test_case0_spdm_psk_exchange_request_payload
  - tests::test_case1_spdm_psk_exchange_request_payload
  - tests::test_case0_spdm_psk_exchange_response_payload
  - tests::test_case1_spdm_psk_exchange_response_payload
  source_file: /src/spdm-rs/spdmlib/src/message/psk_exchange.rs
- function_names:
  - SpdmRespondIfReadyRequestPayload::spdm_encode
  - SpdmRespondIfReadyRequestPayload::spdm_read
  - SpdmRespondIfReadyRespondPayload::spdm_encode
  - SpdmRespondIfReadyRespondPayload::spdm_read
  source_file: /src/spdm-rs/spdmlib/src/message/respond_if_ready.rs
- function_names:
  - SpdmGetEncapsulatedRequestPayload::spdm_encode
  - SpdmGetEncapsulatedRequestPayload::spdm_read
  - SpdmEncapsulatedRequestPayload::spdm_encode
  - SpdmEncapsulatedRequestPayload::spdm_read
  - SpdmDeliverEncapsulatedResponsePayload::spdm_encode
  - SpdmDeliverEncapsulatedResponsePayload::spdm_read
  - SpdmEncapsulatedResponseAckPayload::spdm_encode
  - SpdmEncapsulatedResponseAckPayload::spdm_read
  - SpdmEncapsulatedResponseAckPayloadType::default
  source_file: /src/spdm-rs/spdmlib/src/message/encapsulated.rs
- function_names:
  - test_key_exchange_req_struct
  - test_key_exchange_req_struct_extend
  - test_key_exchange_rsp_struct
  - test_key_exchange_rsp_struct_extend
  source_file: /src/spdm-rs/spdmlib/src/message/key_exchange_test.rs
- function_names:
  - SpdmGetDigestsRequestPayload::spdm_encode
  - SpdmGetDigestsRequestPayload::spdm_read
  - SpdmDigestsResponsePayload::spdm_encode
  - SpdmDigestsResponsePayload::spdm_read
  - tests::test_case0_spdm_digests_response_payload
  - tests::test_case1_spdm_digests_response_payload
  - tests::test_case0_spdm_get_digests_request_payload
  source_file: /src/spdm-rs/spdmlib/src/message/digest.rs
- function_names:
  - test_get_encapsulated_request_payload
  - test_encapsulated_request_payload
  - test_deliver_encapsulated_response_payload
  - test_encapsulated_response_ack_payload
  - test_encapsulated_response_ack_payload_ver11
  source_file: /src/spdm-rs/spdmlib/src/message/encapsulated_test.rs
- function_names:
  - SpdmEndSessionRequestAttributes::encode
  - SpdmEndSessionRequestAttributes::read
  - SpdmEndSessionRequestPayload::spdm_encode
  - SpdmEndSessionRequestPayload::spdm_read
  - SpdmEndSessionResponsePayload::spdm_encode
  - SpdmEndSessionResponsePayload::spdm_read
  - tests::test_case0_spdm_end_session_request_attributes
  - tests::test_case0_spdm_end_session_request_payload
  - tests::test_case0_spdm_end_session_response_payload
  source_file: /src/spdm-rs/spdmlib/src/message/end_session.rs
- function_names:
  - test_challenge_struct
  - test_challenge_struct_opaque_data_length_negative
  source_file: /src/spdm-rs/spdmlib/src/message/challenge_test.rs
- function_names:
  - test_negotiate_struct
  - test_negotiate_struct_response_negative_ext_alg_count_2
  source_file: /src/spdm-rs/spdmlib/src/message/algorithm_test.rs
- function_names:
  - SpdmPskFinishRequestPayload::spdm_encode
  - SpdmPskFinishRequestPayload::spdm_read
  - SpdmPskFinishResponsePayload::spdm_encode
  - SpdmPskFinishResponsePayload::spdm_read
  - tests::test_case0_spdm_psk_finish_request_payload
  - tests::test_case0_spdm_psk_finish_response_payload
  source_file: /src/spdm-rs/spdmlib/src/message/psk_finish.rs
- function_names:
  - test_chunk_send_struct
  - test_chunk_send_ack_struct
  source_file: /src/spdm-rs/spdmlib/src/message/chunk_send_test.rs
- function_names:
  - SpdmMeasurementAttributes::encode
  - SpdmMeasurementAttributes::read
  - SpdmMeasurementOperation::default
  - SpdmGetMeasurementsRequestPayload::spdm_encode
  - SpdmGetMeasurementsRequestPayload::spdm_read
  - SpdmMeasurementsResponsePayload::spdm_encode
  - SpdmMeasurementsResponsePayload::spdm_read
  - tests::test_case0_spdm_spdm_measuremente_attributes
  - tests::test_case0_spdm_get_measurements_request_payload
  - tests::test_case1_spdm_get_measurements_request_payload
  - tests::test_case2_spdm_get_measurements_request_payload
  - tests::test_case0_spdm_measurements_response_payload
  - tests::test_case0_spdm_measurement_content_changed
  source_file: /src/spdm-rs/spdmlib/src/message/measurement.rs
- function_names:
  - SpdmSupportedAlgorithmsBlock::spdm_encode
  - SpdmSupportedAlgorithmsBlock::spdm_read
  - SpdmSupportedAlgorithmsBlock::encode
  - SpdmSupportedAlgorithmsBlock::read
  - SpdmGetCapabilitiesRequestPayload::spdm_encode
  - SpdmGetCapabilitiesRequestPayload::spdm_read
  - SpdmCapabilitiesResponsePayload::spdm_encode
  - SpdmCapabilitiesResponsePayload::spdm_read
  - tests::test_case0_spdm_response_capability_flags
  - tests::test_case1_spdm_response_capability_flags
  - tests::test_case2_spdm_response_capability_flags
  - tests::test_case0_spdm_request_capability_flags
  - tests::test_case1_spdm_request_capability_flags
  - tests::test_case3_spdm_request_capability_flags
  - tests::test_case0_spdm_get_capabilities_request_payload
  - tests::test_case1_spdm_get_capabilities_request_payload
  - tests::test_case2_spdm_get_capabilities_request_payload
  - tests::test_case0_spdm_capabilities_response_payload
  - tests::test_case1_spdm_capabilities_response_payload
  - tests::test_case2_spdm_capabilities_response_payload
  - tests::new_spdm_response_capability_flags
  - tests::new_spdm_request_capability_flags
  source_file: /src/spdm-rs/spdmlib/src/message/capability.rs
- function_names:
  - SpdmGetVersionRequestPayload::spdm_encode
  - SpdmGetVersionRequestPayload::spdm_read
  - SpdmVersionStruct::encode
  - SpdmVersionStruct::read
  - SpdmVersionResponsePayload::spdm_encode
  - SpdmVersionResponsePayload::spdm_read
  - tests::test_case1_spdmversion_struct
  - tests::test_case2_spdmversion_struct
  - tests::test_case0_spdm_version_response_payload
  - tests::test_case0_spdm_get_version_request_payload
  source_file: /src/spdm-rs/spdmlib/src/message/version.rs
- function_names:
  - register
  - start_watchdog
  - stop_watchdog
  - reset_watchdog
  source_file: /src/spdm-rs/spdmlib/src/watchdog/mod.rs
- function_names: []
  source_file: /src/spdm-rs/spdmlib/src/watchdog/watchdog_callbacks.rs
- function_names:
  - SpdmMeasurementSpecification::encode
  - SpdmMeasurementSpecification::read
  - SpdmMeasurementSpecification::prioritize
  - SpdmMeasurementSpecification::is_no_more_than_one_selected
  - SpdmMeasurementSpecification::is_valid
  - SpdmMeasurementSpecification::is_valid_one_select
  - SpdmAlgoOtherParams::encode
  - SpdmAlgoOtherParams::read
  - SpdmMeasurementHashAlgo::get_size
  - SpdmMeasurementHashAlgo::is_no_more_than_one_selected
  - SpdmMeasurementHashAlgo::is_valid
  - SpdmMeasurementHashAlgo::is_valid_one_select
  - SpdmMeasurementHashAlgo::encode
  - SpdmMeasurementHashAlgo::read
  - SpdmBaseAsymAlgo::prioritize
  - SpdmBaseAsymAlgo::get_sig_size
  - SpdmBaseAsymAlgo::is_no_more_than_one_selected
  - SpdmBaseAsymAlgo::is_valid
  - SpdmBaseAsymAlgo::is_valid_one_select
  - SpdmBaseAsymAlgo::encode
  - SpdmBaseAsymAlgo::read
  - SpdmPqcAsymAlgo::prioritize
  - SpdmPqcAsymAlgo::get_sig_size
  - SpdmPqcAsymAlgo::is_no_more_than_one_selected
  - SpdmPqcAsymAlgo::is_valid
  - SpdmPqcAsymAlgo::is_valid_one_select
  - SpdmPqcAsymAlgo::encode
  - SpdmPqcAsymAlgo::read
  - SpdmBaseHashAlgo::prioritize
  - SpdmBaseHashAlgo::get_size
  - SpdmBaseHashAlgo::is_no_more_than_one_selected
  - SpdmBaseHashAlgo::is_valid
  - SpdmBaseHashAlgo::is_valid_one_select
  - SpdmBaseHashAlgo::encode
  - SpdmBaseHashAlgo::read
  - SpdmMelSpecification::encode
  - SpdmMelSpecification::read
  - SpdmMelSpecification::prioritize
  - SpdmMelSpecification::is_no_more_than_one_selected
  - SpdmMelSpecification::is_valid
  - SpdmMelSpecification::is_valid_one_select
  - SpdmDheAlgo::prioritize
  - SpdmDheAlgo::get_key_size
  - SpdmDheAlgo::is_no_more_than_one_selected
  - SpdmDheAlgo::is_valid
  - SpdmDheAlgo::is_valid_one_select
  - SpdmDheAlgo::encode
  - SpdmDheAlgo::read
  - SpdmKemAlgo::prioritize
  - SpdmKemAlgo::get_encap_key_size
  - SpdmKemAlgo::get_cipher_text_size
  - SpdmKemAlgo::is_no_more_than_one_selected
  - SpdmKemAlgo::is_valid
  - SpdmKemAlgo::is_valid_one_select
  - SpdmKemAlgo::encode
  - SpdmKemAlgo::read
  - SpdmAeadAlgo::prioritize
  - SpdmAeadAlgo::get_key_size
  - SpdmAeadAlgo::get_iv_size
  - SpdmAeadAlgo::get_tag_size
  - SpdmAeadAlgo::is_no_more_than_one_selected
  - SpdmAeadAlgo::is_valid
  - SpdmAeadAlgo::is_valid_one_select
  - SpdmAeadAlgo::encode
  - SpdmAeadAlgo::read
  - SpdmReqAsymAlgo::prioritize
  - SpdmReqAsymAlgo::get_sig_size
  - SpdmReqAsymAlgo::is_no_more_than_one_selected
  - SpdmReqAsymAlgo::is_valid
  - SpdmReqAsymAlgo::is_valid_one_select
  - SpdmReqAsymAlgo::encode
  - SpdmReqAsymAlgo::read
  - SpdmReqAsymAlgo::to_base
  - SpdmReqAsymAlgo::from_base
  - SpdmPqcReqAsymAlgo::prioritize
  - SpdmPqcReqAsymAlgo::get_sig_size
  - SpdmPqcReqAsymAlgo::is_no_more_than_one_selected
  - SpdmPqcReqAsymAlgo::is_valid
  - SpdmPqcReqAsymAlgo::is_valid_one_select
  - SpdmPqcReqAsymAlgo::encode
  - SpdmPqcReqAsymAlgo::read
  - SpdmPqcReqAsymAlgo::to_base
  - SpdmPqcReqAsymAlgo::from_base
  - SpdmKeyScheduleAlgo::prioritize
  - SpdmKeyScheduleAlgo::is_no_more_than_one_selected
  - SpdmKeyScheduleAlgo::is_valid
  - SpdmKeyScheduleAlgo::is_valid_one_select
  - SpdmKeyScheduleAlgo::encode
  - SpdmKeyScheduleAlgo::read
  - SpdmUnknownAlgo::encode
  - SpdmUnknownAlgo::read
  - SpdmAlgType::default
  - SpdmAlg::default
  - SpdmAlgStruct::encode
  - SpdmAlgStruct::read
  - SpdmCertificateModelType::default
  - SpdmKeyUsageMask::encode
  - SpdmKeyUsageMask::read
  - SpdmMeasurementSummaryHashType::default
  - SpdmNonceStruct::encode
  - SpdmNonceStruct::read
  - SpdmChallengeContextStruct::encode
  - SpdmChallengeContextStruct::read
  - SpdmMeasurementContextStruct::encode
  - SpdmMeasurementContextStruct::read
  - SpdmRandomStruct::encode
  - SpdmRandomStruct::read
  - SpdmSignatureStruct::default
  - SpdmSignatureStruct::as_ref
  - SpdmSignatureStruct::from
  - SpdmCertChainData::default
  - SpdmCertChainData::as_ref
  - SpdmCertChainData::encode
  - SpdmCertChainData::read
  - SpdmCertChainBuffer::default
  - SpdmCertChainBuffer::as_ref
  - SpdmCertChainBuffer::new
  - SpdmCertChainBuffer::encode
  - SpdmCertChainBuffer::read
  - SpdmDmtfMeasurementStructure::default
  - SpdmDmtfMeasurementStructure::encode
  - SpdmDmtfMeasurementStructure::read
  - SpdmMeasurementBlockStructure::encode
  - SpdmMeasurementBlockStructure::read
  - SpdmMeasurementRecordStructure::default
  - SpdmDheExchangeStruct::default
  - SpdmDheExchangeStruct::as_ref
  - SpdmDheExchangeStruct::from
  - SpdmKemEncapKeyStruct::default
  - SpdmKemEncapKeyStruct::as_ref
  - SpdmKemEncapKeyStruct::from
  - SpdmKemCipherTextStruct::default
  - SpdmKemCipherTextStruct::as_ref
  - SpdmKemCipherTextStruct::from
  - SpdmReqExchangeStruct::default
  - SpdmReqExchangeStruct::as_ref
  - SpdmReqExchangeStruct::from
  - SpdmReqExchangeStruct::from_dhe
  - SpdmReqExchangeStruct::to_dhe
  - SpdmReqExchangeStruct::from_kem
  - SpdmReqExchangeStruct::to_kem
  - SpdmRspExchangeStruct::default
  - SpdmRspExchangeStruct::as_ref
  - SpdmRspExchangeStruct::from
  - SpdmRspExchangeStruct::from_dhe
  - SpdmRspExchangeStruct::to_dhe
  - SpdmRspExchangeStruct::from_kem
  - SpdmRspExchangeStruct::to_kem
  - SpdmPskContextStruct::default
  - SpdmPskContextStruct::as_ref
  - SpdmPskHintStruct::default
  - SpdmPskHintStruct::as_ref
  - SpdmPskHintStruct::encode
  - SpdmPskHintStruct::read
  - create_sensitive_datatype
  - SpdmHkdfInputKeyingMaterial::as_ref
  - SpdmHkdfInputKeyingMaterial::get_data_size
  - SpdmHandshakeSecretStruct::from_spdm_hkdf_okm
  - SpdmHandshakeSecretStruct::from_spdm_hkdf_prk
  - SpdmDirectionHandshakeSecretStruct::from_spdm_hkdf_okm
  - SpdmDirectionHandshakeSecretStruct::from_spdm_hkdf_prk
  - SpdmMasterSecretStruct::from_spdm_hkdf_okm
  - SpdmMasterSecretStruct::from_spdm_hkdf_prk
  - SpdmDirectionDataSecretStruct::from_spdm_hkdf_okm
  - SpdmDirectionDataSecretStruct::from_spdm_hkdf_prk
  - SpdmAeadKeyStruct::from_spdm_hkdf_okm
  - SpdmAeadKeyStruct::from_spdm_hkdf_prk
  - SpdmAeadIvStruct::from_spdm_hkdf_okm
  - SpdmAeadIvStruct::from_spdm_hkdf_prk
  - SpdmFinishedKeyStruct::from_spdm_hkdf_okm
  - SpdmFinishedKeyStruct::from_spdm_hkdf_prk
  - SpdmExportMasterSecretStruct::from_spdm_hkdf_okm
  - SpdmExportMasterSecretStruct::from_spdm_hkdf_prk
  - SpdmHkdfPseudoRandomKey::from_input_keying_material
  - KeyExchangeAlgo::fmt
  - KeyExchangeAlgo::zeroize
  - KeyExchangeContextData::fmt
  - KeyExchangeContextData::zeroize
  - KeyExchangeContextData::drop
  - KeyExchangeContextData::encode
  - KeyExchangeContextData::read
  - tests::test_spdm_cert_chain_data_codec
  - tests::test_case0_spdm_measurement_specification
  - tests::test_case0_spdm_algo_other_params_selection
  - tests::test_case0_spdm_measurement_hash_algo
  - tests::test_case0_spdm_base_asym_algo
  - tests::test_case0_spdm_base_hash_algo
  - tests::test_case0_spdm_dhe_algo
  - tests::test_case0_spdm_aead_algo
  - tests::test_case0_spdm_req_asym_algo
  - tests::test_case0_spdm_key_schedule_algo
  - tests::test_case0_spdm_nonce_struct
  - tests::test_case0_spdm_challenge_context_struct
  - tests::test_case0_spdm_measurement_context_struct
  - tests::test_case0_spdm_random_struct
  - tests::test_case0_spdm_alg_struct
  - tests::test_case3_spdm_alg_struct
  - tests::test_case0_spdm_digest_struct
  - tests::test_case1_spdm_measurement_specification
  - tests::test_case1_spdm_signature_struct
  - tests::test_case1_spdm_measurement_hash_algo
  - tests::test_case1_spdm_base_asym_algo
  - tests::test_case1_spdm_dhe_algo
  - tests::test_case1_spdm_aead_algo
  - tests::test_case2_spdm_aead_algo
  - tests::test_case3_spdm_aead_algo
  - tests::test_case4_spdm_aead_algo
  - tests::test_case1_spdm_req_asym_algo
  - tests::test_case0_spdm_unknown_algo
  - tests::test_key_exchange_context_data_rejects_oversized_len
  - tests::test_key_exchange_context_data_rejects_truncated_payload
  - tests::test_key_exchange_context_data_rejects_invalid_algo_type
  - tests::test_key_exchange_context_data_roundtrip_dhe
  - tests::test_key_exchange_context_data_roundtrip_kem
  source_file: /src/spdm-rs/spdmlib/src/protocol/algo.rs
- function_names:
  - gen_array
  - gen_array_clone
  source_file: /src/spdm-rs/spdmlib/src/protocol/mod.rs
- function_names:
  - SpdmRequestCapabilityFlags::encode
  - SpdmRequestCapabilityFlags::read
  - SpdmRequestCapabilityExFlags::encode
  - SpdmRequestCapabilityExFlags::read
  - SpdmResponseCapabilityFlags::encode
  - SpdmResponseCapabilityFlags::read
  - SpdmResponseCapabilityExFlags::encode
  - SpdmResponseCapabilityExFlags::read
  - SpdmCapabilityParam1::encode
  - SpdmCapabilityParam1::read
  source_file: /src/spdm-rs/spdmlib/src/protocol/capability.rs
- function_names:
  - SpdmVersion::try_from
  - u8::from
  - u8::from
  - SpdmVersion::encode
  - SpdmVersion::read
  source_file: /src/spdm-rs/spdmlib/src/protocol/version.rs
- function_names: []
  source_file: /src/spdm-rs/spdmlib/src/secret/secret_callback.rs
- function_names:
  - measurement::register
  - measurement::measurement_collection
  - measurement::generate_measurement_summary_hash
  - psk::register
  - psk::handshake_secret_hkdf_expand
  - psk::master_secret_hkdf_expand
  - asym_sign::register
  - asym_sign::sign
  - pqc_asym_sign::register
  - pqc_asym_sign::sign
  - spdm_asym_sign
  source_file: /src/spdm-rs/spdmlib/src/secret/mod.rs
- function_names:
  - GeneralOpaqueDataHeader::encode
  - GeneralOpaqueDataHeader::read
  - GeneralOpaqueDataHeader::spdm_encode
  - GeneralOpaqueDataHeader::spdm_read
  - FM1OpaqueDataHeader::encode
  - FM1OpaqueDataHeader::read
  - FM1OpaqueDataHeader::spdm_encode
  - FM1OpaqueDataHeader::spdm_read
  - u8::from
  - u8::from
  - SMDataId::try_from
  - SMDataId::encode
  - SMDataId::read
  - SecuredMessageVersion::default
  - SecuredMessageVersion::encode
  - SecuredMessageVersion::read
  - SecuredMessageVersion::spdm_encode
  - SecuredMessageVersion::spdm_read
  - u8::from
  - u8::from
  - u16::from
  - u16::from
  - SecuredMessageVersion::try_from
  - SecuredMessageVersion::try_from
  - SecuredMessageVersion::eq
  - SecuredMessageVersionList::encode
  - SecuredMessageVersionList::read
  - SecuredMessageVersionList::spdm_encode
  - SecuredMessageVersionList::spdm_read
  - SMVersionSelOpaque::encode
  - SMVersionSelOpaque::read
  - SMVersionSelOpaque::spdm_encode
  - SMVersionSelOpaque::spdm_read
  - SMSupportedVerListOpaque::encode
  - SMSupportedVerListOpaque::read
  - SMSupportedVerListOpaque::spdm_encode
  - SMSupportedVerListOpaque::spdm_read
  - SpdmOpaqueStruct::default
  - SpdmOpaqueStruct::spdm_encode
  - SpdmOpaqueStruct::spdm_read
  - SpdmOpaqueStruct::from_sm_version_sel_opaque
  - SpdmOpaqueStruct::to_sm_version_sel_opaque
  - SpdmOpaqueStruct::from_sm_supported_ver_list_opaque
  - SpdmOpaqueStruct::to_sm_supported_ver_list_opaque
  - SpdmOpaqueStruct::rsp_get_dmtf_supported_secure_spdm_version_list
  - SpdmOpaqueStruct::req_get_dmtf_secure_spdm_version_selection
  source_file: /src/spdm-rs/spdmlib/src/common/opaque.rs
- function_names:
  - SpdmKeySchedule::default
  - SpdmKeySchedule::encode
  - SpdmKeySchedule::read
  - SpdmKeySchedule::new
  - SpdmKeySchedule::derive_handshake_secret
  - SpdmKeySchedule::derive_master_secret
  - SpdmKeySchedule::derive_request_handshake_secret
  - SpdmKeySchedule::derive_response_handshake_secret
  - SpdmKeySchedule::derive_finished_key
  - SpdmKeySchedule::derive_aead_key_iv
  - SpdmKeySchedule::derive_request_data_secret
  - SpdmKeySchedule::derive_response_data_secret
  - SpdmKeySchedule::derive_export_master_secret
  - SpdmKeySchedule::derive_update_secret
  - SpdmKeySchedule::binconcat
  source_file: /src/spdm-rs/spdmlib/src/common/key_schedule.rs
- function_names:
  - SpdmConnectionState::default
  - SpdmContext::new
  - SpdmContext::get_hash_size
  - SpdmContext::get_asym_sig_size
  - SpdmContext::get_req_asym_sig_size
  - SpdmContext::get_req_key_exchange_size
  - SpdmContext::get_rsp_key_exchange_size
  - SpdmContext::reset_runtime_info
  - SpdmContext::reset_negotiate_info
  - SpdmContext::reset_peer_info
  - SpdmContext::reset_context
  - SpdmContext::get_immutable_session_via_id
  - SpdmContext::get_session_via_id
  - SpdmContext::get_next_avaiable_session
  - SpdmContext::get_session_status
  - SpdmContext::get_next_half_session_id
  - SpdmContext::construct_my_cert_chain
  - SpdmContext::get_signing_prefix_context
  - SpdmContext::append_message_a
  - SpdmContext::reset_message_a
  - SpdmContext::append_message_b
  - SpdmContext::reset_message_b
  - SpdmContext::append_message_c
  - SpdmContext::reset_message_c
  - SpdmContext::append_message_m
  - SpdmContext::reset_message_m
  - SpdmContext::append_message_k
  - SpdmContext::reset_message_k
  - SpdmContext::append_message_f
  - SpdmContext::append_message_f
  - SpdmContext::reset_message_f
  - SpdmContext::calc_req_transcript_data
  - SpdmContext::calc_rsp_transcript_data
  - SpdmContext::calc_req_transcript_hash
  - SpdmContext::calc_rsp_transcript_hash
  - SpdmContext::calc_req_transcript_hash
  - SpdmContext::calc_rsp_transcript_hash
  - SpdmContext::get_certchain_hash_local
  - SpdmContext::get_certchain_hash_peer
  - SpdmContext::reset_buffer_via_request_code
  - SpdmContext::encap
  - SpdmContext::encode_secured_message
  - SpdmContext::decap
  - SpdmContext::decode_secured_message
  - SpdmContext::encode_checkpoint_data
  - SpdmContext::export
  - SpdmContext::import
  - SpdmConfigInfo::encode
  - SpdmConfigInfo::read
  - SpdmNegotiateInfo::encode
  - SpdmNegotiateInfo::read
  - ManagedBufferA::append_message
  - ManagedBufferA::reset_message
  - ManagedBufferA::as_ref
  - ManagedBufferA::default
  - ManagedBufferA::encode
  - ManagedBufferA::read
  - ManagedBufferB::append_message
  - ManagedBufferB::reset_message
  - ManagedBufferB::as_ref
  - ManagedBufferB::default
  - ManagedBufferB::encode
  - ManagedBufferB::read
  - ManagedBufferC::append_message
  - ManagedBufferC::reset_message
  - ManagedBufferC::as_ref
  - ManagedBufferC::default
  - ManagedBufferM::append_message
  - ManagedBufferM::reset_message
  - ManagedBufferM::as_ref
  - ManagedBufferM::default
  - ManagedBufferK::append_message
  - ManagedBufferK::reset_message
  - ManagedBufferK::as_ref
  - ManagedBufferK::default
  - ManagedBufferF::append_message
  - ManagedBufferF::reset_message
  - ManagedBufferF::as_ref
  - ManagedBufferF::default
  - ManagedBufferM1M2::append_message
  - ManagedBufferM1M2::reset_message
  - ManagedBufferM1M2::as_ref
  - ManagedBufferM1M2::default
  - ManagedBufferL1L2::append_message
  - ManagedBufferL1L2::reset_message
  - ManagedBufferL1L2::as_ref
  - ManagedBufferL1L2::default
  - ManagedBufferTH::append_message
  - ManagedBufferTH::reset_message
  - ManagedBufferTH::as_ref
  - ManagedBufferTH::default
  - ManagedBuffer12Sign::append_message
  - ManagedBuffer12Sign::reset_message
  - ManagedBuffer12Sign::as_ref
  - ManagedBuffer12Sign::default
  - ManagedBufferC::encode
  - ManagedBufferC::read
  - ManagedBufferM::encode
  - ManagedBufferM::read
  - ManagedBufferK::encode
  - ManagedBufferK::read
  - ManagedBufferF::encode
  - ManagedBufferF::read
  - ManagedBufferM1M2::encode
  - ManagedBufferM1M2::read
  - ManagedBufferL1L2::encode
  - ManagedBufferL1L2::read
  - ManagedBufferTH::encode
  - ManagedBufferTH::read
  - ManagedBuffer12Sign::encode
  - ManagedBuffer12Sign::read
  - ManagedVdmBuffer::append_message
  - ManagedVdmBuffer::reset_message
  - ManagedVdmBuffer::as_ref
  - ManagedVdmBuffer::default
  - ManagedVdmBuffer::encode
  - ManagedVdmBuffer::read
  - SpdmMeasurementContentChanged::encode
  - SpdmMeasurementContentChanged::read
  - SpdmMeasurementContentChanged::try_from
  - u8::from
  - SpdmRuntimeInfo::set_connection_state
  - SpdmRuntimeInfo::get_connection_state
  - SpdmRuntimeInfo::set_last_session_id
  - SpdmRuntimeInfo::get_last_session_id
  - SpdmRuntimeInfo::set_peer_used_cert_chain_slot_id
  - SpdmRuntimeInfo::get_peer_used_cert_chain_slot_id
  - SpdmRuntimeInfo::set_local_used_cert_chain_slot_id
  - SpdmRuntimeInfo::get_local_used_cert_chain_slot_id
  - SpdmRuntimeInfo::encode
  - SpdmRuntimeInfo::read
  - SpdmRuntimeInfo::encode
  - SpdmRuntimeInfo::read
  - SpdmProvisionInfo::encode
  - SpdmProvisionInfo::read
  - SpdmProvisionInfo::default
  - SpdmPeerInfo::encode
  - SpdmPeerInfo::read
  - SpdmEncapContext::encode
  - SpdmEncapContext::read
  - SpdmChunkContext::default
  source_file: /src/spdm-rs/spdmlib/src/common/mod.rs
- function_names:
  - SpdmCodec::spdm_read_bytes
  - SpdmDigestStruct::spdm_encode
  - SpdmDigestStruct::spdm_read
  - SpdmSignatureStruct::spdm_encode
  - SpdmSignatureStruct::spdm_read
  - SpdmMeasurementRecordStructure::verify_measurement_record
  - SpdmMeasurementRecordStructure::spdm_encode
  - SpdmMeasurementRecordStructure::spdm_read
  - SpdmDheExchangeStruct::spdm_encode
  - SpdmDheExchangeStruct::spdm_read
  - SpdmKemEncapKeyStruct::spdm_encode
  - SpdmKemEncapKeyStruct::spdm_read
  - SpdmKemCipherTextStruct::spdm_encode
  - SpdmKemCipherTextStruct::spdm_read
  - SpdmReqExchangeStruct::spdm_encode
  - SpdmReqExchangeStruct::spdm_read
  - SpdmRspExchangeStruct::spdm_encode
  - SpdmRspExchangeStruct::spdm_read
  - SpdmDmtfMeasurementStructure::spdm_encode
  - SpdmDmtfMeasurementStructure::spdm_read
  - SpdmMeasurementBlockStructure::spdm_encode
  - SpdmMeasurementBlockStructure::spdm_read
  source_file: /src/spdm-rs/spdmlib/src/common/spdm_codec.rs
- function_names:
  - SpdmSessionState::default
  - SpdmSessionCryptoParam::encode
  - SpdmSessionCryptoParam::read
  - SpdmSessionSharedSecretRoot::encode
  - SpdmSessionSharedSecretRoot::read
  - SpdmSessionSecretParam::encode
  - SpdmSessionSecretParam::read
  - SpdmSessionHandshakeSecret::encode
  - SpdmSessionHandshakeSecret::read
  - SpdmSessionApplicationSecret::encode
  - SpdmSessionApplicationSecret::read
  - SpdmSessionTransportParam::encode
  - SpdmSessionTransportParam::read
  - SpdmSessionRuntimeInfo::encode
  - SpdmSessionRuntimeInfo::read
  - SpdmSessionRuntimeInfo::encode
  - SpdmSessionRuntimeInfo::read
  - SpdmSession::default
  - SpdmSession::encode
  - SpdmSession::read
  - SpdmSession::new
  - SpdmSession::set_request_direction_sequence_number
  - SpdmSession::get_request_direction_sequence_number
  - SpdmSession::set_response_direction_sequence_number
  - SpdmSession::get_response_direction_sequence_number
  - SpdmSession::get_application_secret
  - SpdmSession::set_application_secret
  - SpdmSession::set_default
  - SpdmSession::get_session_id
  - SpdmSession::set_session_id
  - SpdmSession::setup
  - SpdmSession::teardown
  - SpdmSession::set_use_psk
  - SpdmSession::get_use_psk
  - SpdmSession::set_th1
  - SpdmSession::get_th1
  - SpdmSession::set_th2
  - SpdmSession::get_th2
  - SpdmSession::set_shared_secret
  - SpdmSession::get_crypto_param
  - SpdmSession::set_crypto_param
  - SpdmSession::set_transport_param
  - SpdmSession::set_session_state
  - SpdmSession::get_session_state
  - SpdmSession::set_mut_auth_requested
  - SpdmSession::get_mut_auth_requested
  - SpdmSession::generate_handshake_secret
  - SpdmSession::generate_data_secret
  - SpdmSession::create_data_secret_update
  - SpdmSession::activate_data_secret_update
  - SpdmSession::generate_hmac_with_response_finished_key
  - SpdmSession::generate_hmac_with_request_finished_key
  - SpdmSession::verify_hmac_with_response_finished_key
  - SpdmSession::verify_hmac_with_request_finished_key
  - SpdmSession::export_keys
  - SpdmSession::encode_spdm_secured_message
  - SpdmSession::decode_spdm_secured_message
  - SpdmSession::encode_msg
  - SpdmSession::decode_msg
  - tests_session::test_case0_sequence_number_overflow
  - tests_session::test_case1_sequence_number_overflow
  - tests_session::test_case2_sequence_number_overflow
  - tests_session::test_case3_sequence_number_overflow
  - tests_session::test_case0_activate_data_secret_update
  - tests_session::test_case0_decode_msg
  - tests_session::test_case0_encode_msg
  - tests_session::test_case0_setup
  - tests_session::test_case0_teardown
  source_file: /src/spdm-rs/spdmlib/src/common/session.rs
- function_names:
  - new_responder
  - stage_get
  - stage_send
  - encode_chunk_get
  - encode_chunk_send
  - is_unexpected_request
  - chunk_get_matching_session_is_served
  - chunk_get_different_session_is_rejected
  - chunk_get_unsecured_for_session_response_is_rejected
  - chunk_get_secured_for_unsecured_response_is_rejected
  - chunk_get_unsecured_matching_is_served
  - chunk_send_matching_session_passes
  - chunk_send_different_session_is_rejected
  - chunk_send_unsecured_for_session_request_is_rejected
  - chunk_send_secured_for_unsecured_request_is_rejected
  - chunk_send_unsecured_matching_passes
  source_file: /src/spdm-rs/spdmlib/src/responder/context_test.rs
- function_names:
  - ResponderContext::handle_spdm_end_session
  - ResponderContext::write_spdm_end_session_response
  source_file: /src/spdm-rs/spdmlib/src/responder/end_session_rsp.rs
- function_names:
  - ResponderContext::handle_spdm_digest
  - ResponderContext::write_spdm_digest_response
  source_file: /src/spdm-rs/spdmlib/src/responder/digest_rsp.rs
- function_names:
  - ResponderContext::handle_spdm_version
  - ResponderContext::write_spdm_version_response
  source_file: /src/spdm-rs/spdmlib/src/responder/version_rsp.rs
- function_names:
  - register
  - dispatch_secured_app_message_cb
  source_file: /src/spdm-rs/spdmlib/src/responder/app_message_handler.rs
- function_names:
  - ResponderContext::handle_spdm_capability
  - ResponderContext::write_spdm_capability_response
  - ResponderContext::build_supported_algorithms_block
  source_file: /src/spdm-rs/spdmlib/src/responder/capability_rsp.rs
- function_names:
  - ResponderContext::encode_encap_request_get_digest
  - ResponderContext::handle_encap_response_digest
  source_file: /src/spdm-rs/spdmlib/src/responder/encap_get_digest.rs
- function_names:
  - ResponderContext::handle_spdm_psk_finish
  - ResponderContext::write_spdm_psk_finish_response
  source_file: /src/spdm-rs/spdmlib/src/responder/psk_finish_rsp.rs
- function_names:
  - ResponderContext::new
  - ResponderContext::send_message
  - ResponderContext::process_message
  - ResponderContext::receive_message
  - ResponderContext::dispatch_secured_message
  - ResponderContext::dispatch_secured_app_message
  - ResponderContext::dispatch_message
  - ResponderContext::handle_spdm_chunk_send
  - ResponderContext::write_spdm_chunk_send_response
  - ResponderContext::handle_spdm_chunk_get
  - ResponderContext::write_spdm_chunk_get_response
  source_file: /src/spdm-rs/spdmlib/src/responder/context.rs
- function_names:
  - ResponderContext::write_spdm_error
  - ResponderContext::handle_error_request
  - ResponderContext::write_error_response
  source_file: /src/spdm-rs/spdmlib/src/responder/error_rsp.rs
- function_names:
  - ResponderContext::handle_spdm_key_exchange
  - ResponderContext::write_spdm_key_exchange_response
  - ResponderContext::generate_key_exchange_rsp_signature
  - ResponderContext::generate_key_exchange_rsp_signature
  source_file: /src/spdm-rs/spdmlib/src/responder/key_exchange_rsp.rs
- function_names:
  - ResponderContext::handle_spdm_heartbeat
  - ResponderContext::write_spdm_heartbeat_response
  source_file: /src/spdm-rs/spdmlib/src/responder/heartbeat_rsp.rs
- function_names:
  - ResponderContext::handle_spdm_algorithm
  - ResponderContext::write_spdm_algorithm
  source_file: /src/spdm-rs/spdmlib/src/responder/algorithm_rsp.rs
- function_names: []
  source_file: /src/spdm-rs/spdmlib/src/responder/mod.rs
- function_names:
  - ResponderContext::handle_spdm_vendor_defined_request
  - ResponderContext::write_spdm_vendor_defined_response
  - ResponderContext::respond_to_vendor_defined_request
  - ResponderContext::respond_to_vendor_defined_request_ex
  source_file: /src/spdm-rs/spdmlib/src/responder/vendor_rsp.rs
- function_names:
  - ResponderContext::handle_spdm_psk_exchange
  - ResponderContext::write_spdm_psk_exchange_response
  source_file: /src/spdm-rs/spdmlib/src/responder/psk_exchange_rsp.rs
- function_names:
  - ResponderContext::handle_spdm_key_update
  - ResponderContext::write_spdm_key_update_response
  source_file: /src/spdm-rs/spdmlib/src/responder/key_update_rsp.rs
- function_names:
  - ResponderContext::handle_spdm_certificate
  - ResponderContext::write_spdm_certificate_response
  source_file: /src/spdm-rs/spdmlib/src/responder/certificate_rsp.rs
- function_names:
  - ResponderContext::encode_encap_requst_get_certificate
  - ResponderContext::handle_encap_response_certificate
  - ResponderContext::verify_spdm_certificate_chain
  source_file: /src/spdm-rs/spdmlib/src/responder/encap_get_certificate.rs
- function_names:
  - ResponderContext::handle_spdm_finish
  - ResponderContext::write_spdm_finish_response
  - ResponderContext::verify_finish_req_signature
  - ResponderContext::verify_finish_req_signature
  source_file: /src/spdm-rs/spdmlib/src/responder/finish_rsp.rs
- function_names:
  - ResponderContext::handle_spdm_measurement
  - ResponderContext::write_spdm_measurement_response
  - ResponderContext::generate_measurement_signature
  - ResponderContext::generate_measurement_signature
  source_file: /src/spdm-rs/spdmlib/src/responder/measurement_rsp.rs
- function_names:
  - ResponderContext::handle_get_encapsulated_request
  - ResponderContext::write_encap_request_response
  - ResponderContext::handle_deliver_encapsulated_reponse
  - ResponderContext::write_encap_response_ack_response
  - ResponderContext::encap_check_version_cap_state
  - ResponderContext::process_encapsulated_response
  - ResponderContext::handle_encap_error_response_main
  source_file: /src/spdm-rs/spdmlib/src/responder/encap_rsp.rs
- function_names:
  - ResponderContext::handle_spdm_challenge
  - ResponderContext::write_spdm_challenge_response
  - ResponderContext::generate_challenge_auth_signature
  - ResponderContext::generate_challenge_auth_signature
  source_file: /src/spdm-rs/spdmlib/src/responder/challenge_rsp.rs
- function_names:
  - RequesterContext::init_spdm_key_exchange
  - RequesterContext::receive_spdm_key_exchange
  - RequesterContext::send_receive_spdm_key_exchange
  - RequesterContext::encode_spdm_key_exchange
  - RequesterContext::handle_spdm_key_exchange_response
  - RequesterContext::verify_key_exchange_rsp_signature
  - RequesterContext::verify_key_exchange_rsp_signature
  source_file: /src/spdm-rs/spdmlib/src/requester/key_exchange_req.rs
- function_names:
  - RequesterContext::session_based_mutual_authenticate
  source_file: /src/spdm-rs/spdmlib/src/requester/mutual_authenticate.rs
- function_names:
  - RequesterContext::encode_spdm_measurement_record
  - RequesterContext::handle_spdm_measurement_record_response
  - RequesterContext::send_spdm_measurement
  - RequesterContext::receive_spdm_measurement
  - RequesterContext::send_receive_spdm_measurement
  - RequesterContext::verify_measurement_signature
  - RequesterContext::verify_measurement_signature
  source_file: /src/spdm-rs/spdmlib/src/requester/get_measurements_req.rs
- function_names:
  - RequesterContext::send_spdm_heartbeat
  - RequesterContext::receive_spdm_heartbeat
  - RequesterContext::send_receive_spdm_heartbeat
  - RequesterContext::encode_spdm_heartbeat
  - RequesterContext::handle_spdm_heartbeat_response
  source_file: /src/spdm-rs/spdmlib/src/requester/heartbeat_req.rs
- function_names:
  - RequesterContext::send_spdm_capability
  - RequesterContext::receive_spdm_capability
  - RequesterContext::send_receive_spdm_capability
  - RequesterContext::encode_spdm_capability
  - RequesterContext::get_peer_supported_algorithms
  - RequesterContext::handle_spdm_capability_response
  source_file: /src/spdm-rs/spdmlib/src/requester/get_capabilities_req.rs
- function_names:
  - RequesterContext::send_spdm_version
  - RequesterContext::receive_spdm_version
  - RequesterContext::send_receive_spdm_version
  - RequesterContext::encode_spdm_version
  - RequesterContext::handle_spdm_version_response
  source_file: /src/spdm-rs/spdmlib/src/requester/get_version_req.rs
- function_names:
  - RequesterContext::new
  - RequesterContext::init_connection
  - RequesterContext::start_session
  - RequesterContext::end_session
  - RequesterContext::send_message
  - RequesterContext::send_single_message
  - RequesterContext::receive_message
  - RequesterContext::receive_single_message
  - RequesterContext::receive_large_response
  - RequesterContext::handle_spdm_chunk_response
  - RequesterContext::send_large_request
  - RequesterContext::handle_spdm_chunk_send_ack_response
  source_file: /src/spdm-rs/spdmlib/src/requester/context.rs
- function_names:
  - RequesterContext::encap_handle_get_digest
  source_file: /src/spdm-rs/spdmlib/src/requester/encap_digest.rs
- function_names:
  - RequesterContext::send_spdm_challenge
  - RequesterContext::receive_spdm_challenge
  - RequesterContext::send_receive_spdm_challenge
  - RequesterContext::encode_spdm_challenge
  - RequesterContext::handle_spdm_challenge_response
  - RequesterContext::verify_challenge_auth_cert_chain_hash
  - RequesterContext::verify_challenge_auth_signature
  - RequesterContext::verify_challenge_auth_signature
  source_file: /src/spdm-rs/spdmlib/src/requester/challenge_req.rs
- function_names:
  - RequesterContext::send_spdm_digest
  - RequesterContext::receive_spdm_digest
  - RequesterContext::send_receive_spdm_digest
  - RequesterContext::encode_spdm_digest
  - RequesterContext::handle_spdm_digest_response
  source_file: /src/spdm-rs/spdmlib/src/requester/get_digests_req.rs
- function_names: []
  source_file: /src/spdm-rs/spdmlib/src/requester/mod.rs
- function_names:
  - RequesterContext::send_spdm_end_session
  - RequesterContext::receive_spdm_end_session
  - RequesterContext::send_receive_spdm_end_session
  - RequesterContext::encode_spdm_end_session
  - RequesterContext::handle_spdm_end_session_response
  source_file: /src/spdm-rs/spdmlib/src/requester/end_session_req.rs
- function_names:
  - RequesterContext::send_spdm_key_update
  - RequesterContext::receive_spdm_key_update
  - RequesterContext::encode_spdm_key_update_op
  - RequesterContext::handle_spdm_key_update_op_response
  - RequesterContext::send_receive_spdm_key_update
  source_file: /src/spdm-rs/spdmlib/src/requester/key_update_req.rs
- function_names:
  - RequesterContext::send_spdm_algorithm
  - RequesterContext::receive_spdm_algorithm
  - RequesterContext::send_receive_spdm_algorithm
  - RequesterContext::encode_spdm_algorithm
  - RequesterContext::handle_spdm_algorithm_response
  source_file: /src/spdm-rs/spdmlib/src/requester/negotiate_algorithms_req.rs
- function_names:
  - RequesterContext::init_spdm_finish
  - RequesterContext::send_spdm_finish
  - RequesterContext::send_receive_spdm_finish
  - RequesterContext::receive_spdm_finish
  - RequesterContext::encode_spdm_finish
  - RequesterContext::handle_spdm_finish_response
  - RequesterContext::generate_finish_req_signature
  - RequesterContext::generate_finish_req_signature
  source_file: /src/spdm-rs/spdmlib/src/requester/finish_req.rs
- function_names:
  - RequesterContext::spdm_handle_simple_error_response
  - RequesterContext::spdm_handle_error_response_main
  source_file: /src/spdm-rs/spdmlib/src/requester/handle_error_response_req.rs
- function_names:
  - RequesterContext::encap_handle_get_certificate
  source_file: /src/spdm-rs/spdmlib/src/requester/encap_certificate.rs
- function_names:
  - RequesterContext::send_spdm_vendor_defined_request
  - RequesterContext::receive_spdm_vendor_defined_request
  - RequesterContext::send_receive_spdm_vendor_defined_request
  - RequesterContext::handle_spdm_vendor_defined_respond
  - RequesterContext::send_spdm_vendor_defined_request_ex
  - RequesterContext::receive_spdm_vendor_defined_request_ex
  - RequesterContext::send_receive_spdm_vendor_defined_request_ex
  - RequesterContext::handle_spdm_vendor_defined_respond_ex
  source_file: /src/spdm-rs/spdmlib/src/requester/vendor_req.rs
- function_names:
  - RequesterContext::encode_encap_error_response
  source_file: /src/spdm-rs/spdmlib/src/requester/encap_error.rs
- function_names:
  - RequesterContext::get_encapsulated_request_response
  - RequesterContext::send_get_encapsulated_request
  - RequesterContext::receive_encapsulated_request
  - RequesterContext::receive_encapsulated_response_ack
  - RequesterContext::process_encapsulated_request
  source_file: /src/spdm-rs/spdmlib/src/requester/encap_req.rs
- function_names:
  - RequesterContext::send_spdm_certificate
  - RequesterContext::receive_spdm_certificate
  - RequesterContext::encode_spdm_certificate_partial
  - RequesterContext::handle_spdm_certificate_partial_response
  - RequesterContext::send_receive_spdm_certificate
  - RequesterContext::verify_spdm_certificate_chain
  source_file: /src/spdm-rs/spdmlib/src/requester/get_certificate_req.rs
- function_names:
  - RequesterContext::send_spdm_psk_finish
  - RequesterContext::receive_spdm_psk_finish
  - RequesterContext::send_receive_spdm_psk_finish
  - RequesterContext::delegate_send_receive_spdm_psk_finish
  - RequesterContext::encode_spdm_psk_finish
  - RequesterContext::handle_spdm_psk_finish_response
  source_file: /src/spdm-rs/spdmlib/src/requester/psk_finish_req.rs
- function_names:
  - RequesterContext::send_spdm_psk_exchange
  - RequesterContext::receive_spdm_psk_exchange
  - RequesterContext::send_receive_spdm_psk_exchange
  - RequesterContext::encode_spdm_psk_exchange
  - RequesterContext::handle_spdm_psk_exchange_response
  source_file: /src/spdm-rs/spdmlib/src/requester/psk_exchange_req.rs
- function_names:
  - register
  - sleep
  source_file: /src/spdm-rs/spdmlib/src/time/mod.rs
- function_names: []
  source_file: /src/spdm-rs/spdmlib/src/time/time_callbacks.rs
- function_names:
  - fuzz_target
  source_file: /src/spdm-rs/spdmlib/fuzz/fuzz_targets/end_session_rsp.rs
- function_names:
  - fuzz_target
  source_file: /src/spdm-rs/spdmlib/fuzz/fuzz_targets/digest_rsp.rs
- function_names:
  - fuzz_target
  source_file: /src/spdm-rs/spdmlib/fuzz/fuzz_targets/key_exchange_req.rs
- function_names:
  - fuzz_target
  source_file: /src/spdm-rs/spdmlib/fuzz/fuzz_targets/digest_req.rs
- function_names:
  - fuzz_target
  source_file: /src/spdm-rs/spdmlib/fuzz/fuzz_targets/version_rsp.rs
- function_names:
  - fuzz_target
  source_file: /src/spdm-rs/spdmlib/fuzz/fuzz_targets/capability_rsp.rs
- function_names:
  - fuzz_target
  source_file: /src/spdm-rs/spdmlib/fuzz/fuzz_targets/heartbeat_req.rs
- function_names:
  - fuzz_target
  source_file: /src/spdm-rs/spdmlib/fuzz/fuzz_targets/version_req.rs
- function_names:
  - fuzz_target
  source_file: /src/spdm-rs/spdmlib/fuzz/fuzz_targets/psk_finish_rsp.rs
- function_names:
  - fuzz_target
  source_file: /src/spdm-rs/spdmlib/fuzz/fuzz_targets/fuzz_spdm_x509.rs
- function_names:
  - fuzz_target
  source_file: /src/spdm-rs/spdmlib/fuzz/fuzz_targets/heartbeat_rsp.rs
- function_names:
  - fuzz_target
  source_file: /src/spdm-rs/spdmlib/fuzz/fuzz_targets/challenge_req.rs
- function_names:
  - fuzz_target
  source_file: /src/spdm-rs/spdmlib/fuzz/fuzz_targets/algorithm_rsp.rs
- function_names:
  - fuzz_target
  source_file: /src/spdm-rs/spdmlib/fuzz/fuzz_targets/deliver_encapsulated_response_rsp.rs
- function_names:
  - fuzz_target
  source_file: /src/spdm-rs/spdmlib/fuzz/fuzz_targets/certificate_req.rs
- function_names:
  - fuzz_target
  source_file: /src/spdm-rs/spdmlib/fuzz/fuzz_targets/end_session_req.rs
- function_names:
  - fuzz_target
  source_file: /src/spdm-rs/spdmlib/fuzz/fuzz_targets/deliver_encapsulated_response_certificate_rsp.rs
- function_names:
  - fuzz_target
  source_file: /src/spdm-rs/spdmlib/fuzz/fuzz_targets/vendor_rsp.rs
- function_names:
  - fuzz_target
  source_file: /src/spdm-rs/spdmlib/fuzz/fuzz_targets/measurement_req.rs
- function_names:
  - fuzz_target
  source_file: /src/spdm-rs/spdmlib/fuzz/fuzz_targets/encapsulated_request_req.rs
- function_names:
  - fuzz_target
  source_file: /src/spdm-rs/spdmlib/fuzz/fuzz_targets/capability_req.rs
- function_names:
  - fuzz_target
  source_file: /src/spdm-rs/spdmlib/fuzz/fuzz_targets/key_update_req.rs
- function_names:
  - fuzz_target
  source_file: /src/spdm-rs/spdmlib/fuzz/fuzz_targets/encapsulated_request_certificate_req.rs
- function_names:
  - fuzz_target
  source_file: /src/spdm-rs/spdmlib/fuzz/fuzz_targets/pskexchange_rsp.rs
- function_names:
  - fuzz_target
  source_file: /src/spdm-rs/spdmlib/fuzz/fuzz_targets/finish_req.rs
- function_names:
  - fuzz_target
  source_file: /src/spdm-rs/spdmlib/fuzz/fuzz_targets/key_update_rsp.rs
- function_names:
  - fuzz_target
  source_file: /src/spdm-rs/spdmlib/fuzz/fuzz_targets/certificate_rsp.rs
- function_names:
  - fuzz_target
  source_file: /src/spdm-rs/spdmlib/fuzz/fuzz_targets/get_encapsulated_request_rsp.rs
- function_names:
  - fuzz_target
  source_file: /src/spdm-rs/spdmlib/fuzz/fuzz_targets/vendor_req.rs
- function_names:
  - fuzz_target
  source_file: /src/spdm-rs/spdmlib/fuzz/fuzz_targets/keyexchange_rsp.rs
- function_names:
  - fuzz_target
  source_file: /src/spdm-rs/spdmlib/fuzz/fuzz_targets/encapsulated_request_digest_req.rs
- function_names:
  - fuzz_target
  source_file: /src/spdm-rs/spdmlib/fuzz/fuzz_targets/finish_rsp.rs
- function_names:
  - fuzz_target
  source_file: /src/spdm-rs/spdmlib/fuzz/fuzz_targets/psk_finish_req.rs
- function_names:
  - fuzz_target
  source_file: /src/spdm-rs/spdmlib/fuzz/fuzz_targets/deliver_encapsulated_response_digest_rsp.rs
- function_names:
  - fuzz_target
  source_file: /src/spdm-rs/spdmlib/fuzz/fuzz_targets/measurement_rsp.rs
- function_names:
  - fuzz_target
  source_file: /src/spdm-rs/spdmlib/fuzz/fuzz_targets/algorithm_req.rs
- function_names:
  - fuzz_target
  source_file: /src/spdm-rs/spdmlib/fuzz/fuzz_targets/psk_exchange_req.rs
- function_names:
  - fuzz_target
  source_file: /src/spdm-rs/spdmlib/fuzz/fuzz_targets/challenge_rsp.rs
- function_names:
  - main
  source_file: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/build.rs
- function_names:
  - rand
  - enable
  - disable
  source_file: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/self_test.rs
- function_names:
  - mbedtls_aesni_has_support
  - mbedtls_internal_aes_encrypt
  - mbedtls_internal_aes_decrypt
  - mbedtls_platform_gmtime_r
  - mbedtls_time
  source_file: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/lib.rs
- function_names:
  - StaticMutex::init
  - StaticMutex::free
  - StaticMutex::lock
  - StaticMutex::unlock
  - test_double_free
  - tests::double_free
  source_file: /src/spdm-rs/spdmlib_crypto_mbedtls/mbedtls-platform-support/src/threading.rs
- function_names:
  - pqc_asym_verify
  source_file: /src/spdm-rs/spdmlib_crypto_mbedtls/src/pqc_asym_verify_impl.rs
- function_names:
  - hkdf_extract
  - hkdf_expand
  - tests::test_case0_hkdf_expand
  - tests::test_case1_hkdf_expand
  source_file: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hkdf_impl.rs
- function_names:
  - hmac
  - hmac_verify
  - tests::test_case_rfc4231_2
  source_file: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hmac_impl.rs
- function_names:
  - generate_key_pair
  - import_private_key
  - SpdmDheKeyExchangeP256::generate_key_pair
  - SpdmDheKeyExchangeP256::compute_final_key
  - SpdmDheKeyExchangeP256::export_private_key
  - SpdmDheKeyExchangeP384::generate_key_pair
  - SpdmDheKeyExchangeP384::compute_final_key
  - SpdmDheKeyExchangeP384::export_private_key
  - RdRand::call
  - RdRand::data_ptr
  - test_case0_dhe
  - test_case1_dhe
  - test_case2_dhe_export_import
  source_file: /src/spdm-rs/spdmlib_crypto_mbedtls/src/dhe_impl.rs
- function_names:
  - hash_ext::hash_ctx_init
  - hash_ext::hash_ctx_update
  - hash_ext::hash_ctx_finalize
  - hash_ext::hash_ctx_dup
  - hash_ext::insert_to_table
  - hash_ext::hash_ctx_serialize
  - hash_ext::hash_ctx_deserialize
  - hash_ext::get_hash_ctx_count
  - hash_all
  - test_case1_hash_all
  - test_case2_hash_all_sha512
  source_file: /src/spdm-rs/spdmlib_crypto_mbedtls/src/hash_impl.rs
- function_names:
  - MbedtlsBackend::verify_signature
  - md_type
  - is_rsa_pss
  - digest
  - build_spki_der
  - get_cert_from_cert_chain_x509
  - verify_cert_chain_x509
  - tests::test_verify_cert_chain_rsa3072
  - tests::test_verify_cert_chain_ecp384
  - tests::test_get_cert_from_cert_chain_leaf
  - tests::test_mbedtls_backend_creation
  source_file: /src/spdm-rs/spdmlib_crypto_mbedtls/src/cert_operation_impl.rs
- function_names:
  - get_hash_algo
  - convert_signature
  - verify_with_pub_key
  - verify_with_cert_chain
  - asym_verify
  - ecc_signature_bin_to_der
  source_file: /src/spdm-rs/spdmlib_crypto_mbedtls/src/asym_verify_impl.rs
- function_names:
  - tests::test_spdm_fips_self_tests
  source_file: /src/spdm-rs/spdmlib_crypto_mbedtls/src/lib.rs
- function_names:
  - encrypt
  - decrypt
  - test::test_case_gcm256
  - test::from_hex
  - test::from_hex_to_aead_key
  - test::from_hex_to_aead_iv
  - test::from_hex_digit
  source_file: /src/spdm-rs/spdmlib_crypto_mbedtls/src/aead_impl.rs
- function_names:
  - kem_generate_key_pair
  - kem_new_key
  source_file: /src/spdm-rs/spdmlib_crypto_mbedtls/src/kem_impl.rs
- function_names:
  - random
  - get_random
  source_file: /src/spdm-rs/spdmlib_crypto_mbedtls/src/rand_impl.rs
- function_names:
  - test_fips_mode
  - error_checking
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-fips-sys/tests/sanity-tests.rs
- function_names:
  - __BindgenBitfieldUnit::new
  - __BindgenBitfieldUnit::extract_bit
  - __BindgenBitfieldUnit::get_bit
  - __BindgenBitfieldUnit::raw_get_bit
  - __BindgenBitfieldUnit::change_bit
  - __BindgenBitfieldUnit::set_bit
  - __BindgenBitfieldUnit::raw_set_bit
  - __BindgenBitfieldUnit::get
  - __BindgenBitfieldUnit::raw_get
  - __BindgenBitfieldUnit::set
  - __BindgenBitfieldUnit::raw_set
  - bindgen_test_layout__opaque_pthread_rwlock_t
  - _opaque_pthread_rwlock_t::default
  - bindgen_test_layout_aes_key_st
  - aes_key_st::default
  - bindgen_test_layout_tm
  - tm::default
  - bindgen_test_layout___sbuf
  - __sbuf::default
  - bindgen_test_layout___sFILE
  - __sFILE::default
  - bindgen_test_layout_buf_mem_st
  - buf_mem_st::default
  - bindgen_test_layout_sha_state_st
  - sha_state_st::default
  - bindgen_test_layout_sha256_state_st
  - sha256_state_st::default
  - bindgen_test_layout_sha512_state_st
  - sha512_state_st::default
  - bindgen_test_layout_CRYPTO_dynlock
  - CRYPTO_dynlock::default
  - bindgen_test_layout_crypto_ex_data_st
  - crypto_ex_data_st::default
  - bindgen_test_layout_bio_method_st
  - bio_method_st::default
  - bindgen_test_layout_bio_st
  - bio_st::default
  - bindgen_test_layout_bn_gencb_st__bindgen_ty_1
  - bn_gencb_st__bindgen_ty_1::default
  - bindgen_test_layout_bn_gencb_st
  - bn_gencb_st::default
  - bindgen_test_layout_bignum_st
  - bignum_st::default
  - bindgen_test_layout_bn_mont_ctx_st
  - bn_mont_ctx_st::default
  - bindgen_test_layout_asn1_string_st
  - asn1_string_st::default
  - bindgen_test_layout_asn1_type_st__bindgen_ty_1
  - asn1_type_st__bindgen_ty_1::default
  - bindgen_test_layout_asn1_type_st
  - asn1_type_st::default
  - bindgen_test_layout_ASN1_TEMPLATE_st
  - ASN1_TEMPLATE_st::default
  - bindgen_test_layout_ASN1_ADB_st
  - ASN1_ADB_st::default
  - bindgen_test_layout_ASN1_ADB_TABLE_st
  - ASN1_ADB_TABLE_st::default
  - bindgen_test_layout_ASN1_ITEM_st
  - ASN1_ITEM_st::default
  - bindgen_test_layout_ASN1_EXTERN_FUNCS_st
  - ASN1_EXTERN_FUNCS_st::default
  - bindgen_test_layout_ASN1_AUX_st
  - ASN1_AUX_st::default
  - bindgen_test_layout_evp_encode_ctx_st
  - evp_encode_ctx_st::default
  - bindgen_test_layout_blake2b_state_st
  - blake2b_state_st::default
  - bindgen_test_layout_bf_key_st
  - bf_key_st::default
  - bindgen_test_layout_cbs_st
  - cbs_st::default
  - bindgen_test_layout_cbb_buffer_st
  - cbb_buffer_st::default
  - cbb_buffer_st::can_resize
  - cbb_buffer_st::set_can_resize
  - cbb_buffer_st::can_resize_raw
  - cbb_buffer_st::set_can_resize_raw
  - cbb_buffer_st::error
  - cbb_buffer_st::set_error
  - cbb_buffer_st::error_raw
  - cbb_buffer_st::set_error_raw
  - cbb_buffer_st::new_bitfield_1
  - bindgen_test_layout_cbb_child_st
  - cbb_child_st::default
  - cbb_child_st::pending_is_asn1
  - cbb_child_st::set_pending_is_asn1
  - cbb_child_st::pending_is_asn1_raw
  - cbb_child_st::set_pending_is_asn1_raw
  - cbb_child_st::new_bitfield_1
  - bindgen_test_layout_cbb_st__bindgen_ty_1
  - cbb_st__bindgen_ty_1::default
  - bindgen_test_layout_cbb_st
  - cbb_st::default
  - bindgen_test_layout_evp_cipher_ctx_st
  - evp_cipher_ctx_st::default
  - bindgen_test_layout_evp_cipher_info_st
  - evp_cipher_info_st::default
  - bindgen_test_layout_conf_value_st
  - conf_value_st::default
  - bindgen_test_layout_DES_cblock_st
  - bindgen_test_layout_DES_ks
  - bindgen_test_layout_env_md_ctx_st
  - env_md_ctx_st::default
  - bindgen_test_layout_DSA_SIG_st
  - DSA_SIG_st::default
  - bindgen_test_layout_EC_builtin_curve
  - EC_builtin_curve::default
  - bindgen_test_layout_ecdsa_sig_st
  - ecdsa_sig_st::default
  - bindgen_test_layout_evp_aead_ctx_st_state
  - evp_aead_ctx_st_state::default
  - bindgen_test_layout_evp_aead_ctx_st
  - evp_aead_ctx_st::default
  - bindgen_test_layout_obj_name_st
  - obj_name_st::default
  - bindgen_test_layout_md5_state_st
  - md5_state_st::default
  - bindgen_test_layout_md_ctx_union
  - md_ctx_union::default
  - bindgen_test_layout_hmac_ctx_st
  - hmac_ctx_st::default
  - bindgen_test_layout_evp_hpke_ctx_st
  - evp_hpke_ctx_st::default
  - bindgen_test_layout_evp_hpke_key_st
  - evp_hpke_key_st::default
  - bindgen_test_layout_HRSS_private_key
  - HRSS_private_key::default
  - bindgen_test_layout_HRSS_public_key
  - HRSS_public_key::default
  - bindgen_test_layout_md4_state_st
  - md4_state_st::default
  - bindgen_test_layout_pkcs7_st__bindgen_ty_1
  - pkcs7_st__bindgen_ty_1::default
  - bindgen_test_layout_pkcs7_st
  - pkcs7_st::default
  - bindgen_test_layout_pkcs7_signed_st
  - pkcs7_signed_st::default
  - bindgen_test_layout_otherName_st
  - otherName_st::default
  - bindgen_test_layout_EDIPartyName_st
  - EDIPartyName_st::default
  - bindgen_test_layout_GENERAL_NAME_st__bindgen_ty_1
  - GENERAL_NAME_st__bindgen_ty_1::default
  - bindgen_test_layout_GENERAL_NAME_st
  - GENERAL_NAME_st::default
  - bindgen_test_layout_Netscape_spki_st
  - Netscape_spki_st::default
  - bindgen_test_layout_Netscape_spkac_st
  - Netscape_spkac_st::default
  - bindgen_test_layout_rsa_pss_params_st
  - rsa_pss_params_st::default
  - bindgen_test_layout_private_key_st
  - private_key_st::default
  - bindgen_test_layout_X509_info_st
  - X509_info_st::default
  - bindgen_test_layout_v3_ext_ctx
  - v3_ext_ctx::default
  - bindgen_test_layout_X509_algor_st
  - X509_algor_st::default
  - bindgen_test_layout_x509_trust_st
  - x509_trust_st::default
  - bindgen_test_layout_v3_ext_method
  - v3_ext_method::default
  - bindgen_test_layout_BASIC_CONSTRAINTS_st
  - BASIC_CONSTRAINTS_st::default
  - bindgen_test_layout_ACCESS_DESCRIPTION_st
  - ACCESS_DESCRIPTION_st::default
  - bindgen_test_layout_DIST_POINT_NAME_st__bindgen_ty_1
  - DIST_POINT_NAME_st__bindgen_ty_1::default
  - bindgen_test_layout_DIST_POINT_NAME_st
  - DIST_POINT_NAME_st::default
  - bindgen_test_layout_DIST_POINT_st
  - DIST_POINT_st::default
  - bindgen_test_layout_AUTHORITY_KEYID_st
  - AUTHORITY_KEYID_st::default
  - bindgen_test_layout_NOTICEREF_st
  - NOTICEREF_st::default
  - bindgen_test_layout_USERNOTICE_st
  - USERNOTICE_st::default
  - bindgen_test_layout_POLICYQUALINFO_st__bindgen_ty_1
  - POLICYQUALINFO_st__bindgen_ty_1::default
  - bindgen_test_layout_POLICYQUALINFO_st
  - POLICYQUALINFO_st::default
  - bindgen_test_layout_POLICYINFO_st
  - POLICYINFO_st::default
  - bindgen_test_layout_POLICY_MAPPING_st
  - POLICY_MAPPING_st::default
  - bindgen_test_layout_GENERAL_SUBTREE_st
  - GENERAL_SUBTREE_st::default
  - bindgen_test_layout_NAME_CONSTRAINTS_st
  - NAME_CONSTRAINTS_st::default
  - bindgen_test_layout_POLICY_CONSTRAINTS_st
  - POLICY_CONSTRAINTS_st::default
  - bindgen_test_layout_ISSUING_DIST_POINT_st
  - ISSUING_DIST_POINT_st::default
  - bindgen_test_layout_x509_purpose_st
  - x509_purpose_st::default
  - bindgen_test_layout_rand_meth_st
  - bindgen_test_layout_rc4_key_st
  - rc4_key_st::default
  - bindgen_test_layout_RIPEMD160state_st
  - RIPEMD160state_st::default
  - bindgen_test_layout_trust_token_st
  - trust_token_st::default
  - bindgen_test_layout___va_list_tag
  - __va_list_tag::default
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-fips-sys/src/x86_64_apple_darwin_crypto.rs
- function_names:
  - __BindgenBitfieldUnit::new
  - __BindgenBitfieldUnit::extract_bit
  - __BindgenBitfieldUnit::get_bit
  - __BindgenBitfieldUnit::raw_get_bit
  - __BindgenBitfieldUnit::change_bit
  - __BindgenBitfieldUnit::set_bit
  - __BindgenBitfieldUnit::raw_set_bit
  - __BindgenBitfieldUnit::get
  - __BindgenBitfieldUnit::raw_get
  - __BindgenBitfieldUnit::set
  - __BindgenBitfieldUnit::raw_set
  - bindgen_test_layout__opaque_pthread_rwlock_t
  - _opaque_pthread_rwlock_t::default
  - bindgen_test_layout_aes_key_st
  - aes_key_st::default
  - bindgen_test_layout_tm
  - tm::default
  - bindgen_test_layout___sbuf
  - __sbuf::default
  - bindgen_test_layout___sFILE
  - __sFILE::default
  - bindgen_test_layout_buf_mem_st
  - buf_mem_st::default
  - bindgen_test_layout_sha_state_st
  - sha_state_st::default
  - bindgen_test_layout_sha256_state_st
  - sha256_state_st::default
  - bindgen_test_layout_sha512_state_st
  - sha512_state_st::default
  - bindgen_test_layout_CRYPTO_dynlock
  - CRYPTO_dynlock::default
  - bindgen_test_layout_crypto_ex_data_st
  - crypto_ex_data_st::default
  - bindgen_test_layout_bio_method_st
  - bio_method_st::default
  - bindgen_test_layout_bio_st
  - bio_st::default
  - bindgen_test_layout_bn_gencb_st__bindgen_ty_1
  - bn_gencb_st__bindgen_ty_1::default
  - bindgen_test_layout_bn_gencb_st
  - bn_gencb_st::default
  - bindgen_test_layout_bignum_st
  - bignum_st::default
  - bindgen_test_layout_bn_mont_ctx_st
  - bn_mont_ctx_st::default
  - bindgen_test_layout_asn1_string_st
  - asn1_string_st::default
  - bindgen_test_layout_asn1_type_st__bindgen_ty_1
  - asn1_type_st__bindgen_ty_1::default
  - bindgen_test_layout_asn1_type_st
  - asn1_type_st::default
  - bindgen_test_layout_ASN1_TEMPLATE_st
  - ASN1_TEMPLATE_st::default
  - bindgen_test_layout_ASN1_ADB_st
  - ASN1_ADB_st::default
  - bindgen_test_layout_ASN1_ADB_TABLE_st
  - ASN1_ADB_TABLE_st::default
  - bindgen_test_layout_ASN1_ITEM_st
  - ASN1_ITEM_st::default
  - bindgen_test_layout_ASN1_EXTERN_FUNCS_st
  - ASN1_EXTERN_FUNCS_st::default
  - bindgen_test_layout_ASN1_AUX_st
  - ASN1_AUX_st::default
  - bindgen_test_layout_evp_encode_ctx_st
  - evp_encode_ctx_st::default
  - bindgen_test_layout_blake2b_state_st
  - blake2b_state_st::default
  - bindgen_test_layout_bf_key_st
  - bf_key_st::default
  - bindgen_test_layout_cbs_st
  - cbs_st::default
  - bindgen_test_layout_cbb_buffer_st
  - cbb_buffer_st::default
  - cbb_buffer_st::can_resize
  - cbb_buffer_st::set_can_resize
  - cbb_buffer_st::can_resize_raw
  - cbb_buffer_st::set_can_resize_raw
  - cbb_buffer_st::error
  - cbb_buffer_st::set_error
  - cbb_buffer_st::error_raw
  - cbb_buffer_st::set_error_raw
  - cbb_buffer_st::new_bitfield_1
  - bindgen_test_layout_cbb_child_st
  - cbb_child_st::default
  - cbb_child_st::pending_is_asn1
  - cbb_child_st::set_pending_is_asn1
  - cbb_child_st::pending_is_asn1_raw
  - cbb_child_st::set_pending_is_asn1_raw
  - cbb_child_st::new_bitfield_1
  - bindgen_test_layout_cbb_st__bindgen_ty_1
  - cbb_st__bindgen_ty_1::default
  - bindgen_test_layout_cbb_st
  - cbb_st::default
  - bindgen_test_layout_evp_cipher_ctx_st
  - evp_cipher_ctx_st::default
  - bindgen_test_layout_evp_cipher_info_st
  - evp_cipher_info_st::default
  - bindgen_test_layout_conf_value_st
  - conf_value_st::default
  - bindgen_test_layout_DES_cblock_st
  - bindgen_test_layout_DES_ks
  - bindgen_test_layout_env_md_ctx_st
  - env_md_ctx_st::default
  - bindgen_test_layout_DSA_SIG_st
  - DSA_SIG_st::default
  - bindgen_test_layout_EC_builtin_curve
  - EC_builtin_curve::default
  - bindgen_test_layout_ecdsa_sig_st
  - ecdsa_sig_st::default
  - bindgen_test_layout_evp_aead_ctx_st_state
  - evp_aead_ctx_st_state::default
  - bindgen_test_layout_evp_aead_ctx_st
  - evp_aead_ctx_st::default
  - bindgen_test_layout_obj_name_st
  - obj_name_st::default
  - bindgen_test_layout_md5_state_st
  - md5_state_st::default
  - bindgen_test_layout_md_ctx_union
  - md_ctx_union::default
  - bindgen_test_layout_hmac_ctx_st
  - hmac_ctx_st::default
  - bindgen_test_layout_evp_hpke_ctx_st
  - evp_hpke_ctx_st::default
  - bindgen_test_layout_evp_hpke_key_st
  - evp_hpke_key_st::default
  - bindgen_test_layout_HRSS_private_key
  - HRSS_private_key::default
  - bindgen_test_layout_HRSS_public_key
  - HRSS_public_key::default
  - bindgen_test_layout_md4_state_st
  - md4_state_st::default
  - bindgen_test_layout_pkcs7_st__bindgen_ty_1
  - pkcs7_st__bindgen_ty_1::default
  - bindgen_test_layout_pkcs7_st
  - pkcs7_st::default
  - bindgen_test_layout_pkcs7_signed_st
  - pkcs7_signed_st::default
  - bindgen_test_layout_otherName_st
  - otherName_st::default
  - bindgen_test_layout_EDIPartyName_st
  - EDIPartyName_st::default
  - bindgen_test_layout_GENERAL_NAME_st__bindgen_ty_1
  - GENERAL_NAME_st__bindgen_ty_1::default
  - bindgen_test_layout_GENERAL_NAME_st
  - GENERAL_NAME_st::default
  - bindgen_test_layout_Netscape_spki_st
  - Netscape_spki_st::default
  - bindgen_test_layout_Netscape_spkac_st
  - Netscape_spkac_st::default
  - bindgen_test_layout_rsa_pss_params_st
  - rsa_pss_params_st::default
  - bindgen_test_layout_private_key_st
  - private_key_st::default
  - bindgen_test_layout_X509_info_st
  - X509_info_st::default
  - bindgen_test_layout_v3_ext_ctx
  - v3_ext_ctx::default
  - bindgen_test_layout_X509_algor_st
  - X509_algor_st::default
  - bindgen_test_layout_x509_trust_st
  - x509_trust_st::default
  - bindgen_test_layout_v3_ext_method
  - v3_ext_method::default
  - bindgen_test_layout_BASIC_CONSTRAINTS_st
  - BASIC_CONSTRAINTS_st::default
  - bindgen_test_layout_ACCESS_DESCRIPTION_st
  - ACCESS_DESCRIPTION_st::default
  - bindgen_test_layout_DIST_POINT_NAME_st__bindgen_ty_1
  - DIST_POINT_NAME_st__bindgen_ty_1::default
  - bindgen_test_layout_DIST_POINT_NAME_st
  - DIST_POINT_NAME_st::default
  - bindgen_test_layout_DIST_POINT_st
  - DIST_POINT_st::default
  - bindgen_test_layout_AUTHORITY_KEYID_st
  - AUTHORITY_KEYID_st::default
  - bindgen_test_layout_NOTICEREF_st
  - NOTICEREF_st::default
  - bindgen_test_layout_USERNOTICE_st
  - USERNOTICE_st::default
  - bindgen_test_layout_POLICYQUALINFO_st__bindgen_ty_1
  - POLICYQUALINFO_st__bindgen_ty_1::default
  - bindgen_test_layout_POLICYQUALINFO_st
  - POLICYQUALINFO_st::default
  - bindgen_test_layout_POLICYINFO_st
  - POLICYINFO_st::default
  - bindgen_test_layout_POLICY_MAPPING_st
  - POLICY_MAPPING_st::default
  - bindgen_test_layout_GENERAL_SUBTREE_st
  - GENERAL_SUBTREE_st::default
  - bindgen_test_layout_NAME_CONSTRAINTS_st
  - NAME_CONSTRAINTS_st::default
  - bindgen_test_layout_POLICY_CONSTRAINTS_st
  - POLICY_CONSTRAINTS_st::default
  - bindgen_test_layout_ISSUING_DIST_POINT_st
  - ISSUING_DIST_POINT_st::default
  - bindgen_test_layout_x509_purpose_st
  - x509_purpose_st::default
  - bindgen_test_layout_rand_meth_st
  - bindgen_test_layout_rc4_key_st
  - rc4_key_st::default
  - bindgen_test_layout_RIPEMD160state_st
  - RIPEMD160state_st::default
  - bindgen_test_layout_trust_token_st
  - trust_token_st::default
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-fips-sys/src/aarch64_apple_darwin_crypto.rs
- function_names:
  - __BindgenBitfieldUnit::new
  - __BindgenBitfieldUnit::extract_bit
  - __BindgenBitfieldUnit::get_bit
  - __BindgenBitfieldUnit::raw_get_bit
  - __BindgenBitfieldUnit::change_bit
  - __BindgenBitfieldUnit::set_bit
  - __BindgenBitfieldUnit::raw_set_bit
  - __BindgenBitfieldUnit::get
  - __BindgenBitfieldUnit::raw_get
  - __BindgenBitfieldUnit::set
  - __BindgenBitfieldUnit::raw_set
  - bindgen_test_layout_pthread_rwlock_t__bindgen_ty_1
  - pthread_rwlock_t__bindgen_ty_1::default
  - bindgen_test_layout_pthread_rwlock_t
  - pthread_rwlock_t::default
  - bindgen_test_layout_aes_key_st
  - aes_key_st::default
  - bindgen_test_layout_tm
  - tm::default
  - bindgen_test_layout_buf_mem_st
  - buf_mem_st::default
  - bindgen_test_layout_sha_state_st
  - sha_state_st::default
  - bindgen_test_layout_sha256_state_st
  - sha256_state_st::default
  - bindgen_test_layout_sha512_state_st
  - sha512_state_st::default
  - bindgen_test_layout_CRYPTO_dynlock
  - CRYPTO_dynlock::default
  - bindgen_test_layout_crypto_ex_data_st
  - crypto_ex_data_st::default
  - bindgen_test_layout_bio_method_st
  - bio_method_st::default
  - bindgen_test_layout_bio_st
  - bio_st::default
  - bindgen_test_layout_bn_gencb_st__bindgen_ty_1
  - bn_gencb_st__bindgen_ty_1::default
  - bindgen_test_layout_bn_gencb_st
  - bn_gencb_st::default
  - bindgen_test_layout_bignum_st
  - bignum_st::default
  - bindgen_test_layout_bn_mont_ctx_st
  - bn_mont_ctx_st::default
  - bindgen_test_layout_asn1_string_st
  - asn1_string_st::default
  - bindgen_test_layout_asn1_type_st__bindgen_ty_1
  - asn1_type_st__bindgen_ty_1::default
  - bindgen_test_layout_asn1_type_st
  - asn1_type_st::default
  - bindgen_test_layout_ASN1_TEMPLATE_st
  - ASN1_TEMPLATE_st::default
  - bindgen_test_layout_ASN1_ADB_st
  - ASN1_ADB_st::default
  - bindgen_test_layout_ASN1_ADB_TABLE_st
  - ASN1_ADB_TABLE_st::default
  - bindgen_test_layout_ASN1_ITEM_st
  - ASN1_ITEM_st::default
  - bindgen_test_layout_ASN1_EXTERN_FUNCS_st
  - ASN1_EXTERN_FUNCS_st::default
  - bindgen_test_layout_ASN1_AUX_st
  - ASN1_AUX_st::default
  - bindgen_test_layout_evp_encode_ctx_st
  - evp_encode_ctx_st::default
  - bindgen_test_layout_blake2b_state_st
  - blake2b_state_st::default
  - bindgen_test_layout_bf_key_st
  - bf_key_st::default
  - bindgen_test_layout_cbs_st
  - cbs_st::default
  - bindgen_test_layout_cbb_buffer_st
  - cbb_buffer_st::default
  - cbb_buffer_st::can_resize
  - cbb_buffer_st::set_can_resize
  - cbb_buffer_st::can_resize_raw
  - cbb_buffer_st::set_can_resize_raw
  - cbb_buffer_st::error
  - cbb_buffer_st::set_error
  - cbb_buffer_st::error_raw
  - cbb_buffer_st::set_error_raw
  - cbb_buffer_st::new_bitfield_1
  - bindgen_test_layout_cbb_child_st
  - cbb_child_st::default
  - cbb_child_st::pending_is_asn1
  - cbb_child_st::set_pending_is_asn1
  - cbb_child_st::pending_is_asn1_raw
  - cbb_child_st::set_pending_is_asn1_raw
  - cbb_child_st::new_bitfield_1
  - bindgen_test_layout_cbb_st__bindgen_ty_1
  - cbb_st__bindgen_ty_1::default
  - bindgen_test_layout_cbb_st
  - cbb_st::default
  - bindgen_test_layout_evp_cipher_ctx_st
  - evp_cipher_ctx_st::default
  - bindgen_test_layout_evp_cipher_info_st
  - evp_cipher_info_st::default
  - bindgen_test_layout_conf_value_st
  - conf_value_st::default
  - bindgen_test_layout_DES_cblock_st
  - bindgen_test_layout_DES_ks
  - bindgen_test_layout_env_md_ctx_st
  - env_md_ctx_st::default
  - bindgen_test_layout_DSA_SIG_st
  - DSA_SIG_st::default
  - bindgen_test_layout_EC_builtin_curve
  - EC_builtin_curve::default
  - bindgen_test_layout_ecdsa_sig_st
  - ecdsa_sig_st::default
  - bindgen_test_layout_evp_aead_ctx_st_state
  - evp_aead_ctx_st_state::default
  - bindgen_test_layout_evp_aead_ctx_st
  - evp_aead_ctx_st::default
  - bindgen_test_layout_obj_name_st
  - obj_name_st::default
  - bindgen_test_layout_md5_state_st
  - md5_state_st::default
  - bindgen_test_layout_md_ctx_union
  - md_ctx_union::default
  - bindgen_test_layout_hmac_ctx_st
  - hmac_ctx_st::default
  - bindgen_test_layout_evp_hpke_ctx_st
  - evp_hpke_ctx_st::default
  - bindgen_test_layout_evp_hpke_key_st
  - evp_hpke_key_st::default
  - bindgen_test_layout_HRSS_private_key
  - HRSS_private_key::default
  - bindgen_test_layout_HRSS_public_key
  - HRSS_public_key::default
  - bindgen_test_layout_md4_state_st
  - md4_state_st::default
  - bindgen_test_layout_pkcs7_st__bindgen_ty_1
  - pkcs7_st__bindgen_ty_1::default
  - bindgen_test_layout_pkcs7_st
  - pkcs7_st::default
  - bindgen_test_layout_pkcs7_signed_st
  - pkcs7_signed_st::default
  - bindgen_test_layout_otherName_st
  - otherName_st::default
  - bindgen_test_layout_EDIPartyName_st
  - EDIPartyName_st::default
  - bindgen_test_layout_GENERAL_NAME_st__bindgen_ty_1
  - GENERAL_NAME_st__bindgen_ty_1::default
  - bindgen_test_layout_GENERAL_NAME_st
  - GENERAL_NAME_st::default
  - bindgen_test_layout_Netscape_spki_st
  - Netscape_spki_st::default
  - bindgen_test_layout_Netscape_spkac_st
  - Netscape_spkac_st::default
  - bindgen_test_layout_rsa_pss_params_st
  - rsa_pss_params_st::default
  - bindgen_test_layout_private_key_st
  - private_key_st::default
  - bindgen_test_layout_X509_info_st
  - X509_info_st::default
  - bindgen_test_layout_v3_ext_ctx
  - v3_ext_ctx::default
  - bindgen_test_layout_X509_algor_st
  - X509_algor_st::default
  - bindgen_test_layout_x509_trust_st
  - x509_trust_st::default
  - bindgen_test_layout_v3_ext_method
  - v3_ext_method::default
  - bindgen_test_layout_BASIC_CONSTRAINTS_st
  - BASIC_CONSTRAINTS_st::default
  - bindgen_test_layout_ACCESS_DESCRIPTION_st
  - ACCESS_DESCRIPTION_st::default
  - bindgen_test_layout_DIST_POINT_NAME_st__bindgen_ty_1
  - DIST_POINT_NAME_st__bindgen_ty_1::default
  - bindgen_test_layout_DIST_POINT_NAME_st
  - DIST_POINT_NAME_st::default
  - bindgen_test_layout_DIST_POINT_st
  - DIST_POINT_st::default
  - bindgen_test_layout_AUTHORITY_KEYID_st
  - AUTHORITY_KEYID_st::default
  - bindgen_test_layout_NOTICEREF_st
  - NOTICEREF_st::default
  - bindgen_test_layout_USERNOTICE_st
  - USERNOTICE_st::default
  - bindgen_test_layout_POLICYQUALINFO_st__bindgen_ty_1
  - POLICYQUALINFO_st__bindgen_ty_1::default
  - bindgen_test_layout_POLICYQUALINFO_st
  - POLICYQUALINFO_st::default
  - bindgen_test_layout_POLICYINFO_st
  - POLICYINFO_st::default
  - bindgen_test_layout_POLICY_MAPPING_st
  - POLICY_MAPPING_st::default
  - bindgen_test_layout_GENERAL_SUBTREE_st
  - GENERAL_SUBTREE_st::default
  - bindgen_test_layout_NAME_CONSTRAINTS_st
  - NAME_CONSTRAINTS_st::default
  - bindgen_test_layout_POLICY_CONSTRAINTS_st
  - POLICY_CONSTRAINTS_st::default
  - bindgen_test_layout_ISSUING_DIST_POINT_st
  - ISSUING_DIST_POINT_st::default
  - bindgen_test_layout_x509_purpose_st
  - x509_purpose_st::default
  - bindgen_test_layout_rand_meth_st
  - bindgen_test_layout_rc4_key_st
  - rc4_key_st::default
  - bindgen_test_layout_RIPEMD160state_st
  - RIPEMD160state_st::default
  - bindgen_test_layout_trust_token_st
  - trust_token_st::default
  - bindgen_test_layout___va_list_tag
  - __va_list_tag::default
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-fips-sys/src/x86_64_unknown_linux_musl_crypto.rs
- function_names:
  - use_bindings
  - platform_binding
  - ERR_GET_LIB
  - ERR_GET_REASON
  - ERR_GET_FUNC
  - BIO_get_mem_data
  - CFG_CPU_JITTER_ENTROPY
  - init
  - fips_version
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-fips-sys/src/lib.rs
- function_names:
  - __BindgenBitfieldUnit::new
  - __BindgenBitfieldUnit::extract_bit
  - __BindgenBitfieldUnit::get_bit
  - __BindgenBitfieldUnit::raw_get_bit
  - __BindgenBitfieldUnit::change_bit
  - __BindgenBitfieldUnit::set_bit
  - __BindgenBitfieldUnit::raw_set_bit
  - __BindgenBitfieldUnit::get
  - __BindgenBitfieldUnit::raw_get
  - __BindgenBitfieldUnit::set
  - __BindgenBitfieldUnit::raw_set
  - __BindgenOpaqueArray::default
  - bindgen_test_layout_aes_key_st
  - aes_key_st::default
  - bindgen_test_layout_tm
  - tm::default
  - bindgen_test_layout__IO_FILE
  - _IO_FILE::default
  - bindgen_test_layout_buf_mem_st
  - buf_mem_st::default
  - bindgen_test_layout_sha_state_st
  - sha_state_st::default
  - bindgen_test_layout_sha256_state_st
  - sha256_state_st::default
  - bindgen_test_layout_sha512_state_st
  - sha512_state_st::default
  - bindgen_test_layout_crypto_mutex_st
  - crypto_mutex_st::default
  - bindgen_test_layout_CRYPTO_dynlock
  - CRYPTO_dynlock::default
  - bindgen_test_layout_crypto_ex_data_st
  - crypto_ex_data_st::default
  - bindgen_test_layout_bio_method_st
  - bio_method_st::default
  - bindgen_test_layout_bio_st
  - bio_st::default
  - bindgen_test_layout_bn_gencb_st__bindgen_ty_1
  - bn_gencb_st__bindgen_ty_1::default
  - bindgen_test_layout_bn_gencb_st
  - bn_gencb_st::default
  - bindgen_test_layout_bignum_st
  - bignum_st::default
  - bindgen_test_layout_bn_mont_ctx_st
  - bn_mont_ctx_st::default
  - bindgen_test_layout_asn1_string_st
  - asn1_string_st::default
  - bindgen_test_layout_asn1_type_st__bindgen_ty_1
  - asn1_type_st__bindgen_ty_1::default
  - bindgen_test_layout_asn1_type_st
  - asn1_type_st::default
  - bindgen_test_layout_ASN1_TEMPLATE_st
  - ASN1_TEMPLATE_st::default
  - bindgen_test_layout_ASN1_ADB_st
  - ASN1_ADB_st::default
  - bindgen_test_layout_ASN1_ADB_TABLE_st
  - ASN1_ADB_TABLE_st::default
  - bindgen_test_layout_ASN1_ITEM_st
  - ASN1_ITEM_st::default
  - bindgen_test_layout_ASN1_EXTERN_FUNCS_st
  - ASN1_EXTERN_FUNCS_st::default
  - bindgen_test_layout_ASN1_AUX_st
  - ASN1_AUX_st::default
  - bindgen_test_layout_evp_encode_ctx_st
  - evp_encode_ctx_st::default
  - bindgen_test_layout_blake2b_state_st
  - blake2b_state_st::default
  - bindgen_test_layout_bf_key_st
  - bf_key_st::default
  - bindgen_test_layout_cbs_st
  - cbs_st::default
  - bindgen_test_layout_cbb_buffer_st
  - cbb_buffer_st::default
  - cbb_buffer_st::can_resize
  - cbb_buffer_st::set_can_resize
  - cbb_buffer_st::can_resize_raw
  - cbb_buffer_st::set_can_resize_raw
  - cbb_buffer_st::error
  - cbb_buffer_st::set_error
  - cbb_buffer_st::error_raw
  - cbb_buffer_st::set_error_raw
  - cbb_buffer_st::new_bitfield_1
  - bindgen_test_layout_cbb_child_st
  - cbb_child_st::default
  - cbb_child_st::pending_is_asn1
  - cbb_child_st::set_pending_is_asn1
  - cbb_child_st::pending_is_asn1_raw
  - cbb_child_st::set_pending_is_asn1_raw
  - cbb_child_st::new_bitfield_1
  - bindgen_test_layout_cbb_st__bindgen_ty_1
  - cbb_st__bindgen_ty_1::default
  - bindgen_test_layout_cbb_st
  - cbb_st::default
  - bindgen_test_layout_evp_cipher_ctx_st
  - evp_cipher_ctx_st::default
  - bindgen_test_layout_evp_cipher_info_st
  - evp_cipher_info_st::default
  - bindgen_test_layout_conf_value_st
  - conf_value_st::default
  - bindgen_test_layout_DES_cblock_st
  - bindgen_test_layout_DES_ks
  - bindgen_test_layout_env_md_ctx_st
  - env_md_ctx_st::default
  - bindgen_test_layout_DSA_SIG_st
  - DSA_SIG_st::default
  - bindgen_test_layout_EC_builtin_curve
  - EC_builtin_curve::default
  - bindgen_test_layout_ecdsa_sig_st
  - ecdsa_sig_st::default
  - bindgen_test_layout_evp_aead_ctx_st_state
  - evp_aead_ctx_st_state::default
  - bindgen_test_layout_evp_aead_ctx_st
  - evp_aead_ctx_st::default
  - bindgen_test_layout_obj_name_st
  - obj_name_st::default
  - bindgen_test_layout_md5_state_st
  - md5_state_st::default
  - bindgen_test_layout_md_ctx_union
  - md_ctx_union::default
  - bindgen_test_layout_hmac_ctx_st
  - hmac_ctx_st::default
  - bindgen_test_layout_evp_hpke_ctx_st
  - evp_hpke_ctx_st::default
  - bindgen_test_layout_evp_hpke_key_st
  - evp_hpke_key_st::default
  - bindgen_test_layout_HRSS_private_key
  - HRSS_private_key::default
  - bindgen_test_layout_HRSS_public_key
  - HRSS_public_key::default
  - bindgen_test_layout_md4_state_st
  - md4_state_st::default
  - bindgen_test_layout_pkcs7_st__bindgen_ty_1
  - pkcs7_st__bindgen_ty_1::default
  - bindgen_test_layout_pkcs7_st
  - pkcs7_st::default
  - bindgen_test_layout_pkcs7_signed_st
  - pkcs7_signed_st::default
  - bindgen_test_layout_otherName_st
  - otherName_st::default
  - bindgen_test_layout_EDIPartyName_st
  - EDIPartyName_st::default
  - bindgen_test_layout_GENERAL_NAME_st__bindgen_ty_1
  - GENERAL_NAME_st__bindgen_ty_1::default
  - bindgen_test_layout_GENERAL_NAME_st
  - GENERAL_NAME_st::default
  - bindgen_test_layout_Netscape_spki_st
  - Netscape_spki_st::default
  - bindgen_test_layout_Netscape_spkac_st
  - Netscape_spkac_st::default
  - bindgen_test_layout_rsa_pss_params_st
  - rsa_pss_params_st::default
  - bindgen_test_layout_private_key_st
  - private_key_st::default
  - bindgen_test_layout_X509_info_st
  - X509_info_st::default
  - bindgen_test_layout_v3_ext_ctx
  - v3_ext_ctx::default
  - bindgen_test_layout_X509_algor_st
  - X509_algor_st::default
  - bindgen_test_layout_x509_trust_st
  - x509_trust_st::default
  - bindgen_test_layout_v3_ext_method
  - v3_ext_method::default
  - bindgen_test_layout_BASIC_CONSTRAINTS_st
  - BASIC_CONSTRAINTS_st::default
  - bindgen_test_layout_ACCESS_DESCRIPTION_st
  - ACCESS_DESCRIPTION_st::default
  - bindgen_test_layout_DIST_POINT_NAME_st__bindgen_ty_1
  - DIST_POINT_NAME_st__bindgen_ty_1::default
  - bindgen_test_layout_DIST_POINT_NAME_st
  - DIST_POINT_NAME_st::default
  - bindgen_test_layout_DIST_POINT_st
  - DIST_POINT_st::default
  - bindgen_test_layout_AUTHORITY_KEYID_st
  - AUTHORITY_KEYID_st::default
  - bindgen_test_layout_NOTICEREF_st
  - NOTICEREF_st::default
  - bindgen_test_layout_USERNOTICE_st
  - USERNOTICE_st::default
  - bindgen_test_layout_POLICYQUALINFO_st__bindgen_ty_1
  - POLICYQUALINFO_st__bindgen_ty_1::default
  - bindgen_test_layout_POLICYQUALINFO_st
  - POLICYQUALINFO_st::default
  - bindgen_test_layout_POLICYINFO_st
  - POLICYINFO_st::default
  - bindgen_test_layout_POLICY_MAPPING_st
  - POLICY_MAPPING_st::default
  - bindgen_test_layout_GENERAL_SUBTREE_st
  - GENERAL_SUBTREE_st::default
  - bindgen_test_layout_NAME_CONSTRAINTS_st
  - NAME_CONSTRAINTS_st::default
  - bindgen_test_layout_POLICY_CONSTRAINTS_st
  - POLICY_CONSTRAINTS_st::default
  - bindgen_test_layout_ISSUING_DIST_POINT_st
  - ISSUING_DIST_POINT_st::default
  - bindgen_test_layout_x509_purpose_st
  - x509_purpose_st::default
  - bindgen_test_layout_rand_meth_st
  - bindgen_test_layout_rc4_key_st
  - rc4_key_st::default
  - bindgen_test_layout_RIPEMD160state_st
  - RIPEMD160state_st::default
  - bindgen_test_layout_trust_token_st
  - trust_token_st::default
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-fips-sys/src/aarch64_unknown_linux_gnu_crypto.rs
- function_names:
  - __BindgenBitfieldUnit::new
  - __BindgenBitfieldUnit::extract_bit
  - __BindgenBitfieldUnit::get_bit
  - __BindgenBitfieldUnit::raw_get_bit
  - __BindgenBitfieldUnit::change_bit
  - __BindgenBitfieldUnit::set_bit
  - __BindgenBitfieldUnit::raw_set_bit
  - __BindgenBitfieldUnit::get
  - __BindgenBitfieldUnit::raw_get
  - __BindgenBitfieldUnit::set
  - __BindgenBitfieldUnit::raw_set
  - bindgen_test_layout_aes_key_st
  - aes_key_st::default
  - bindgen_test_layout_tm
  - tm::default
  - bindgen_test_layout__IO_FILE
  - _IO_FILE::default
  - bindgen_test_layout_buf_mem_st
  - buf_mem_st::default
  - bindgen_test_layout_sha_state_st
  - sha_state_st::default
  - bindgen_test_layout_sha256_state_st
  - sha256_state_st::default
  - bindgen_test_layout_sha512_state_st
  - sha512_state_st::default
  - bindgen_test_layout_crypto_mutex_st
  - crypto_mutex_st::default
  - bindgen_test_layout_CRYPTO_dynlock
  - CRYPTO_dynlock::default
  - bindgen_test_layout_crypto_ex_data_st
  - crypto_ex_data_st::default
  - bindgen_test_layout_bio_method_st
  - bio_method_st::default
  - bindgen_test_layout_bio_st
  - bio_st::default
  - bindgen_test_layout_bn_gencb_st__bindgen_ty_1
  - bn_gencb_st__bindgen_ty_1::default
  - bindgen_test_layout_bn_gencb_st
  - bn_gencb_st::default
  - bindgen_test_layout_bignum_st
  - bignum_st::default
  - bindgen_test_layout_bn_mont_ctx_st
  - bn_mont_ctx_st::default
  - bindgen_test_layout_asn1_string_st
  - asn1_string_st::default
  - bindgen_test_layout_asn1_type_st__bindgen_ty_1
  - asn1_type_st__bindgen_ty_1::default
  - bindgen_test_layout_asn1_type_st
  - asn1_type_st::default
  - bindgen_test_layout_ASN1_TEMPLATE_st
  - ASN1_TEMPLATE_st::default
  - bindgen_test_layout_ASN1_ADB_st
  - ASN1_ADB_st::default
  - bindgen_test_layout_ASN1_ADB_TABLE_st
  - ASN1_ADB_TABLE_st::default
  - bindgen_test_layout_ASN1_ITEM_st
  - ASN1_ITEM_st::default
  - bindgen_test_layout_ASN1_EXTERN_FUNCS_st
  - ASN1_EXTERN_FUNCS_st::default
  - bindgen_test_layout_ASN1_AUX_st
  - ASN1_AUX_st::default
  - bindgen_test_layout_evp_encode_ctx_st
  - evp_encode_ctx_st::default
  - bindgen_test_layout_blake2b_state_st
  - blake2b_state_st::default
  - bindgen_test_layout_bf_key_st
  - bf_key_st::default
  - bindgen_test_layout_cbs_st
  - cbs_st::default
  - bindgen_test_layout_cbb_buffer_st
  - cbb_buffer_st::default
  - cbb_buffer_st::can_resize
  - cbb_buffer_st::set_can_resize
  - cbb_buffer_st::can_resize_raw
  - cbb_buffer_st::set_can_resize_raw
  - cbb_buffer_st::error
  - cbb_buffer_st::set_error
  - cbb_buffer_st::error_raw
  - cbb_buffer_st::set_error_raw
  - cbb_buffer_st::new_bitfield_1
  - bindgen_test_layout_cbb_child_st
  - cbb_child_st::default
  - cbb_child_st::pending_is_asn1
  - cbb_child_st::set_pending_is_asn1
  - cbb_child_st::pending_is_asn1_raw
  - cbb_child_st::set_pending_is_asn1_raw
  - cbb_child_st::new_bitfield_1
  - bindgen_test_layout_cbb_st__bindgen_ty_1
  - cbb_st__bindgen_ty_1::default
  - bindgen_test_layout_cbb_st
  - cbb_st::default
  - bindgen_test_layout_evp_cipher_ctx_st
  - evp_cipher_ctx_st::default
  - bindgen_test_layout_evp_cipher_info_st
  - evp_cipher_info_st::default
  - bindgen_test_layout_conf_value_st
  - conf_value_st::default
  - bindgen_test_layout_DES_cblock_st
  - bindgen_test_layout_DES_ks
  - bindgen_test_layout_env_md_ctx_st
  - env_md_ctx_st::default
  - bindgen_test_layout_DSA_SIG_st
  - DSA_SIG_st::default
  - bindgen_test_layout_EC_builtin_curve
  - EC_builtin_curve::default
  - bindgen_test_layout_ecdsa_sig_st
  - ecdsa_sig_st::default
  - bindgen_test_layout_evp_aead_ctx_st_state
  - evp_aead_ctx_st_state::default
  - bindgen_test_layout_evp_aead_ctx_st
  - evp_aead_ctx_st::default
  - bindgen_test_layout_obj_name_st
  - obj_name_st::default
  - bindgen_test_layout_md5_state_st
  - md5_state_st::default
  - bindgen_test_layout_md_ctx_union
  - md_ctx_union::default
  - bindgen_test_layout_hmac_ctx_st
  - hmac_ctx_st::default
  - bindgen_test_layout_evp_hpke_ctx_st
  - evp_hpke_ctx_st::default
  - bindgen_test_layout_evp_hpke_key_st
  - evp_hpke_key_st::default
  - bindgen_test_layout_HRSS_private_key
  - HRSS_private_key::default
  - bindgen_test_layout_HRSS_public_key
  - HRSS_public_key::default
  - bindgen_test_layout_md4_state_st
  - md4_state_st::default
  - bindgen_test_layout_pkcs7_st__bindgen_ty_1
  - pkcs7_st__bindgen_ty_1::default
  - bindgen_test_layout_pkcs7_st
  - pkcs7_st::default
  - bindgen_test_layout_pkcs7_signed_st
  - pkcs7_signed_st::default
  - bindgen_test_layout_otherName_st
  - otherName_st::default
  - bindgen_test_layout_EDIPartyName_st
  - EDIPartyName_st::default
  - bindgen_test_layout_GENERAL_NAME_st__bindgen_ty_1
  - GENERAL_NAME_st__bindgen_ty_1::default
  - bindgen_test_layout_GENERAL_NAME_st
  - GENERAL_NAME_st::default
  - bindgen_test_layout_Netscape_spki_st
  - Netscape_spki_st::default
  - bindgen_test_layout_Netscape_spkac_st
  - Netscape_spkac_st::default
  - bindgen_test_layout_rsa_pss_params_st
  - rsa_pss_params_st::default
  - bindgen_test_layout_private_key_st
  - private_key_st::default
  - bindgen_test_layout_X509_info_st
  - X509_info_st::default
  - bindgen_test_layout_v3_ext_ctx
  - v3_ext_ctx::default
  - bindgen_test_layout_X509_algor_st
  - X509_algor_st::default
  - bindgen_test_layout_x509_trust_st
  - x509_trust_st::default
  - bindgen_test_layout_v3_ext_method
  - v3_ext_method::default
  - bindgen_test_layout_BASIC_CONSTRAINTS_st
  - BASIC_CONSTRAINTS_st::default
  - bindgen_test_layout_ACCESS_DESCRIPTION_st
  - ACCESS_DESCRIPTION_st::default
  - bindgen_test_layout_DIST_POINT_NAME_st__bindgen_ty_1
  - DIST_POINT_NAME_st__bindgen_ty_1::default
  - bindgen_test_layout_DIST_POINT_NAME_st
  - DIST_POINT_NAME_st::default
  - bindgen_test_layout_DIST_POINT_st
  - DIST_POINT_st::default
  - bindgen_test_layout_AUTHORITY_KEYID_st
  - AUTHORITY_KEYID_st::default
  - bindgen_test_layout_NOTICEREF_st
  - NOTICEREF_st::default
  - bindgen_test_layout_USERNOTICE_st
  - USERNOTICE_st::default
  - bindgen_test_layout_POLICYQUALINFO_st__bindgen_ty_1
  - POLICYQUALINFO_st__bindgen_ty_1::default
  - bindgen_test_layout_POLICYQUALINFO_st
  - POLICYQUALINFO_st::default
  - bindgen_test_layout_POLICYINFO_st
  - POLICYINFO_st::default
  - bindgen_test_layout_POLICY_MAPPING_st
  - POLICY_MAPPING_st::default
  - bindgen_test_layout_GENERAL_SUBTREE_st
  - GENERAL_SUBTREE_st::default
  - bindgen_test_layout_NAME_CONSTRAINTS_st
  - NAME_CONSTRAINTS_st::default
  - bindgen_test_layout_POLICY_CONSTRAINTS_st
  - POLICY_CONSTRAINTS_st::default
  - bindgen_test_layout_ISSUING_DIST_POINT_st
  - ISSUING_DIST_POINT_st::default
  - bindgen_test_layout_x509_purpose_st
  - x509_purpose_st::default
  - bindgen_test_layout_rand_meth_st
  - bindgen_test_layout_rc4_key_st
  - rc4_key_st::default
  - bindgen_test_layout_RIPEMD160state_st
  - RIPEMD160state_st::default
  - bindgen_test_layout_trust_token_st
  - trust_token_st::default
  - bindgen_test_layout___va_list_tag
  - __va_list_tag::default
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-fips-sys/src/x86_64_unknown_linux_gnu_crypto.rs
- function_names:
  - __BindgenBitfieldUnit::new
  - __BindgenBitfieldUnit::extract_bit
  - __BindgenBitfieldUnit::get_bit
  - __BindgenBitfieldUnit::raw_get_bit
  - __BindgenBitfieldUnit::change_bit
  - __BindgenBitfieldUnit::set_bit
  - __BindgenBitfieldUnit::raw_set_bit
  - __BindgenBitfieldUnit::get
  - __BindgenBitfieldUnit::raw_get
  - __BindgenBitfieldUnit::set
  - __BindgenBitfieldUnit::raw_set
  - __BindgenOpaqueArray::default
  - bindgen_test_layout_pthread_rwlock_t__bindgen_ty_1
  - pthread_rwlock_t__bindgen_ty_1::default
  - bindgen_test_layout_pthread_rwlock_t
  - pthread_rwlock_t::default
  - bindgen_test_layout_aes_key_st
  - aes_key_st::default
  - bindgen_test_layout_tm
  - tm::default
  - bindgen_test_layout_buf_mem_st
  - buf_mem_st::default
  - bindgen_test_layout_sha_state_st
  - sha_state_st::default
  - bindgen_test_layout_sha256_state_st
  - sha256_state_st::default
  - bindgen_test_layout_sha512_state_st
  - sha512_state_st::default
  - bindgen_test_layout_CRYPTO_dynlock
  - CRYPTO_dynlock::default
  - bindgen_test_layout_crypto_ex_data_st
  - crypto_ex_data_st::default
  - bindgen_test_layout_bio_method_st
  - bio_method_st::default
  - bindgen_test_layout_bio_st
  - bio_st::default
  - bindgen_test_layout_bn_gencb_st__bindgen_ty_1
  - bn_gencb_st__bindgen_ty_1::default
  - bindgen_test_layout_bn_gencb_st
  - bn_gencb_st::default
  - bindgen_test_layout_bignum_st
  - bignum_st::default
  - bindgen_test_layout_bn_mont_ctx_st
  - bn_mont_ctx_st::default
  - bindgen_test_layout_asn1_string_st
  - asn1_string_st::default
  - bindgen_test_layout_asn1_type_st__bindgen_ty_1
  - asn1_type_st__bindgen_ty_1::default
  - bindgen_test_layout_asn1_type_st
  - asn1_type_st::default
  - bindgen_test_layout_ASN1_TEMPLATE_st
  - ASN1_TEMPLATE_st::default
  - bindgen_test_layout_ASN1_ADB_st
  - ASN1_ADB_st::default
  - bindgen_test_layout_ASN1_ADB_TABLE_st
  - ASN1_ADB_TABLE_st::default
  - bindgen_test_layout_ASN1_ITEM_st
  - ASN1_ITEM_st::default
  - bindgen_test_layout_ASN1_EXTERN_FUNCS_st
  - ASN1_EXTERN_FUNCS_st::default
  - bindgen_test_layout_ASN1_AUX_st
  - ASN1_AUX_st::default
  - bindgen_test_layout_evp_encode_ctx_st
  - evp_encode_ctx_st::default
  - bindgen_test_layout_blake2b_state_st
  - blake2b_state_st::default
  - bindgen_test_layout_bf_key_st
  - bf_key_st::default
  - bindgen_test_layout_cbs_st
  - cbs_st::default
  - bindgen_test_layout_cbb_buffer_st
  - cbb_buffer_st::default
  - cbb_buffer_st::can_resize
  - cbb_buffer_st::set_can_resize
  - cbb_buffer_st::can_resize_raw
  - cbb_buffer_st::set_can_resize_raw
  - cbb_buffer_st::error
  - cbb_buffer_st::set_error
  - cbb_buffer_st::error_raw
  - cbb_buffer_st::set_error_raw
  - cbb_buffer_st::new_bitfield_1
  - bindgen_test_layout_cbb_child_st
  - cbb_child_st::default
  - cbb_child_st::pending_is_asn1
  - cbb_child_st::set_pending_is_asn1
  - cbb_child_st::pending_is_asn1_raw
  - cbb_child_st::set_pending_is_asn1_raw
  - cbb_child_st::new_bitfield_1
  - bindgen_test_layout_cbb_st__bindgen_ty_1
  - cbb_st__bindgen_ty_1::default
  - bindgen_test_layout_cbb_st
  - cbb_st::default
  - bindgen_test_layout_evp_cipher_ctx_st
  - evp_cipher_ctx_st::default
  - bindgen_test_layout_evp_cipher_info_st
  - evp_cipher_info_st::default
  - bindgen_test_layout_conf_value_st
  - conf_value_st::default
  - bindgen_test_layout_DES_cblock_st
  - bindgen_test_layout_DES_ks
  - bindgen_test_layout_env_md_ctx_st
  - env_md_ctx_st::default
  - bindgen_test_layout_DSA_SIG_st
  - DSA_SIG_st::default
  - bindgen_test_layout_EC_builtin_curve
  - EC_builtin_curve::default
  - bindgen_test_layout_ecdsa_sig_st
  - ecdsa_sig_st::default
  - bindgen_test_layout_evp_aead_ctx_st_state
  - evp_aead_ctx_st_state::default
  - bindgen_test_layout_evp_aead_ctx_st
  - evp_aead_ctx_st::default
  - bindgen_test_layout_obj_name_st
  - obj_name_st::default
  - bindgen_test_layout_md5_state_st
  - md5_state_st::default
  - bindgen_test_layout_md_ctx_union
  - md_ctx_union::default
  - bindgen_test_layout_hmac_ctx_st
  - hmac_ctx_st::default
  - bindgen_test_layout_evp_hpke_ctx_st
  - evp_hpke_ctx_st::default
  - bindgen_test_layout_evp_hpke_key_st
  - evp_hpke_key_st::default
  - bindgen_test_layout_HRSS_private_key
  - HRSS_private_key::default
  - bindgen_test_layout_HRSS_public_key
  - HRSS_public_key::default
  - bindgen_test_layout_md4_state_st
  - md4_state_st::default
  - bindgen_test_layout_pkcs7_st__bindgen_ty_1
  - pkcs7_st__bindgen_ty_1::default
  - bindgen_test_layout_pkcs7_st
  - pkcs7_st::default
  - bindgen_test_layout_pkcs7_signed_st
  - pkcs7_signed_st::default
  - bindgen_test_layout_otherName_st
  - otherName_st::default
  - bindgen_test_layout_EDIPartyName_st
  - EDIPartyName_st::default
  - bindgen_test_layout_GENERAL_NAME_st__bindgen_ty_1
  - GENERAL_NAME_st__bindgen_ty_1::default
  - bindgen_test_layout_GENERAL_NAME_st
  - GENERAL_NAME_st::default
  - bindgen_test_layout_Netscape_spki_st
  - Netscape_spki_st::default
  - bindgen_test_layout_Netscape_spkac_st
  - Netscape_spkac_st::default
  - bindgen_test_layout_rsa_pss_params_st
  - rsa_pss_params_st::default
  - bindgen_test_layout_private_key_st
  - private_key_st::default
  - bindgen_test_layout_X509_info_st
  - X509_info_st::default
  - bindgen_test_layout_v3_ext_ctx
  - v3_ext_ctx::default
  - bindgen_test_layout_X509_algor_st
  - X509_algor_st::default
  - bindgen_test_layout_x509_trust_st
  - x509_trust_st::default
  - bindgen_test_layout_v3_ext_method
  - v3_ext_method::default
  - bindgen_test_layout_BASIC_CONSTRAINTS_st
  - BASIC_CONSTRAINTS_st::default
  - bindgen_test_layout_ACCESS_DESCRIPTION_st
  - ACCESS_DESCRIPTION_st::default
  - bindgen_test_layout_DIST_POINT_NAME_st__bindgen_ty_1
  - DIST_POINT_NAME_st__bindgen_ty_1::default
  - bindgen_test_layout_DIST_POINT_NAME_st
  - DIST_POINT_NAME_st::default
  - bindgen_test_layout_DIST_POINT_st
  - DIST_POINT_st::default
  - bindgen_test_layout_AUTHORITY_KEYID_st
  - AUTHORITY_KEYID_st::default
  - bindgen_test_layout_NOTICEREF_st
  - NOTICEREF_st::default
  - bindgen_test_layout_USERNOTICE_st
  - USERNOTICE_st::default
  - bindgen_test_layout_POLICYQUALINFO_st__bindgen_ty_1
  - POLICYQUALINFO_st__bindgen_ty_1::default
  - bindgen_test_layout_POLICYQUALINFO_st
  - POLICYQUALINFO_st::default
  - bindgen_test_layout_POLICYINFO_st
  - POLICYINFO_st::default
  - bindgen_test_layout_POLICY_MAPPING_st
  - POLICY_MAPPING_st::default
  - bindgen_test_layout_GENERAL_SUBTREE_st
  - GENERAL_SUBTREE_st::default
  - bindgen_test_layout_NAME_CONSTRAINTS_st
  - NAME_CONSTRAINTS_st::default
  - bindgen_test_layout_POLICY_CONSTRAINTS_st
  - POLICY_CONSTRAINTS_st::default
  - bindgen_test_layout_ISSUING_DIST_POINT_st
  - ISSUING_DIST_POINT_st::default
  - bindgen_test_layout_x509_purpose_st
  - x509_purpose_st::default
  - bindgen_test_layout_rand_meth_st
  - bindgen_test_layout_rc4_key_st
  - rc4_key_st::default
  - bindgen_test_layout_RIPEMD160state_st
  - RIPEMD160state_st::default
  - bindgen_test_layout_trust_token_st
  - trust_token_st::default
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-fips-sys/src/aarch64_unknown_linux_musl_crypto.rs
- function_names:
  - main
  - handle
  - retrieve_secret
  - CommitBuild::new
  - CommitBuild::commit
  - CommitBuild::build
  - gather_pull_request_builds
  - get_project_build_batches
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-fips-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs
- function_names:
  - test_fips_mode
  - error_checking
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/tests/sanity-tests.rs
- function_names:
  - __BindgenBitfieldUnit::new
  - __BindgenBitfieldUnit::extract_bit
  - __BindgenBitfieldUnit::get_bit
  - __BindgenBitfieldUnit::raw_get_bit
  - __BindgenBitfieldUnit::change_bit
  - __BindgenBitfieldUnit::set_bit
  - __BindgenBitfieldUnit::raw_set_bit
  - __BindgenBitfieldUnit::get
  - __BindgenBitfieldUnit::raw_get
  - __BindgenBitfieldUnit::set
  - __BindgenBitfieldUnit::raw_set
  - bindgen_test_layout_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::set_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::set_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::new_bitfield_1
  - bindgen_test_layout_aes_key_st
  - aes_key_st::default
  - bindgen_test_layout__IO_FILE
  - _IO_FILE::default
  - bindgen_test_layout_buf_mem_st
  - buf_mem_st::default
  - bindgen_test_layout_sha_state_st
  - sha_state_st::default
  - bindgen_test_layout_sha256_state_st
  - sha256_state_st::default
  - bindgen_test_layout_sha512_state_st
  - sha512_state_st::default
  - bindgen_test_layout_crypto_ex_data_st
  - crypto_ex_data_st::default
  - bindgen_test_layout_bio_method_st
  - bio_method_st::default
  - bindgen_test_layout_bio_st
  - bio_st::default
  - bindgen_test_layout_bn_gencb_st__bindgen_ty_1
  - bn_gencb_st__bindgen_ty_1::default
  - bindgen_test_layout_bn_gencb_st
  - bn_gencb_st::default
  - bindgen_test_layout_bignum_st
  - bignum_st::default
  - bindgen_test_layout_bn_mont_ctx_st
  - bn_mont_ctx_st::default
  - bindgen_test_layout_asn1_string_st
  - asn1_string_st::default
  - bindgen_test_layout_asn1_type_st__bindgen_ty_1
  - asn1_type_st__bindgen_ty_1::default
  - bindgen_test_layout_asn1_type_st
  - asn1_type_st::default
  - bindgen_test_layout_ASN1_TEMPLATE_st
  - ASN1_TEMPLATE_st::default
  - bindgen_test_layout_ASN1_ITEM_st
  - ASN1_ITEM_st::default
  - bindgen_test_layout_evp_encode_ctx_st
  - evp_encode_ctx_st::default
  - bindgen_test_layout_blake2b_state_st
  - blake2b_state_st::default
  - bindgen_test_layout_cbs_st
  - cbs_st::default
  - bindgen_test_layout_cbb_buffer_st
  - cbb_buffer_st::default
  - cbb_buffer_st::can_resize
  - cbb_buffer_st::set_can_resize
  - cbb_buffer_st::can_resize_raw
  - cbb_buffer_st::set_can_resize_raw
  - cbb_buffer_st::error
  - cbb_buffer_st::set_error
  - cbb_buffer_st::error_raw
  - cbb_buffer_st::set_error_raw
  - cbb_buffer_st::new_bitfield_1
  - bindgen_test_layout_cbb_child_st
  - cbb_child_st::default
  - cbb_child_st::pending_is_asn1
  - cbb_child_st::set_pending_is_asn1
  - cbb_child_st::pending_is_asn1_raw
  - cbb_child_st::set_pending_is_asn1_raw
  - cbb_child_st::new_bitfield_1
  - bindgen_test_layout_cbb_st__bindgen_ty_1
  - cbb_st__bindgen_ty_1::default
  - bindgen_test_layout_cbb_st
  - cbb_st::default
  - bindgen_test_layout_evp_cipher_ctx_st
  - evp_cipher_ctx_st::default
  - bindgen_test_layout_evp_cipher_info_st
  - evp_cipher_info_st::default
  - bindgen_test_layout_conf_value_st
  - conf_value_st::default
  - bindgen_test_layout_conf_st
  - conf_st::default
  - bindgen_test_layout_env_md_ctx_st
  - env_md_ctx_st::default
  - bindgen_test_layout_DSA_SIG_st
  - DSA_SIG_st::default
  - bindgen_test_layout_EC_builtin_curve
  - EC_builtin_curve::default
  - bindgen_test_layout_ecdsa_sig_st
  - ecdsa_sig_st::default
  - bindgen_test_layout_evp_aead_ctx_st_state
  - evp_aead_ctx_st_state::default
  - bindgen_test_layout_evp_aead_ctx_st
  - evp_aead_ctx_st::default
  - bindgen_test_layout_md5_state_st
  - md5_state_st::default
  - bindgen_test_layout_md_ctx_union
  - md_ctx_union::default
  - bindgen_test_layout_hmac_ctx_st
  - hmac_ctx_st::default
  - bindgen_test_layout_evp_hpke_ctx_st
  - evp_hpke_ctx_st::default
  - bindgen_test_layout_evp_hpke_key_st
  - evp_hpke_key_st::default
  - bindgen_test_layout_md4_state_st
  - md4_state_st::default
  - bindgen_test_layout_pkcs7_st__bindgen_ty_1
  - pkcs7_st__bindgen_ty_1::default
  - bindgen_test_layout_pkcs7_st
  - pkcs7_st::default
  - bindgen_test_layout_pkcs7_signed_st
  - pkcs7_signed_st::default
  - bindgen_test_layout_pkcs7_signer_info_st
  - pkcs7_signer_info_st::default
  - bindgen_test_layout_pkcs7_sign_envelope_st
  - pkcs7_sign_envelope_st::default
  - bindgen_test_layout_pkcs7_envelope_st
  - pkcs7_envelope_st::default
  - bindgen_test_layout_pkcs7_recip_info_st
  - pkcs7_recip_info_st::default
  - bindgen_test_layout_pkcs7_issuer_and_serial_st
  - pkcs7_issuer_and_serial_st::default
  - bindgen_test_layout_otherName_st
  - otherName_st::default
  - bindgen_test_layout_EDIPartyName_st
  - EDIPartyName_st::default
  - bindgen_test_layout_GENERAL_NAME_st__bindgen_ty_1
  - GENERAL_NAME_st__bindgen_ty_1::default
  - bindgen_test_layout_GENERAL_NAME_st
  - GENERAL_NAME_st::default
  - bindgen_test_layout_Netscape_spki_st
  - Netscape_spki_st::default
  - bindgen_test_layout_Netscape_spkac_st
  - Netscape_spkac_st::default
  - bindgen_test_layout_rsa_pss_params_st
  - rsa_pss_params_st::default
  - bindgen_test_layout_private_key_st
  - private_key_st::default
  - bindgen_test_layout_X509_info_st
  - X509_info_st::default
  - bindgen_test_layout_v3_ext_method
  - v3_ext_method::default
  - bindgen_test_layout_v3_ext_ctx
  - v3_ext_ctx::default
  - bindgen_test_layout_X509_algor_st
  - X509_algor_st::default
  - bindgen_test_layout_x509_trust_st
  - x509_trust_st::default
  - bindgen_test_layout_BASIC_CONSTRAINTS_st
  - BASIC_CONSTRAINTS_st::default
  - bindgen_test_layout_DIST_POINT_NAME_st__bindgen_ty_1
  - DIST_POINT_NAME_st__bindgen_ty_1::default
  - bindgen_test_layout_DIST_POINT_NAME_st
  - DIST_POINT_NAME_st::default
  - bindgen_test_layout_DIST_POINT_st
  - DIST_POINT_st::default
  - bindgen_test_layout_AUTHORITY_KEYID_st
  - AUTHORITY_KEYID_st::default
  - bindgen_test_layout_NAME_CONSTRAINTS_st
  - NAME_CONSTRAINTS_st::default
  - bindgen_test_layout_ISSUING_DIST_POINT_st
  - ISSUING_DIST_POINT_st::default
  - bindgen_test_layout_rand_meth_st
  - bindgen_test_layout_rc4_key_st
  - rc4_key_st::default
  - bindgen_test_layout_RIPEMD160state_st
  - RIPEMD160state_st::default
  - bindgen_test_layout_trust_token_st
  - trust_token_st::default
  - bindgen_test_layout___va_list_tag
  - __va_list_tag::default
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_crypto.rs
- function_names:
  - __BindgenBitfieldUnit::new
  - __BindgenBitfieldUnit::extract_bit
  - __BindgenBitfieldUnit::get_bit
  - __BindgenBitfieldUnit::raw_get_bit
  - __BindgenBitfieldUnit::change_bit
  - __BindgenBitfieldUnit::set_bit
  - __BindgenBitfieldUnit::raw_set_bit
  - __BindgenBitfieldUnit::get
  - __BindgenBitfieldUnit::raw_get
  - __BindgenBitfieldUnit::set
  - __BindgenBitfieldUnit::raw_set
  - bindgen_test_layout__opaque_pthread_rwlock_t
  - _opaque_pthread_rwlock_t::default
  - bindgen_test_layout_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::set_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::set_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::new_bitfield_1
  - bindgen_test_layout_aes_key_st
  - aes_key_st::default
  - bindgen_test_layout_tm
  - tm::default
  - bindgen_test_layout___sbuf
  - __sbuf::default
  - bindgen_test_layout___sFILE
  - __sFILE::default
  - bindgen_test_layout_buf_mem_st
  - buf_mem_st::default
  - bindgen_test_layout_sha_state_st
  - sha_state_st::default
  - bindgen_test_layout_sha256_state_st
  - sha256_state_st::default
  - bindgen_test_layout_sha512_state_st
  - sha512_state_st::default
  - bindgen_test_layout_CRYPTO_dynlock
  - CRYPTO_dynlock::default
  - bindgen_test_layout_crypto_ex_data_st
  - crypto_ex_data_st::default
  - bindgen_test_layout_bio_method_st
  - bio_method_st::default
  - bindgen_test_layout_bio_st
  - bio_st::default
  - bindgen_test_layout_bn_gencb_st__bindgen_ty_1
  - bn_gencb_st__bindgen_ty_1::default
  - bindgen_test_layout_bn_gencb_st
  - bn_gencb_st::default
  - bindgen_test_layout_bignum_st
  - bignum_st::default
  - bindgen_test_layout_bn_mont_ctx_st
  - bn_mont_ctx_st::default
  - bindgen_test_layout_asn1_string_st
  - asn1_string_st::default
  - bindgen_test_layout_asn1_type_st__bindgen_ty_1
  - asn1_type_st__bindgen_ty_1::default
  - bindgen_test_layout_asn1_type_st
  - asn1_type_st::default
  - bindgen_test_layout_ASN1_TEMPLATE_st
  - ASN1_TEMPLATE_st::default
  - bindgen_test_layout_ASN1_ADB_st
  - ASN1_ADB_st::default
  - bindgen_test_layout_ASN1_ADB_TABLE_st
  - ASN1_ADB_TABLE_st::default
  - bindgen_test_layout_ASN1_ITEM_st
  - ASN1_ITEM_st::default
  - bindgen_test_layout_ASN1_EXTERN_FUNCS_st
  - ASN1_EXTERN_FUNCS_st::default
  - bindgen_test_layout_ASN1_AUX_st
  - ASN1_AUX_st::default
  - bindgen_test_layout_evp_encode_ctx_st
  - evp_encode_ctx_st::default
  - bindgen_test_layout_blake2b_state_st
  - blake2b_state_st::default
  - bindgen_test_layout_bf_key_st
  - bf_key_st::default
  - bindgen_test_layout_cbs_st
  - cbs_st::default
  - bindgen_test_layout_cbb_buffer_st
  - cbb_buffer_st::default
  - cbb_buffer_st::can_resize
  - cbb_buffer_st::set_can_resize
  - cbb_buffer_st::can_resize_raw
  - cbb_buffer_st::set_can_resize_raw
  - cbb_buffer_st::error
  - cbb_buffer_st::set_error
  - cbb_buffer_st::error_raw
  - cbb_buffer_st::set_error_raw
  - cbb_buffer_st::new_bitfield_1
  - bindgen_test_layout_cbb_child_st
  - cbb_child_st::default
  - cbb_child_st::pending_is_asn1
  - cbb_child_st::set_pending_is_asn1
  - cbb_child_st::pending_is_asn1_raw
  - cbb_child_st::set_pending_is_asn1_raw
  - cbb_child_st::new_bitfield_1
  - bindgen_test_layout_cbb_st__bindgen_ty_1
  - cbb_st__bindgen_ty_1::default
  - bindgen_test_layout_cbb_st
  - cbb_st::default
  - bindgen_test_layout_evp_cipher_ctx_st
  - evp_cipher_ctx_st::default
  - bindgen_test_layout_evp_cipher_info_st
  - evp_cipher_info_st::default
  - bindgen_test_layout_conf_value_st
  - conf_value_st::default
  - bindgen_test_layout_conf_st
  - conf_st::default
  - bindgen_test_layout_DES_cblock_st
  - bindgen_test_layout_DES_ks
  - bindgen_test_layout_env_md_ctx_st
  - env_md_ctx_st::default
  - bindgen_test_layout_DSA_SIG_st
  - DSA_SIG_st::default
  - bindgen_test_layout_EC_builtin_curve
  - EC_builtin_curve::default
  - bindgen_test_layout_ecdsa_sig_st
  - ecdsa_sig_st::default
  - bindgen_test_layout_evp_aead_ctx_st_state
  - evp_aead_ctx_st_state::default
  - bindgen_test_layout_evp_aead_ctx_st
  - evp_aead_ctx_st::default
  - bindgen_test_layout_obj_name_st
  - obj_name_st::default
  - bindgen_test_layout_md5_state_st
  - md5_state_st::default
  - bindgen_test_layout_md_ctx_union
  - md_ctx_union::default
  - bindgen_test_layout_hmac_ctx_st
  - hmac_ctx_st::default
  - bindgen_test_layout_evp_hpke_ctx_st
  - evp_hpke_ctx_st::default
  - bindgen_test_layout_evp_hpke_key_st
  - evp_hpke_key_st::default
  - bindgen_test_layout_HRSS_private_key
  - HRSS_private_key::default
  - bindgen_test_layout_HRSS_public_key
  - HRSS_public_key::default
  - bindgen_test_layout_md4_state_st
  - md4_state_st::default
  - bindgen_test_layout_pkcs7_st__bindgen_ty_1
  - pkcs7_st__bindgen_ty_1::default
  - bindgen_test_layout_pkcs7_st
  - pkcs7_st::default
  - bindgen_test_layout_pkcs7_signed_st
  - pkcs7_signed_st::default
  - bindgen_test_layout_pkcs7_signer_info_st
  - pkcs7_signer_info_st::default
  - bindgen_test_layout_pkcs7_sign_envelope_st
  - pkcs7_sign_envelope_st::default
  - bindgen_test_layout_pkcs7_envelope_st
  - pkcs7_envelope_st::default
  - bindgen_test_layout_pkcs7_recip_info_st
  - pkcs7_recip_info_st::default
  - bindgen_test_layout_pkcs7_issuer_and_serial_st
  - pkcs7_issuer_and_serial_st::default
  - bindgen_test_layout_otherName_st
  - otherName_st::default
  - bindgen_test_layout_EDIPartyName_st
  - EDIPartyName_st::default
  - bindgen_test_layout_GENERAL_NAME_st__bindgen_ty_1
  - GENERAL_NAME_st__bindgen_ty_1::default
  - bindgen_test_layout_GENERAL_NAME_st
  - GENERAL_NAME_st::default
  - bindgen_test_layout_Netscape_spki_st
  - Netscape_spki_st::default
  - bindgen_test_layout_Netscape_spkac_st
  - Netscape_spkac_st::default
  - bindgen_test_layout_rsa_pss_params_st
  - rsa_pss_params_st::default
  - bindgen_test_layout_private_key_st
  - private_key_st::default
  - bindgen_test_layout_X509_info_st
  - X509_info_st::default
  - bindgen_test_layout_v3_ext_method
  - v3_ext_method::default
  - bindgen_test_layout_v3_ext_ctx
  - v3_ext_ctx::default
  - bindgen_test_layout_x509_purpose_st
  - x509_purpose_st::default
  - bindgen_test_layout_X509_algor_st
  - X509_algor_st::default
  - bindgen_test_layout_x509_trust_st
  - x509_trust_st::default
  - bindgen_test_layout_BASIC_CONSTRAINTS_st
  - BASIC_CONSTRAINTS_st::default
  - bindgen_test_layout_ACCESS_DESCRIPTION_st
  - ACCESS_DESCRIPTION_st::default
  - bindgen_test_layout_DIST_POINT_NAME_st__bindgen_ty_1
  - DIST_POINT_NAME_st__bindgen_ty_1::default
  - bindgen_test_layout_DIST_POINT_NAME_st
  - DIST_POINT_NAME_st::default
  - bindgen_test_layout_DIST_POINT_st
  - DIST_POINT_st::default
  - bindgen_test_layout_AUTHORITY_KEYID_st
  - AUTHORITY_KEYID_st::default
  - bindgen_test_layout_NOTICEREF_st
  - NOTICEREF_st::default
  - bindgen_test_layout_USERNOTICE_st
  - USERNOTICE_st::default
  - bindgen_test_layout_POLICYQUALINFO_st__bindgen_ty_1
  - POLICYQUALINFO_st__bindgen_ty_1::default
  - bindgen_test_layout_POLICYQUALINFO_st
  - POLICYQUALINFO_st::default
  - bindgen_test_layout_POLICYINFO_st
  - POLICYINFO_st::default
  - bindgen_test_layout_POLICY_MAPPING_st
  - POLICY_MAPPING_st::default
  - bindgen_test_layout_GENERAL_SUBTREE_st
  - GENERAL_SUBTREE_st::default
  - bindgen_test_layout_NAME_CONSTRAINTS_st
  - NAME_CONSTRAINTS_st::default
  - bindgen_test_layout_POLICY_CONSTRAINTS_st
  - POLICY_CONSTRAINTS_st::default
  - bindgen_test_layout_ISSUING_DIST_POINT_st
  - ISSUING_DIST_POINT_st::default
  - bindgen_test_layout_rand_meth_st
  - bindgen_test_layout_rc4_key_st
  - rc4_key_st::default
  - bindgen_test_layout_RIPEMD160state_st
  - RIPEMD160state_st::default
  - bindgen_test_layout_trust_token_st
  - trust_token_st::default
  - bindgen_test_layout___va_list_tag
  - __va_list_tag::default
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/x86_64_apple_darwin_crypto.rs
- function_names:
  - __BindgenBitfieldUnit::new
  - __BindgenBitfieldUnit::extract_bit
  - __BindgenBitfieldUnit::get_bit
  - __BindgenBitfieldUnit::raw_get_bit
  - __BindgenBitfieldUnit::change_bit
  - __BindgenBitfieldUnit::set_bit
  - __BindgenBitfieldUnit::raw_set_bit
  - __BindgenBitfieldUnit::get
  - __BindgenBitfieldUnit::raw_get
  - __BindgenBitfieldUnit::set
  - __BindgenBitfieldUnit::raw_set
  - bindgen_test_layout__opaque_pthread_rwlock_t
  - _opaque_pthread_rwlock_t::default
  - bindgen_test_layout_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::set_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::set_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::new_bitfield_1
  - bindgen_test_layout_aes_key_st
  - aes_key_st::default
  - bindgen_test_layout_tm
  - tm::default
  - bindgen_test_layout___sbuf
  - __sbuf::default
  - bindgen_test_layout___sFILE
  - __sFILE::default
  - bindgen_test_layout_buf_mem_st
  - buf_mem_st::default
  - bindgen_test_layout_sha_state_st
  - sha_state_st::default
  - bindgen_test_layout_sha256_state_st
  - sha256_state_st::default
  - bindgen_test_layout_sha512_state_st
  - sha512_state_st::default
  - bindgen_test_layout_CRYPTO_dynlock
  - CRYPTO_dynlock::default
  - bindgen_test_layout_crypto_ex_data_st
  - crypto_ex_data_st::default
  - bindgen_test_layout_bio_method_st
  - bio_method_st::default
  - bindgen_test_layout_bio_st
  - bio_st::default
  - bindgen_test_layout_bn_gencb_st__bindgen_ty_1
  - bn_gencb_st__bindgen_ty_1::default
  - bindgen_test_layout_bn_gencb_st
  - bn_gencb_st::default
  - bindgen_test_layout_bignum_st
  - bignum_st::default
  - bindgen_test_layout_bn_mont_ctx_st
  - bn_mont_ctx_st::default
  - bindgen_test_layout_asn1_string_st
  - asn1_string_st::default
  - bindgen_test_layout_asn1_type_st__bindgen_ty_1
  - asn1_type_st__bindgen_ty_1::default
  - bindgen_test_layout_asn1_type_st
  - asn1_type_st::default
  - bindgen_test_layout_ASN1_TEMPLATE_st
  - ASN1_TEMPLATE_st::default
  - bindgen_test_layout_ASN1_ADB_st
  - ASN1_ADB_st::default
  - bindgen_test_layout_ASN1_ADB_TABLE_st
  - ASN1_ADB_TABLE_st::default
  - bindgen_test_layout_ASN1_ITEM_st
  - ASN1_ITEM_st::default
  - bindgen_test_layout_ASN1_EXTERN_FUNCS_st
  - ASN1_EXTERN_FUNCS_st::default
  - bindgen_test_layout_ASN1_AUX_st
  - ASN1_AUX_st::default
  - bindgen_test_layout_evp_encode_ctx_st
  - evp_encode_ctx_st::default
  - bindgen_test_layout_blake2b_state_st
  - blake2b_state_st::default
  - bindgen_test_layout_bf_key_st
  - bf_key_st::default
  - bindgen_test_layout_cbs_st
  - cbs_st::default
  - bindgen_test_layout_cbb_buffer_st
  - cbb_buffer_st::default
  - cbb_buffer_st::can_resize
  - cbb_buffer_st::set_can_resize
  - cbb_buffer_st::can_resize_raw
  - cbb_buffer_st::set_can_resize_raw
  - cbb_buffer_st::error
  - cbb_buffer_st::set_error
  - cbb_buffer_st::error_raw
  - cbb_buffer_st::set_error_raw
  - cbb_buffer_st::new_bitfield_1
  - bindgen_test_layout_cbb_child_st
  - cbb_child_st::default
  - cbb_child_st::pending_is_asn1
  - cbb_child_st::set_pending_is_asn1
  - cbb_child_st::pending_is_asn1_raw
  - cbb_child_st::set_pending_is_asn1_raw
  - cbb_child_st::new_bitfield_1
  - bindgen_test_layout_cbb_st__bindgen_ty_1
  - cbb_st__bindgen_ty_1::default
  - bindgen_test_layout_cbb_st
  - cbb_st::default
  - bindgen_test_layout_evp_cipher_ctx_st
  - evp_cipher_ctx_st::default
  - bindgen_test_layout_evp_cipher_info_st
  - evp_cipher_info_st::default
  - bindgen_test_layout_conf_value_st
  - conf_value_st::default
  - bindgen_test_layout_conf_st
  - conf_st::default
  - bindgen_test_layout_DES_cblock_st
  - bindgen_test_layout_DES_ks
  - bindgen_test_layout_env_md_ctx_st
  - env_md_ctx_st::default
  - bindgen_test_layout_DSA_SIG_st
  - DSA_SIG_st::default
  - bindgen_test_layout_EC_builtin_curve
  - EC_builtin_curve::default
  - bindgen_test_layout_ecdsa_sig_st
  - ecdsa_sig_st::default
  - bindgen_test_layout_evp_aead_ctx_st_state
  - evp_aead_ctx_st_state::default
  - bindgen_test_layout_evp_aead_ctx_st
  - evp_aead_ctx_st::default
  - bindgen_test_layout_obj_name_st
  - obj_name_st::default
  - bindgen_test_layout_md5_state_st
  - md5_state_st::default
  - bindgen_test_layout_md_ctx_union
  - md_ctx_union::default
  - bindgen_test_layout_hmac_ctx_st
  - hmac_ctx_st::default
  - bindgen_test_layout_evp_hpke_ctx_st
  - evp_hpke_ctx_st::default
  - bindgen_test_layout_evp_hpke_key_st
  - evp_hpke_key_st::default
  - bindgen_test_layout_HRSS_private_key
  - HRSS_private_key::default
  - bindgen_test_layout_HRSS_public_key
  - HRSS_public_key::default
  - bindgen_test_layout_md4_state_st
  - md4_state_st::default
  - bindgen_test_layout_pkcs7_st__bindgen_ty_1
  - pkcs7_st__bindgen_ty_1::default
  - bindgen_test_layout_pkcs7_st
  - pkcs7_st::default
  - bindgen_test_layout_pkcs7_signed_st
  - pkcs7_signed_st::default
  - bindgen_test_layout_pkcs7_signer_info_st
  - pkcs7_signer_info_st::default
  - bindgen_test_layout_pkcs7_sign_envelope_st
  - pkcs7_sign_envelope_st::default
  - bindgen_test_layout_pkcs7_envelope_st
  - pkcs7_envelope_st::default
  - bindgen_test_layout_pkcs7_recip_info_st
  - pkcs7_recip_info_st::default
  - bindgen_test_layout_pkcs7_issuer_and_serial_st
  - pkcs7_issuer_and_serial_st::default
  - bindgen_test_layout_otherName_st
  - otherName_st::default
  - bindgen_test_layout_EDIPartyName_st
  - EDIPartyName_st::default
  - bindgen_test_layout_GENERAL_NAME_st__bindgen_ty_1
  - GENERAL_NAME_st__bindgen_ty_1::default
  - bindgen_test_layout_GENERAL_NAME_st
  - GENERAL_NAME_st::default
  - bindgen_test_layout_Netscape_spki_st
  - Netscape_spki_st::default
  - bindgen_test_layout_Netscape_spkac_st
  - Netscape_spkac_st::default
  - bindgen_test_layout_rsa_pss_params_st
  - rsa_pss_params_st::default
  - bindgen_test_layout_private_key_st
  - private_key_st::default
  - bindgen_test_layout_X509_info_st
  - X509_info_st::default
  - bindgen_test_layout_v3_ext_method
  - v3_ext_method::default
  - bindgen_test_layout_v3_ext_ctx
  - v3_ext_ctx::default
  - bindgen_test_layout_x509_purpose_st
  - x509_purpose_st::default
  - bindgen_test_layout_X509_algor_st
  - X509_algor_st::default
  - bindgen_test_layout_x509_trust_st
  - x509_trust_st::default
  - bindgen_test_layout_BASIC_CONSTRAINTS_st
  - BASIC_CONSTRAINTS_st::default
  - bindgen_test_layout_ACCESS_DESCRIPTION_st
  - ACCESS_DESCRIPTION_st::default
  - bindgen_test_layout_DIST_POINT_NAME_st__bindgen_ty_1
  - DIST_POINT_NAME_st__bindgen_ty_1::default
  - bindgen_test_layout_DIST_POINT_NAME_st
  - DIST_POINT_NAME_st::default
  - bindgen_test_layout_DIST_POINT_st
  - DIST_POINT_st::default
  - bindgen_test_layout_AUTHORITY_KEYID_st
  - AUTHORITY_KEYID_st::default
  - bindgen_test_layout_NOTICEREF_st
  - NOTICEREF_st::default
  - bindgen_test_layout_USERNOTICE_st
  - USERNOTICE_st::default
  - bindgen_test_layout_POLICYQUALINFO_st__bindgen_ty_1
  - POLICYQUALINFO_st__bindgen_ty_1::default
  - bindgen_test_layout_POLICYQUALINFO_st
  - POLICYQUALINFO_st::default
  - bindgen_test_layout_POLICYINFO_st
  - POLICYINFO_st::default
  - bindgen_test_layout_POLICY_MAPPING_st
  - POLICY_MAPPING_st::default
  - bindgen_test_layout_GENERAL_SUBTREE_st
  - GENERAL_SUBTREE_st::default
  - bindgen_test_layout_NAME_CONSTRAINTS_st
  - NAME_CONSTRAINTS_st::default
  - bindgen_test_layout_POLICY_CONSTRAINTS_st
  - POLICY_CONSTRAINTS_st::default
  - bindgen_test_layout_ISSUING_DIST_POINT_st
  - ISSUING_DIST_POINT_st::default
  - bindgen_test_layout_rand_meth_st
  - bindgen_test_layout_rc4_key_st
  - rc4_key_st::default
  - bindgen_test_layout_RIPEMD160state_st
  - RIPEMD160state_st::default
  - bindgen_test_layout_trust_token_st
  - trust_token_st::default
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_apple_darwin_crypto.rs
- function_names:
  - __BindgenBitfieldUnit::new
  - __BindgenBitfieldUnit::extract_bit
  - __BindgenBitfieldUnit::get_bit
  - __BindgenBitfieldUnit::raw_get_bit
  - __BindgenBitfieldUnit::change_bit
  - __BindgenBitfieldUnit::set_bit
  - __BindgenBitfieldUnit::raw_set_bit
  - __BindgenBitfieldUnit::get
  - __BindgenBitfieldUnit::raw_get
  - __BindgenBitfieldUnit::set
  - __BindgenBitfieldUnit::raw_set
  - bindgen_test_layout_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::set_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::set_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::new_bitfield_1
  - bindgen_test_layout_aes_key_st
  - aes_key_st::default
  - bindgen_test_layout_tm
  - bindgen_test_layout__iobuf
  - _iobuf::default
  - bindgen_test_layout_buf_mem_st
  - buf_mem_st::default
  - bindgen_test_layout_sha_state_st
  - sha_state_st::default
  - bindgen_test_layout_sha256_state_st
  - sha256_state_st::default
  - bindgen_test_layout_sha512_state_st
  - sha512_state_st::default
  - bindgen_test_layout_crypto_mutex_st
  - crypto_mutex_st::default
  - bindgen_test_layout_CRYPTO_dynlock
  - CRYPTO_dynlock::default
  - bindgen_test_layout_crypto_ex_data_st
  - crypto_ex_data_st::default
  - bindgen_test_layout_bio_method_st
  - bio_method_st::default
  - bindgen_test_layout_bio_st
  - bio_st::default
  - bindgen_test_layout_bn_gencb_st__bindgen_ty_1
  - bn_gencb_st__bindgen_ty_1::default
  - bindgen_test_layout_bn_gencb_st
  - bn_gencb_st::default
  - bindgen_test_layout_bignum_st
  - bignum_st::default
  - bindgen_test_layout_bn_mont_ctx_st
  - bn_mont_ctx_st::default
  - bindgen_test_layout_asn1_string_st
  - asn1_string_st::default
  - bindgen_test_layout_asn1_type_st__bindgen_ty_1
  - asn1_type_st__bindgen_ty_1::default
  - bindgen_test_layout_asn1_type_st
  - asn1_type_st::default
  - bindgen_test_layout_ASN1_TEMPLATE_st
  - ASN1_TEMPLATE_st::default
  - bindgen_test_layout_ASN1_ADB_st
  - ASN1_ADB_st::default
  - bindgen_test_layout_ASN1_ADB_TABLE_st
  - ASN1_ADB_TABLE_st::default
  - bindgen_test_layout_ASN1_ITEM_st
  - ASN1_ITEM_st::default
  - bindgen_test_layout_ASN1_EXTERN_FUNCS_st
  - ASN1_EXTERN_FUNCS_st::default
  - bindgen_test_layout_ASN1_AUX_st
  - ASN1_AUX_st::default
  - bindgen_test_layout_evp_encode_ctx_st
  - evp_encode_ctx_st::default
  - bindgen_test_layout_blake2b_state_st
  - blake2b_state_st::default
  - bindgen_test_layout_bf_key_st
  - bf_key_st::default
  - bindgen_test_layout_cbs_st
  - cbs_st::default
  - bindgen_test_layout_cbb_buffer_st
  - cbb_buffer_st::default
  - cbb_buffer_st::can_resize
  - cbb_buffer_st::set_can_resize
  - cbb_buffer_st::can_resize_raw
  - cbb_buffer_st::set_can_resize_raw
  - cbb_buffer_st::error
  - cbb_buffer_st::set_error
  - cbb_buffer_st::error_raw
  - cbb_buffer_st::set_error_raw
  - cbb_buffer_st::new_bitfield_1
  - bindgen_test_layout_cbb_child_st
  - cbb_child_st::default
  - cbb_child_st::pending_is_asn1
  - cbb_child_st::set_pending_is_asn1
  - cbb_child_st::pending_is_asn1_raw
  - cbb_child_st::set_pending_is_asn1_raw
  - cbb_child_st::new_bitfield_1
  - bindgen_test_layout_cbb_st__bindgen_ty_1
  - cbb_st__bindgen_ty_1::default
  - bindgen_test_layout_cbb_st
  - cbb_st::default
  - bindgen_test_layout_evp_cipher_ctx_st
  - evp_cipher_ctx_st::default
  - bindgen_test_layout_evp_cipher_info_st
  - evp_cipher_info_st::default
  - bindgen_test_layout_conf_value_st
  - conf_value_st::default
  - bindgen_test_layout_conf_st
  - conf_st::default
  - bindgen_test_layout_DES_cblock_st
  - bindgen_test_layout_DES_ks
  - bindgen_test_layout_env_md_ctx_st
  - env_md_ctx_st::default
  - bindgen_test_layout_DSA_SIG_st
  - DSA_SIG_st::default
  - bindgen_test_layout_EC_builtin_curve
  - EC_builtin_curve::default
  - bindgen_test_layout_ecdsa_sig_st
  - ecdsa_sig_st::default
  - bindgen_test_layout_evp_aead_ctx_st_state
  - evp_aead_ctx_st_state::default
  - bindgen_test_layout_evp_aead_ctx_st
  - evp_aead_ctx_st::default
  - bindgen_test_layout_obj_name_st
  - obj_name_st::default
  - bindgen_test_layout_md5_state_st
  - md5_state_st::default
  - bindgen_test_layout_md_ctx_union
  - md_ctx_union::default
  - bindgen_test_layout_hmac_ctx_st
  - hmac_ctx_st::default
  - bindgen_test_layout_evp_hpke_ctx_st
  - evp_hpke_ctx_st::default
  - bindgen_test_layout_evp_hpke_key_st
  - evp_hpke_key_st::default
  - bindgen_test_layout_HRSS_private_key
  - HRSS_private_key::default
  - bindgen_test_layout_HRSS_public_key
  - HRSS_public_key::default
  - bindgen_test_layout_md4_state_st
  - md4_state_st::default
  - bindgen_test_layout_pkcs7_st__bindgen_ty_1
  - pkcs7_st__bindgen_ty_1::default
  - bindgen_test_layout_pkcs7_st
  - pkcs7_st::default
  - bindgen_test_layout_pkcs7_signed_st
  - pkcs7_signed_st::default
  - bindgen_test_layout_pkcs7_signer_info_st
  - pkcs7_signer_info_st::default
  - bindgen_test_layout_pkcs7_sign_envelope_st
  - pkcs7_sign_envelope_st::default
  - bindgen_test_layout_pkcs7_envelope_st
  - pkcs7_envelope_st::default
  - bindgen_test_layout_pkcs7_recip_info_st
  - pkcs7_recip_info_st::default
  - bindgen_test_layout_pkcs7_issuer_and_serial_st
  - pkcs7_issuer_and_serial_st::default
  - bindgen_test_layout_otherName_st
  - otherName_st::default
  - bindgen_test_layout_EDIPartyName_st
  - EDIPartyName_st::default
  - bindgen_test_layout_GENERAL_NAME_st__bindgen_ty_1
  - GENERAL_NAME_st__bindgen_ty_1::default
  - bindgen_test_layout_GENERAL_NAME_st
  - GENERAL_NAME_st::default
  - bindgen_test_layout_Netscape_spki_st
  - Netscape_spki_st::default
  - bindgen_test_layout_Netscape_spkac_st
  - Netscape_spkac_st::default
  - bindgen_test_layout_rsa_pss_params_st
  - rsa_pss_params_st::default
  - bindgen_test_layout_private_key_st
  - private_key_st::default
  - bindgen_test_layout_X509_info_st
  - X509_info_st::default
  - bindgen_test_layout_v3_ext_method
  - v3_ext_method::default
  - bindgen_test_layout_v3_ext_ctx
  - v3_ext_ctx::default
  - bindgen_test_layout_x509_purpose_st
  - x509_purpose_st::default
  - bindgen_test_layout_X509_algor_st
  - X509_algor_st::default
  - bindgen_test_layout_x509_trust_st
  - x509_trust_st::default
  - bindgen_test_layout_BASIC_CONSTRAINTS_st
  - BASIC_CONSTRAINTS_st::default
  - bindgen_test_layout_ACCESS_DESCRIPTION_st
  - ACCESS_DESCRIPTION_st::default
  - bindgen_test_layout_DIST_POINT_NAME_st__bindgen_ty_1
  - DIST_POINT_NAME_st__bindgen_ty_1::default
  - bindgen_test_layout_DIST_POINT_NAME_st
  - DIST_POINT_NAME_st::default
  - bindgen_test_layout_DIST_POINT_st
  - DIST_POINT_st::default
  - bindgen_test_layout_AUTHORITY_KEYID_st
  - AUTHORITY_KEYID_st::default
  - bindgen_test_layout_NOTICEREF_st
  - NOTICEREF_st::default
  - bindgen_test_layout_USERNOTICE_st
  - USERNOTICE_st::default
  - bindgen_test_layout_POLICYQUALINFO_st__bindgen_ty_1
  - POLICYQUALINFO_st__bindgen_ty_1::default
  - bindgen_test_layout_POLICYQUALINFO_st
  - POLICYQUALINFO_st::default
  - bindgen_test_layout_POLICYINFO_st
  - POLICYINFO_st::default
  - bindgen_test_layout_POLICY_MAPPING_st
  - POLICY_MAPPING_st::default
  - bindgen_test_layout_GENERAL_SUBTREE_st
  - GENERAL_SUBTREE_st::default
  - bindgen_test_layout_NAME_CONSTRAINTS_st
  - NAME_CONSTRAINTS_st::default
  - bindgen_test_layout_POLICY_CONSTRAINTS_st
  - POLICY_CONSTRAINTS_st::default
  - bindgen_test_layout_ISSUING_DIST_POINT_st
  - ISSUING_DIST_POINT_st::default
  - bindgen_test_layout_rand_meth_st
  - bindgen_test_layout_rc4_key_st
  - rc4_key_st::default
  - bindgen_test_layout_RIPEMD160state_st
  - RIPEMD160state_st::default
  - bindgen_test_layout_trust_token_st
  - trust_token_st::default
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_pc_windows_msvc_crypto.rs
- function_names:
  - __BindgenBitfieldUnit::new
  - __BindgenBitfieldUnit::extract_bit
  - __BindgenBitfieldUnit::get_bit
  - __BindgenBitfieldUnit::raw_get_bit
  - __BindgenBitfieldUnit::change_bit
  - __BindgenBitfieldUnit::set_bit
  - __BindgenBitfieldUnit::raw_set_bit
  - __BindgenBitfieldUnit::get
  - __BindgenBitfieldUnit::raw_get
  - __BindgenBitfieldUnit::set
  - __BindgenBitfieldUnit::raw_set
  - bindgen_test_layout_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::set_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::set_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::new_bitfield_1
  - bindgen_test_layout_aes_key_st
  - aes_key_st::default
  - bindgen_test_layout___sbuf
  - __sbuf::default
  - bindgen_test_layout_buf_mem_st
  - buf_mem_st::default
  - bindgen_test_layout_sha_state_st
  - sha_state_st::default
  - bindgen_test_layout_sha256_state_st
  - sha256_state_st::default
  - bindgen_test_layout_sha512_state_st
  - sha512_state_st::default
  - bindgen_test_layout_crypto_ex_data_st
  - crypto_ex_data_st::default
  - bindgen_test_layout_bio_method_st
  - bio_method_st::default
  - bindgen_test_layout_bio_st
  - bio_st::default
  - bindgen_test_layout_bn_gencb_st__bindgen_ty_1
  - bn_gencb_st__bindgen_ty_1::default
  - bindgen_test_layout_bn_gencb_st
  - bn_gencb_st::default
  - bindgen_test_layout_bignum_st
  - bignum_st::default
  - bindgen_test_layout_bn_mont_ctx_st
  - bn_mont_ctx_st::default
  - bindgen_test_layout_asn1_string_st
  - asn1_string_st::default
  - bindgen_test_layout_asn1_type_st__bindgen_ty_1
  - asn1_type_st__bindgen_ty_1::default
  - bindgen_test_layout_asn1_type_st
  - asn1_type_st::default
  - bindgen_test_layout_ASN1_TEMPLATE_st
  - ASN1_TEMPLATE_st::default
  - bindgen_test_layout_ASN1_ITEM_st
  - ASN1_ITEM_st::default
  - bindgen_test_layout_evp_encode_ctx_st
  - evp_encode_ctx_st::default
  - bindgen_test_layout_blake2b_state_st
  - blake2b_state_st::default
  - bindgen_test_layout_cbs_st
  - cbs_st::default
  - bindgen_test_layout_cbb_buffer_st
  - cbb_buffer_st::default
  - cbb_buffer_st::can_resize
  - cbb_buffer_st::set_can_resize
  - cbb_buffer_st::can_resize_raw
  - cbb_buffer_st::set_can_resize_raw
  - cbb_buffer_st::error
  - cbb_buffer_st::set_error
  - cbb_buffer_st::error_raw
  - cbb_buffer_st::set_error_raw
  - cbb_buffer_st::new_bitfield_1
  - bindgen_test_layout_cbb_child_st
  - cbb_child_st::default
  - cbb_child_st::pending_is_asn1
  - cbb_child_st::set_pending_is_asn1
  - cbb_child_st::pending_is_asn1_raw
  - cbb_child_st::set_pending_is_asn1_raw
  - cbb_child_st::new_bitfield_1
  - bindgen_test_layout_cbb_st__bindgen_ty_1
  - cbb_st__bindgen_ty_1::default
  - bindgen_test_layout_cbb_st
  - cbb_st::default
  - bindgen_test_layout_evp_cipher_ctx_st
  - evp_cipher_ctx_st::default
  - bindgen_test_layout_evp_cipher_info_st
  - evp_cipher_info_st::default
  - bindgen_test_layout_conf_value_st
  - conf_value_st::default
  - bindgen_test_layout_conf_st
  - conf_st::default
  - bindgen_test_layout_env_md_ctx_st
  - env_md_ctx_st::default
  - bindgen_test_layout_DSA_SIG_st
  - DSA_SIG_st::default
  - bindgen_test_layout_EC_builtin_curve
  - EC_builtin_curve::default
  - bindgen_test_layout_ecdsa_sig_st
  - ecdsa_sig_st::default
  - bindgen_test_layout_evp_aead_ctx_st_state
  - evp_aead_ctx_st_state::default
  - bindgen_test_layout_evp_aead_ctx_st
  - evp_aead_ctx_st::default
  - bindgen_test_layout_md5_state_st
  - md5_state_st::default
  - bindgen_test_layout_md_ctx_union
  - md_ctx_union::default
  - bindgen_test_layout_hmac_ctx_st
  - hmac_ctx_st::default
  - bindgen_test_layout_evp_hpke_ctx_st
  - evp_hpke_ctx_st::default
  - bindgen_test_layout_evp_hpke_key_st
  - evp_hpke_key_st::default
  - bindgen_test_layout_md4_state_st
  - md4_state_st::default
  - bindgen_test_layout_pkcs7_st__bindgen_ty_1
  - pkcs7_st__bindgen_ty_1::default
  - bindgen_test_layout_pkcs7_st
  - pkcs7_st::default
  - bindgen_test_layout_pkcs7_signed_st
  - pkcs7_signed_st::default
  - bindgen_test_layout_pkcs7_signer_info_st
  - pkcs7_signer_info_st::default
  - bindgen_test_layout_pkcs7_sign_envelope_st
  - pkcs7_sign_envelope_st::default
  - bindgen_test_layout_pkcs7_envelope_st
  - pkcs7_envelope_st::default
  - bindgen_test_layout_pkcs7_recip_info_st
  - pkcs7_recip_info_st::default
  - bindgen_test_layout_pkcs7_issuer_and_serial_st
  - pkcs7_issuer_and_serial_st::default
  - bindgen_test_layout_otherName_st
  - otherName_st::default
  - bindgen_test_layout_EDIPartyName_st
  - EDIPartyName_st::default
  - bindgen_test_layout_GENERAL_NAME_st__bindgen_ty_1
  - GENERAL_NAME_st__bindgen_ty_1::default
  - bindgen_test_layout_GENERAL_NAME_st
  - GENERAL_NAME_st::default
  - bindgen_test_layout_Netscape_spki_st
  - Netscape_spki_st::default
  - bindgen_test_layout_Netscape_spkac_st
  - Netscape_spkac_st::default
  - bindgen_test_layout_rsa_pss_params_st
  - rsa_pss_params_st::default
  - bindgen_test_layout_private_key_st
  - private_key_st::default
  - bindgen_test_layout_X509_info_st
  - X509_info_st::default
  - bindgen_test_layout_v3_ext_method
  - v3_ext_method::default
  - bindgen_test_layout_v3_ext_ctx
  - v3_ext_ctx::default
  - bindgen_test_layout_X509_algor_st
  - X509_algor_st::default
  - bindgen_test_layout_x509_trust_st
  - x509_trust_st::default
  - bindgen_test_layout_BASIC_CONSTRAINTS_st
  - BASIC_CONSTRAINTS_st::default
  - bindgen_test_layout_DIST_POINT_NAME_st__bindgen_ty_1
  - DIST_POINT_NAME_st__bindgen_ty_1::default
  - bindgen_test_layout_DIST_POINT_NAME_st
  - DIST_POINT_NAME_st::default
  - bindgen_test_layout_DIST_POINT_st
  - DIST_POINT_st::default
  - bindgen_test_layout_AUTHORITY_KEYID_st
  - AUTHORITY_KEYID_st::default
  - bindgen_test_layout_NAME_CONSTRAINTS_st
  - NAME_CONSTRAINTS_st::default
  - bindgen_test_layout_ISSUING_DIST_POINT_st
  - ISSUING_DIST_POINT_st::default
  - bindgen_test_layout_rand_meth_st
  - bindgen_test_layout_rc4_key_st
  - rc4_key_st::default
  - bindgen_test_layout_RIPEMD160state_st
  - RIPEMD160state_st::default
  - bindgen_test_layout_trust_token_st
  - trust_token_st::default
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_prefixed_crypto.rs
- function_names:
  - __BindgenBitfieldUnit::new
  - __BindgenBitfieldUnit::extract_bit
  - __BindgenBitfieldUnit::get_bit
  - __BindgenBitfieldUnit::raw_get_bit
  - __BindgenBitfieldUnit::change_bit
  - __BindgenBitfieldUnit::set_bit
  - __BindgenBitfieldUnit::raw_set_bit
  - __BindgenBitfieldUnit::get
  - __BindgenBitfieldUnit::raw_get
  - __BindgenBitfieldUnit::set
  - __BindgenBitfieldUnit::raw_set
  - bindgen_test_layout_static_assertion_at_line_226_error_is_pointer_size_must_be_4_bytes_for_32_bit
  - static_assertion_at_line_226_error_is_pointer_size_must_be_4_bytes_for_32_bit::static_assertion_at_line_226_error_is_pointer_size_must_be_4_bytes_for_32_bit
  - static_assertion_at_line_226_error_is_pointer_size_must_be_4_bytes_for_32_bit::set_static_assertion_at_line_226_error_is_pointer_size_must_be_4_bytes_for_32_bit
  - static_assertion_at_line_226_error_is_pointer_size_must_be_4_bytes_for_32_bit::static_assertion_at_line_226_error_is_pointer_size_must_be_4_bytes_for_32_bit_raw
  - static_assertion_at_line_226_error_is_pointer_size_must_be_4_bytes_for_32_bit::set_static_assertion_at_line_226_error_is_pointer_size_must_be_4_bytes_for_32_bit_raw
  - static_assertion_at_line_226_error_is_pointer_size_must_be_4_bytes_for_32_bit::new_bitfield_1
  - bindgen_test_layout_aes_key_st
  - aes_key_st::default
  - bindgen_test_layout_tm
  - tm::default
  - bindgen_test_layout__IO_FILE
  - _IO_FILE::default
  - bindgen_test_layout_buf_mem_st
  - buf_mem_st::default
  - bindgen_test_layout_sha_state_st
  - sha_state_st::default
  - bindgen_test_layout_sha256_state_st
  - sha256_state_st::default
  - bindgen_test_layout_sha512_state_st
  - sha512_state_st::default
  - bindgen_test_layout_crypto_mutex_st
  - crypto_mutex_st::default
  - bindgen_test_layout_CRYPTO_dynlock
  - CRYPTO_dynlock::default
  - bindgen_test_layout_crypto_ex_data_st
  - crypto_ex_data_st::default
  - bindgen_test_layout_bio_method_st
  - bio_method_st::default
  - bindgen_test_layout_bio_st
  - bio_st::default
  - bindgen_test_layout_bn_gencb_st__bindgen_ty_1
  - bn_gencb_st__bindgen_ty_1::default
  - bindgen_test_layout_bn_gencb_st
  - bn_gencb_st::default
  - bindgen_test_layout_bignum_st
  - bignum_st::default
  - bindgen_test_layout_bn_mont_ctx_st
  - bn_mont_ctx_st::default
  - bindgen_test_layout_asn1_string_st
  - asn1_string_st::default
  - bindgen_test_layout_asn1_type_st__bindgen_ty_1
  - asn1_type_st__bindgen_ty_1::default
  - bindgen_test_layout_asn1_type_st
  - asn1_type_st::default
  - bindgen_test_layout_ASN1_TEMPLATE_st
  - ASN1_TEMPLATE_st::default
  - bindgen_test_layout_ASN1_ADB_st
  - ASN1_ADB_st::default
  - bindgen_test_layout_ASN1_ADB_TABLE_st
  - ASN1_ADB_TABLE_st::default
  - bindgen_test_layout_ASN1_ITEM_st
  - ASN1_ITEM_st::default
  - bindgen_test_layout_ASN1_EXTERN_FUNCS_st
  - ASN1_EXTERN_FUNCS_st::default
  - bindgen_test_layout_ASN1_AUX_st
  - ASN1_AUX_st::default
  - bindgen_test_layout_evp_encode_ctx_st
  - evp_encode_ctx_st::default
  - bindgen_test_layout_blake2b_state_st
  - blake2b_state_st::default
  - bindgen_test_layout_bf_key_st
  - bf_key_st::default
  - bindgen_test_layout_cbs_st
  - cbs_st::default
  - bindgen_test_layout_cbb_buffer_st
  - cbb_buffer_st::default
  - cbb_buffer_st::can_resize
  - cbb_buffer_st::set_can_resize
  - cbb_buffer_st::can_resize_raw
  - cbb_buffer_st::set_can_resize_raw
  - cbb_buffer_st::error
  - cbb_buffer_st::set_error
  - cbb_buffer_st::error_raw
  - cbb_buffer_st::set_error_raw
  - cbb_buffer_st::new_bitfield_1
  - bindgen_test_layout_cbb_child_st
  - cbb_child_st::default
  - cbb_child_st::pending_is_asn1
  - cbb_child_st::set_pending_is_asn1
  - cbb_child_st::pending_is_asn1_raw
  - cbb_child_st::set_pending_is_asn1_raw
  - cbb_child_st::new_bitfield_1
  - bindgen_test_layout_cbb_st__bindgen_ty_1
  - cbb_st__bindgen_ty_1::default
  - bindgen_test_layout_cbb_st
  - cbb_st::default
  - bindgen_test_layout_evp_cipher_ctx_st
  - evp_cipher_ctx_st::default
  - bindgen_test_layout_evp_cipher_info_st
  - evp_cipher_info_st::default
  - bindgen_test_layout_conf_value_st
  - conf_value_st::default
  - bindgen_test_layout_conf_st
  - conf_st::default
  - bindgen_test_layout_DES_cblock_st
  - bindgen_test_layout_DES_ks
  - bindgen_test_layout_env_md_ctx_st
  - env_md_ctx_st::default
  - bindgen_test_layout_DSA_SIG_st
  - DSA_SIG_st::default
  - bindgen_test_layout_EC_builtin_curve
  - EC_builtin_curve::default
  - bindgen_test_layout_ecdsa_sig_st
  - ecdsa_sig_st::default
  - bindgen_test_layout_evp_aead_ctx_st_state
  - evp_aead_ctx_st_state::default
  - bindgen_test_layout_evp_aead_ctx_st
  - evp_aead_ctx_st::default
  - bindgen_test_layout_obj_name_st
  - obj_name_st::default
  - bindgen_test_layout_md5_state_st
  - md5_state_st::default
  - bindgen_test_layout_md_ctx_union
  - md_ctx_union::default
  - bindgen_test_layout_hmac_ctx_st
  - hmac_ctx_st::default
  - bindgen_test_layout_evp_hpke_ctx_st
  - evp_hpke_ctx_st::default
  - bindgen_test_layout_evp_hpke_key_st
  - evp_hpke_key_st::default
  - bindgen_test_layout_HRSS_private_key
  - HRSS_private_key::default
  - bindgen_test_layout_HRSS_public_key
  - HRSS_public_key::default
  - bindgen_test_layout_md4_state_st
  - md4_state_st::default
  - bindgen_test_layout_pkcs7_st__bindgen_ty_1
  - pkcs7_st__bindgen_ty_1::default
  - bindgen_test_layout_pkcs7_st
  - pkcs7_st::default
  - bindgen_test_layout_pkcs7_signed_st
  - pkcs7_signed_st::default
  - bindgen_test_layout_pkcs7_signer_info_st
  - pkcs7_signer_info_st::default
  - bindgen_test_layout_pkcs7_sign_envelope_st
  - pkcs7_sign_envelope_st::default
  - bindgen_test_layout_pkcs7_envelope_st
  - pkcs7_envelope_st::default
  - bindgen_test_layout_pkcs7_recip_info_st
  - pkcs7_recip_info_st::default
  - bindgen_test_layout_pkcs7_issuer_and_serial_st
  - pkcs7_issuer_and_serial_st::default
  - bindgen_test_layout_otherName_st
  - otherName_st::default
  - bindgen_test_layout_EDIPartyName_st
  - EDIPartyName_st::default
  - bindgen_test_layout_GENERAL_NAME_st__bindgen_ty_1
  - GENERAL_NAME_st__bindgen_ty_1::default
  - bindgen_test_layout_GENERAL_NAME_st
  - GENERAL_NAME_st::default
  - bindgen_test_layout_Netscape_spki_st
  - Netscape_spki_st::default
  - bindgen_test_layout_Netscape_spkac_st
  - Netscape_spkac_st::default
  - bindgen_test_layout_rsa_pss_params_st
  - rsa_pss_params_st::default
  - bindgen_test_layout_private_key_st
  - private_key_st::default
  - bindgen_test_layout_X509_info_st
  - X509_info_st::default
  - bindgen_test_layout_v3_ext_method
  - v3_ext_method::default
  - bindgen_test_layout_v3_ext_ctx
  - v3_ext_ctx::default
  - bindgen_test_layout_x509_purpose_st
  - x509_purpose_st::default
  - bindgen_test_layout_X509_algor_st
  - X509_algor_st::default
  - bindgen_test_layout_x509_trust_st
  - x509_trust_st::default
  - bindgen_test_layout_BASIC_CONSTRAINTS_st
  - BASIC_CONSTRAINTS_st::default
  - bindgen_test_layout_ACCESS_DESCRIPTION_st
  - ACCESS_DESCRIPTION_st::default
  - bindgen_test_layout_DIST_POINT_NAME_st__bindgen_ty_1
  - DIST_POINT_NAME_st__bindgen_ty_1::default
  - bindgen_test_layout_DIST_POINT_NAME_st
  - DIST_POINT_NAME_st::default
  - bindgen_test_layout_DIST_POINT_st
  - DIST_POINT_st::default
  - bindgen_test_layout_AUTHORITY_KEYID_st
  - AUTHORITY_KEYID_st::default
  - bindgen_test_layout_NOTICEREF_st
  - NOTICEREF_st::default
  - bindgen_test_layout_USERNOTICE_st
  - USERNOTICE_st::default
  - bindgen_test_layout_POLICYQUALINFO_st__bindgen_ty_1
  - POLICYQUALINFO_st__bindgen_ty_1::default
  - bindgen_test_layout_POLICYQUALINFO_st
  - POLICYQUALINFO_st::default
  - bindgen_test_layout_POLICYINFO_st
  - POLICYINFO_st::default
  - bindgen_test_layout_POLICY_MAPPING_st
  - POLICY_MAPPING_st::default
  - bindgen_test_layout_GENERAL_SUBTREE_st
  - GENERAL_SUBTREE_st::default
  - bindgen_test_layout_NAME_CONSTRAINTS_st
  - NAME_CONSTRAINTS_st::default
  - bindgen_test_layout_POLICY_CONSTRAINTS_st
  - POLICY_CONSTRAINTS_st::default
  - bindgen_test_layout_ISSUING_DIST_POINT_st
  - ISSUING_DIST_POINT_st::default
  - bindgen_test_layout_rand_meth_st
  - bindgen_test_layout_rc4_key_st
  - rc4_key_st::default
  - bindgen_test_layout_RIPEMD160state_st
  - RIPEMD160state_st::default
  - bindgen_test_layout_trust_token_st
  - trust_token_st::default
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/i686_unknown_linux_gnu_crypto.rs
- function_names:
  - __BindgenBitfieldUnit::new
  - __BindgenBitfieldUnit::extract_bit
  - __BindgenBitfieldUnit::get_bit
  - __BindgenBitfieldUnit::raw_get_bit
  - __BindgenBitfieldUnit::change_bit
  - __BindgenBitfieldUnit::set_bit
  - __BindgenBitfieldUnit::raw_set_bit
  - __BindgenBitfieldUnit::get
  - __BindgenBitfieldUnit::raw_get
  - __BindgenBitfieldUnit::set
  - __BindgenBitfieldUnit::raw_set
  - bindgen_test_layout_pthread_rwlock_t__bindgen_ty_1
  - pthread_rwlock_t__bindgen_ty_1::default
  - bindgen_test_layout_pthread_rwlock_t
  - pthread_rwlock_t::default
  - bindgen_test_layout_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::set_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::set_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::new_bitfield_1
  - bindgen_test_layout_aes_key_st
  - aes_key_st::default
  - bindgen_test_layout_tm
  - tm::default
  - bindgen_test_layout_buf_mem_st
  - buf_mem_st::default
  - bindgen_test_layout_sha_state_st
  - sha_state_st::default
  - bindgen_test_layout_sha256_state_st
  - sha256_state_st::default
  - bindgen_test_layout_sha512_state_st
  - sha512_state_st::default
  - bindgen_test_layout_CRYPTO_dynlock
  - CRYPTO_dynlock::default
  - bindgen_test_layout_crypto_ex_data_st
  - crypto_ex_data_st::default
  - bindgen_test_layout_bio_method_st
  - bio_method_st::default
  - bindgen_test_layout_bio_st
  - bio_st::default
  - bindgen_test_layout_bn_gencb_st__bindgen_ty_1
  - bn_gencb_st__bindgen_ty_1::default
  - bindgen_test_layout_bn_gencb_st
  - bn_gencb_st::default
  - bindgen_test_layout_bignum_st
  - bignum_st::default
  - bindgen_test_layout_bn_mont_ctx_st
  - bn_mont_ctx_st::default
  - bindgen_test_layout_asn1_string_st
  - asn1_string_st::default
  - bindgen_test_layout_asn1_type_st__bindgen_ty_1
  - asn1_type_st__bindgen_ty_1::default
  - bindgen_test_layout_asn1_type_st
  - asn1_type_st::default
  - bindgen_test_layout_ASN1_TEMPLATE_st
  - ASN1_TEMPLATE_st::default
  - bindgen_test_layout_ASN1_ADB_st
  - ASN1_ADB_st::default
  - bindgen_test_layout_ASN1_ADB_TABLE_st
  - ASN1_ADB_TABLE_st::default
  - bindgen_test_layout_ASN1_ITEM_st
  - ASN1_ITEM_st::default
  - bindgen_test_layout_ASN1_EXTERN_FUNCS_st
  - ASN1_EXTERN_FUNCS_st::default
  - bindgen_test_layout_ASN1_AUX_st
  - ASN1_AUX_st::default
  - bindgen_test_layout_evp_encode_ctx_st
  - evp_encode_ctx_st::default
  - bindgen_test_layout_blake2b_state_st
  - blake2b_state_st::default
  - bindgen_test_layout_bf_key_st
  - bf_key_st::default
  - bindgen_test_layout_cbs_st
  - cbs_st::default
  - bindgen_test_layout_cbb_buffer_st
  - cbb_buffer_st::default
  - cbb_buffer_st::can_resize
  - cbb_buffer_st::set_can_resize
  - cbb_buffer_st::can_resize_raw
  - cbb_buffer_st::set_can_resize_raw
  - cbb_buffer_st::error
  - cbb_buffer_st::set_error
  - cbb_buffer_st::error_raw
  - cbb_buffer_st::set_error_raw
  - cbb_buffer_st::new_bitfield_1
  - bindgen_test_layout_cbb_child_st
  - cbb_child_st::default
  - cbb_child_st::pending_is_asn1
  - cbb_child_st::set_pending_is_asn1
  - cbb_child_st::pending_is_asn1_raw
  - cbb_child_st::set_pending_is_asn1_raw
  - cbb_child_st::new_bitfield_1
  - bindgen_test_layout_cbb_st__bindgen_ty_1
  - cbb_st__bindgen_ty_1::default
  - bindgen_test_layout_cbb_st
  - cbb_st::default
  - bindgen_test_layout_evp_cipher_ctx_st
  - evp_cipher_ctx_st::default
  - bindgen_test_layout_evp_cipher_info_st
  - evp_cipher_info_st::default
  - bindgen_test_layout_conf_value_st
  - conf_value_st::default
  - bindgen_test_layout_conf_st
  - conf_st::default
  - bindgen_test_layout_DES_cblock_st
  - bindgen_test_layout_DES_ks
  - bindgen_test_layout_env_md_ctx_st
  - env_md_ctx_st::default
  - bindgen_test_layout_DSA_SIG_st
  - DSA_SIG_st::default
  - bindgen_test_layout_EC_builtin_curve
  - EC_builtin_curve::default
  - bindgen_test_layout_ecdsa_sig_st
  - ecdsa_sig_st::default
  - bindgen_test_layout_evp_aead_ctx_st_state
  - evp_aead_ctx_st_state::default
  - bindgen_test_layout_evp_aead_ctx_st
  - evp_aead_ctx_st::default
  - bindgen_test_layout_obj_name_st
  - obj_name_st::default
  - bindgen_test_layout_md5_state_st
  - md5_state_st::default
  - bindgen_test_layout_md_ctx_union
  - md_ctx_union::default
  - bindgen_test_layout_hmac_ctx_st
  - hmac_ctx_st::default
  - bindgen_test_layout_evp_hpke_ctx_st
  - evp_hpke_ctx_st::default
  - bindgen_test_layout_evp_hpke_key_st
  - evp_hpke_key_st::default
  - bindgen_test_layout_HRSS_private_key
  - HRSS_private_key::default
  - bindgen_test_layout_HRSS_public_key
  - HRSS_public_key::default
  - bindgen_test_layout_md4_state_st
  - md4_state_st::default
  - bindgen_test_layout_pkcs7_st__bindgen_ty_1
  - pkcs7_st__bindgen_ty_1::default
  - bindgen_test_layout_pkcs7_st
  - pkcs7_st::default
  - bindgen_test_layout_pkcs7_signed_st
  - pkcs7_signed_st::default
  - bindgen_test_layout_pkcs7_signer_info_st
  - pkcs7_signer_info_st::default
  - bindgen_test_layout_pkcs7_sign_envelope_st
  - pkcs7_sign_envelope_st::default
  - bindgen_test_layout_pkcs7_envelope_st
  - pkcs7_envelope_st::default
  - bindgen_test_layout_pkcs7_recip_info_st
  - pkcs7_recip_info_st::default
  - bindgen_test_layout_pkcs7_issuer_and_serial_st
  - pkcs7_issuer_and_serial_st::default
  - bindgen_test_layout_otherName_st
  - otherName_st::default
  - bindgen_test_layout_EDIPartyName_st
  - EDIPartyName_st::default
  - bindgen_test_layout_GENERAL_NAME_st__bindgen_ty_1
  - GENERAL_NAME_st__bindgen_ty_1::default
  - bindgen_test_layout_GENERAL_NAME_st
  - GENERAL_NAME_st::default
  - bindgen_test_layout_Netscape_spki_st
  - Netscape_spki_st::default
  - bindgen_test_layout_Netscape_spkac_st
  - Netscape_spkac_st::default
  - bindgen_test_layout_rsa_pss_params_st
  - rsa_pss_params_st::default
  - bindgen_test_layout_private_key_st
  - private_key_st::default
  - bindgen_test_layout_X509_info_st
  - X509_info_st::default
  - bindgen_test_layout_v3_ext_method
  - v3_ext_method::default
  - bindgen_test_layout_v3_ext_ctx
  - v3_ext_ctx::default
  - bindgen_test_layout_x509_purpose_st
  - x509_purpose_st::default
  - bindgen_test_layout_X509_algor_st
  - X509_algor_st::default
  - bindgen_test_layout_x509_trust_st
  - x509_trust_st::default
  - bindgen_test_layout_BASIC_CONSTRAINTS_st
  - BASIC_CONSTRAINTS_st::default
  - bindgen_test_layout_ACCESS_DESCRIPTION_st
  - ACCESS_DESCRIPTION_st::default
  - bindgen_test_layout_DIST_POINT_NAME_st__bindgen_ty_1
  - DIST_POINT_NAME_st__bindgen_ty_1::default
  - bindgen_test_layout_DIST_POINT_NAME_st
  - DIST_POINT_NAME_st::default
  - bindgen_test_layout_DIST_POINT_st
  - DIST_POINT_st::default
  - bindgen_test_layout_AUTHORITY_KEYID_st
  - AUTHORITY_KEYID_st::default
  - bindgen_test_layout_NOTICEREF_st
  - NOTICEREF_st::default
  - bindgen_test_layout_USERNOTICE_st
  - USERNOTICE_st::default
  - bindgen_test_layout_POLICYQUALINFO_st__bindgen_ty_1
  - POLICYQUALINFO_st__bindgen_ty_1::default
  - bindgen_test_layout_POLICYQUALINFO_st
  - POLICYQUALINFO_st::default
  - bindgen_test_layout_POLICYINFO_st
  - POLICYINFO_st::default
  - bindgen_test_layout_POLICY_MAPPING_st
  - POLICY_MAPPING_st::default
  - bindgen_test_layout_GENERAL_SUBTREE_st
  - GENERAL_SUBTREE_st::default
  - bindgen_test_layout_NAME_CONSTRAINTS_st
  - NAME_CONSTRAINTS_st::default
  - bindgen_test_layout_POLICY_CONSTRAINTS_st
  - POLICY_CONSTRAINTS_st::default
  - bindgen_test_layout_ISSUING_DIST_POINT_st
  - ISSUING_DIST_POINT_st::default
  - bindgen_test_layout_rand_meth_st
  - bindgen_test_layout_rc4_key_st
  - rc4_key_st::default
  - bindgen_test_layout_RIPEMD160state_st
  - RIPEMD160state_st::default
  - bindgen_test_layout_trust_token_st
  - trust_token_st::default
  - bindgen_test_layout___va_list_tag
  - __va_list_tag::default
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/x86_64_unknown_linux_musl_crypto.rs
- function_names:
  - __BindgenBitfieldUnit::new
  - __BindgenBitfieldUnit::extract_bit
  - __BindgenBitfieldUnit::get_bit
  - __BindgenBitfieldUnit::raw_get_bit
  - __BindgenBitfieldUnit::change_bit
  - __BindgenBitfieldUnit::set_bit
  - __BindgenBitfieldUnit::raw_set_bit
  - __BindgenBitfieldUnit::get
  - __BindgenBitfieldUnit::raw_get
  - __BindgenBitfieldUnit::set
  - __BindgenBitfieldUnit::raw_set
  - bindgen_test_layout_static_assertion_at_line_226_error_is_pointer_size_must_be_4_bytes_for_32_bit
  - static_assertion_at_line_226_error_is_pointer_size_must_be_4_bytes_for_32_bit::static_assertion_at_line_226_error_is_pointer_size_must_be_4_bytes_for_32_bit
  - static_assertion_at_line_226_error_is_pointer_size_must_be_4_bytes_for_32_bit::set_static_assertion_at_line_226_error_is_pointer_size_must_be_4_bytes_for_32_bit
  - static_assertion_at_line_226_error_is_pointer_size_must_be_4_bytes_for_32_bit::static_assertion_at_line_226_error_is_pointer_size_must_be_4_bytes_for_32_bit_raw
  - static_assertion_at_line_226_error_is_pointer_size_must_be_4_bytes_for_32_bit::set_static_assertion_at_line_226_error_is_pointer_size_must_be_4_bytes_for_32_bit_raw
  - static_assertion_at_line_226_error_is_pointer_size_must_be_4_bytes_for_32_bit::new_bitfield_1
  - bindgen_test_layout_aes_key_st
  - aes_key_st::default
  - bindgen_test_layout_tm
  - bindgen_test_layout__iobuf
  - _iobuf::default
  - bindgen_test_layout_buf_mem_st
  - buf_mem_st::default
  - bindgen_test_layout_sha_state_st
  - sha_state_st::default
  - bindgen_test_layout_sha256_state_st
  - sha256_state_st::default
  - bindgen_test_layout_sha512_state_st
  - sha512_state_st::default
  - bindgen_test_layout_crypto_mutex_st
  - crypto_mutex_st::default
  - bindgen_test_layout_CRYPTO_dynlock
  - CRYPTO_dynlock::default
  - bindgen_test_layout_crypto_ex_data_st
  - crypto_ex_data_st::default
  - bindgen_test_layout_bio_method_st
  - bio_method_st::default
  - bindgen_test_layout_bio_st
  - bio_st::default
  - bindgen_test_layout_bn_gencb_st__bindgen_ty_1
  - bn_gencb_st__bindgen_ty_1::default
  - bindgen_test_layout_bn_gencb_st
  - bn_gencb_st::default
  - bindgen_test_layout_bignum_st
  - bignum_st::default
  - bindgen_test_layout_bn_mont_ctx_st
  - bn_mont_ctx_st::default
  - bindgen_test_layout_asn1_string_st
  - asn1_string_st::default
  - bindgen_test_layout_asn1_type_st__bindgen_ty_1
  - asn1_type_st__bindgen_ty_1::default
  - bindgen_test_layout_asn1_type_st
  - asn1_type_st::default
  - bindgen_test_layout_ASN1_TEMPLATE_st
  - ASN1_TEMPLATE_st::default
  - bindgen_test_layout_ASN1_ADB_st
  - ASN1_ADB_st::default
  - bindgen_test_layout_ASN1_ADB_TABLE_st
  - ASN1_ADB_TABLE_st::default
  - bindgen_test_layout_ASN1_ITEM_st
  - ASN1_ITEM_st::default
  - bindgen_test_layout_ASN1_EXTERN_FUNCS_st
  - ASN1_EXTERN_FUNCS_st::default
  - bindgen_test_layout_ASN1_AUX_st
  - ASN1_AUX_st::default
  - bindgen_test_layout_evp_encode_ctx_st
  - evp_encode_ctx_st::default
  - bindgen_test_layout_blake2b_state_st
  - blake2b_state_st::default
  - bindgen_test_layout_bf_key_st
  - bf_key_st::default
  - bindgen_test_layout_cbs_st
  - cbs_st::default
  - bindgen_test_layout_cbb_buffer_st
  - cbb_buffer_st::default
  - cbb_buffer_st::can_resize
  - cbb_buffer_st::set_can_resize
  - cbb_buffer_st::can_resize_raw
  - cbb_buffer_st::set_can_resize_raw
  - cbb_buffer_st::error
  - cbb_buffer_st::set_error
  - cbb_buffer_st::error_raw
  - cbb_buffer_st::set_error_raw
  - cbb_buffer_st::new_bitfield_1
  - bindgen_test_layout_cbb_child_st
  - cbb_child_st::default
  - cbb_child_st::pending_is_asn1
  - cbb_child_st::set_pending_is_asn1
  - cbb_child_st::pending_is_asn1_raw
  - cbb_child_st::set_pending_is_asn1_raw
  - cbb_child_st::new_bitfield_1
  - bindgen_test_layout_cbb_st__bindgen_ty_1
  - cbb_st__bindgen_ty_1::default
  - bindgen_test_layout_cbb_st
  - cbb_st::default
  - bindgen_test_layout_evp_cipher_ctx_st
  - evp_cipher_ctx_st::default
  - bindgen_test_layout_evp_cipher_info_st
  - evp_cipher_info_st::default
  - bindgen_test_layout_conf_value_st
  - conf_value_st::default
  - bindgen_test_layout_conf_st
  - conf_st::default
  - bindgen_test_layout_DES_cblock_st
  - bindgen_test_layout_DES_ks
  - bindgen_test_layout_env_md_ctx_st
  - env_md_ctx_st::default
  - bindgen_test_layout_DSA_SIG_st
  - DSA_SIG_st::default
  - bindgen_test_layout_EC_builtin_curve
  - EC_builtin_curve::default
  - bindgen_test_layout_ecdsa_sig_st
  - ecdsa_sig_st::default
  - bindgen_test_layout_evp_aead_ctx_st_state
  - evp_aead_ctx_st_state::default
  - bindgen_test_layout_evp_aead_ctx_st
  - evp_aead_ctx_st::default
  - bindgen_test_layout_obj_name_st
  - obj_name_st::default
  - bindgen_test_layout_md5_state_st
  - md5_state_st::default
  - bindgen_test_layout_md_ctx_union
  - md_ctx_union::default
  - bindgen_test_layout_hmac_ctx_st
  - hmac_ctx_st::default
  - bindgen_test_layout_evp_hpke_ctx_st
  - evp_hpke_ctx_st::default
  - bindgen_test_layout_evp_hpke_key_st
  - evp_hpke_key_st::default
  - bindgen_test_layout_HRSS_private_key
  - HRSS_private_key::default
  - bindgen_test_layout_HRSS_public_key
  - HRSS_public_key::default
  - bindgen_test_layout_md4_state_st
  - md4_state_st::default
  - bindgen_test_layout_pkcs7_st__bindgen_ty_1
  - pkcs7_st__bindgen_ty_1::default
  - bindgen_test_layout_pkcs7_st
  - pkcs7_st::default
  - bindgen_test_layout_pkcs7_signed_st
  - pkcs7_signed_st::default
  - bindgen_test_layout_pkcs7_signer_info_st
  - pkcs7_signer_info_st::default
  - bindgen_test_layout_pkcs7_sign_envelope_st
  - pkcs7_sign_envelope_st::default
  - bindgen_test_layout_pkcs7_envelope_st
  - pkcs7_envelope_st::default
  - bindgen_test_layout_pkcs7_recip_info_st
  - pkcs7_recip_info_st::default
  - bindgen_test_layout_pkcs7_issuer_and_serial_st
  - pkcs7_issuer_and_serial_st::default
  - bindgen_test_layout_otherName_st
  - otherName_st::default
  - bindgen_test_layout_EDIPartyName_st
  - EDIPartyName_st::default
  - bindgen_test_layout_GENERAL_NAME_st__bindgen_ty_1
  - GENERAL_NAME_st__bindgen_ty_1::default
  - bindgen_test_layout_GENERAL_NAME_st
  - GENERAL_NAME_st::default
  - bindgen_test_layout_Netscape_spki_st
  - Netscape_spki_st::default
  - bindgen_test_layout_Netscape_spkac_st
  - Netscape_spkac_st::default
  - bindgen_test_layout_rsa_pss_params_st
  - rsa_pss_params_st::default
  - bindgen_test_layout_private_key_st
  - private_key_st::default
  - bindgen_test_layout_X509_info_st
  - X509_info_st::default
  - bindgen_test_layout_v3_ext_method
  - v3_ext_method::default
  - bindgen_test_layout_v3_ext_ctx
  - v3_ext_ctx::default
  - bindgen_test_layout_x509_purpose_st
  - x509_purpose_st::default
  - bindgen_test_layout_X509_algor_st
  - X509_algor_st::default
  - bindgen_test_layout_x509_trust_st
  - x509_trust_st::default
  - bindgen_test_layout_BASIC_CONSTRAINTS_st
  - BASIC_CONSTRAINTS_st::default
  - bindgen_test_layout_ACCESS_DESCRIPTION_st
  - ACCESS_DESCRIPTION_st::default
  - bindgen_test_layout_DIST_POINT_NAME_st__bindgen_ty_1
  - DIST_POINT_NAME_st__bindgen_ty_1::default
  - bindgen_test_layout_DIST_POINT_NAME_st
  - DIST_POINT_NAME_st::default
  - bindgen_test_layout_DIST_POINT_st
  - DIST_POINT_st::default
  - bindgen_test_layout_AUTHORITY_KEYID_st
  - AUTHORITY_KEYID_st::default
  - bindgen_test_layout_NOTICEREF_st
  - NOTICEREF_st::default
  - bindgen_test_layout_USERNOTICE_st
  - USERNOTICE_st::default
  - bindgen_test_layout_POLICYQUALINFO_st__bindgen_ty_1
  - POLICYQUALINFO_st__bindgen_ty_1::default
  - bindgen_test_layout_POLICYQUALINFO_st
  - POLICYQUALINFO_st::default
  - bindgen_test_layout_POLICYINFO_st
  - POLICYINFO_st::default
  - bindgen_test_layout_POLICY_MAPPING_st
  - POLICY_MAPPING_st::default
  - bindgen_test_layout_GENERAL_SUBTREE_st
  - GENERAL_SUBTREE_st::default
  - bindgen_test_layout_NAME_CONSTRAINTS_st
  - NAME_CONSTRAINTS_st::default
  - bindgen_test_layout_POLICY_CONSTRAINTS_st
  - POLICY_CONSTRAINTS_st::default
  - bindgen_test_layout_ISSUING_DIST_POINT_st
  - ISSUING_DIST_POINT_st::default
  - bindgen_test_layout_rand_meth_st
  - bindgen_test_layout_rc4_key_st
  - rc4_key_st::default
  - bindgen_test_layout_RIPEMD160state_st
  - RIPEMD160state_st::default
  - bindgen_test_layout_trust_token_st
  - trust_token_st::default
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/i686_pc_windows_msvc_crypto.rs
- function_names:
  - use_bindings
  - platform_binding
  - ERR_GET_LIB
  - ERR_GET_REASON
  - ERR_GET_FUNC
  - BIO_get_mem_data
  - init
  - fips_version
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/lib.rs
- function_names:
  - __BindgenBitfieldUnit::new
  - __BindgenBitfieldUnit::extract_bit
  - __BindgenBitfieldUnit::get_bit
  - __BindgenBitfieldUnit::raw_get_bit
  - __BindgenBitfieldUnit::change_bit
  - __BindgenBitfieldUnit::set_bit
  - __BindgenBitfieldUnit::raw_set_bit
  - __BindgenBitfieldUnit::get
  - __BindgenBitfieldUnit::raw_get
  - __BindgenBitfieldUnit::set
  - __BindgenBitfieldUnit::raw_set
  - __BindgenOpaqueArray::default
  - bindgen_test_layout_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::set_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::set_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::new_bitfield_1
  - bindgen_test_layout_aes_key_st
  - aes_key_st::default
  - bindgen_test_layout_tm
  - tm::default
  - bindgen_test_layout__IO_FILE
  - _IO_FILE::default
  - bindgen_test_layout_buf_mem_st
  - buf_mem_st::default
  - bindgen_test_layout_sha_state_st
  - sha_state_st::default
  - bindgen_test_layout_sha256_state_st
  - sha256_state_st::default
  - bindgen_test_layout_sha512_state_st
  - sha512_state_st::default
  - bindgen_test_layout_crypto_mutex_st
  - crypto_mutex_st::default
  - bindgen_test_layout_CRYPTO_dynlock
  - CRYPTO_dynlock::default
  - bindgen_test_layout_crypto_ex_data_st
  - crypto_ex_data_st::default
  - bindgen_test_layout_bio_method_st
  - bio_method_st::default
  - bindgen_test_layout_bio_st
  - bio_st::default
  - bindgen_test_layout_bn_gencb_st__bindgen_ty_1
  - bn_gencb_st__bindgen_ty_1::default
  - bindgen_test_layout_bn_gencb_st
  - bn_gencb_st::default
  - bindgen_test_layout_bignum_st
  - bignum_st::default
  - bindgen_test_layout_bn_mont_ctx_st
  - bn_mont_ctx_st::default
  - bindgen_test_layout_asn1_string_st
  - asn1_string_st::default
  - bindgen_test_layout_asn1_type_st__bindgen_ty_1
  - asn1_type_st__bindgen_ty_1::default
  - bindgen_test_layout_asn1_type_st
  - asn1_type_st::default
  - bindgen_test_layout_ASN1_TEMPLATE_st
  - ASN1_TEMPLATE_st::default
  - bindgen_test_layout_ASN1_ADB_st
  - ASN1_ADB_st::default
  - bindgen_test_layout_ASN1_ADB_TABLE_st
  - ASN1_ADB_TABLE_st::default
  - bindgen_test_layout_ASN1_ITEM_st
  - ASN1_ITEM_st::default
  - bindgen_test_layout_ASN1_EXTERN_FUNCS_st
  - ASN1_EXTERN_FUNCS_st::default
  - bindgen_test_layout_ASN1_AUX_st
  - ASN1_AUX_st::default
  - bindgen_test_layout_evp_encode_ctx_st
  - evp_encode_ctx_st::default
  - bindgen_test_layout_blake2b_state_st
  - blake2b_state_st::default
  - bindgen_test_layout_bf_key_st
  - bf_key_st::default
  - bindgen_test_layout_cbs_st
  - cbs_st::default
  - bindgen_test_layout_cbb_buffer_st
  - cbb_buffer_st::default
  - cbb_buffer_st::can_resize
  - cbb_buffer_st::set_can_resize
  - cbb_buffer_st::can_resize_raw
  - cbb_buffer_st::set_can_resize_raw
  - cbb_buffer_st::error
  - cbb_buffer_st::set_error
  - cbb_buffer_st::error_raw
  - cbb_buffer_st::set_error_raw
  - cbb_buffer_st::new_bitfield_1
  - bindgen_test_layout_cbb_child_st
  - cbb_child_st::default
  - cbb_child_st::pending_is_asn1
  - cbb_child_st::set_pending_is_asn1
  - cbb_child_st::pending_is_asn1_raw
  - cbb_child_st::set_pending_is_asn1_raw
  - cbb_child_st::new_bitfield_1
  - bindgen_test_layout_cbb_st__bindgen_ty_1
  - cbb_st__bindgen_ty_1::default
  - bindgen_test_layout_cbb_st
  - cbb_st::default
  - bindgen_test_layout_evp_cipher_ctx_st
  - evp_cipher_ctx_st::default
  - bindgen_test_layout_evp_cipher_info_st
  - evp_cipher_info_st::default
  - bindgen_test_layout_conf_value_st
  - conf_value_st::default
  - bindgen_test_layout_conf_st
  - conf_st::default
  - bindgen_test_layout_DES_cblock_st
  - bindgen_test_layout_DES_ks
  - bindgen_test_layout_env_md_ctx_st
  - env_md_ctx_st::default
  - bindgen_test_layout_DSA_SIG_st
  - DSA_SIG_st::default
  - bindgen_test_layout_EC_builtin_curve
  - EC_builtin_curve::default
  - bindgen_test_layout_ecdsa_sig_st
  - ecdsa_sig_st::default
  - bindgen_test_layout_evp_aead_ctx_st_state
  - evp_aead_ctx_st_state::default
  - bindgen_test_layout_evp_aead_ctx_st
  - evp_aead_ctx_st::default
  - bindgen_test_layout_obj_name_st
  - obj_name_st::default
  - bindgen_test_layout_md5_state_st
  - md5_state_st::default
  - bindgen_test_layout_md_ctx_union
  - md_ctx_union::default
  - bindgen_test_layout_hmac_ctx_st
  - hmac_ctx_st::default
  - bindgen_test_layout_evp_hpke_ctx_st
  - evp_hpke_ctx_st::default
  - bindgen_test_layout_evp_hpke_key_st
  - evp_hpke_key_st::default
  - bindgen_test_layout_HRSS_private_key
  - HRSS_private_key::default
  - bindgen_test_layout_HRSS_public_key
  - HRSS_public_key::default
  - bindgen_test_layout_md4_state_st
  - md4_state_st::default
  - bindgen_test_layout_pkcs7_st__bindgen_ty_1
  - pkcs7_st__bindgen_ty_1::default
  - bindgen_test_layout_pkcs7_st
  - pkcs7_st::default
  - bindgen_test_layout_pkcs7_signed_st
  - pkcs7_signed_st::default
  - bindgen_test_layout_pkcs7_signer_info_st
  - pkcs7_signer_info_st::default
  - bindgen_test_layout_pkcs7_sign_envelope_st
  - pkcs7_sign_envelope_st::default
  - bindgen_test_layout_pkcs7_envelope_st
  - pkcs7_envelope_st::default
  - bindgen_test_layout_pkcs7_recip_info_st
  - pkcs7_recip_info_st::default
  - bindgen_test_layout_pkcs7_issuer_and_serial_st
  - pkcs7_issuer_and_serial_st::default
  - bindgen_test_layout_otherName_st
  - otherName_st::default
  - bindgen_test_layout_EDIPartyName_st
  - EDIPartyName_st::default
  - bindgen_test_layout_GENERAL_NAME_st__bindgen_ty_1
  - GENERAL_NAME_st__bindgen_ty_1::default
  - bindgen_test_layout_GENERAL_NAME_st
  - GENERAL_NAME_st::default
  - bindgen_test_layout_Netscape_spki_st
  - Netscape_spki_st::default
  - bindgen_test_layout_Netscape_spkac_st
  - Netscape_spkac_st::default
  - bindgen_test_layout_rsa_pss_params_st
  - rsa_pss_params_st::default
  - bindgen_test_layout_private_key_st
  - private_key_st::default
  - bindgen_test_layout_X509_info_st
  - X509_info_st::default
  - bindgen_test_layout_v3_ext_method
  - v3_ext_method::default
  - bindgen_test_layout_v3_ext_ctx
  - v3_ext_ctx::default
  - bindgen_test_layout_x509_purpose_st
  - x509_purpose_st::default
  - bindgen_test_layout_X509_algor_st
  - X509_algor_st::default
  - bindgen_test_layout_x509_trust_st
  - x509_trust_st::default
  - bindgen_test_layout_BASIC_CONSTRAINTS_st
  - BASIC_CONSTRAINTS_st::default
  - bindgen_test_layout_ACCESS_DESCRIPTION_st
  - ACCESS_DESCRIPTION_st::default
  - bindgen_test_layout_DIST_POINT_NAME_st__bindgen_ty_1
  - DIST_POINT_NAME_st__bindgen_ty_1::default
  - bindgen_test_layout_DIST_POINT_NAME_st
  - DIST_POINT_NAME_st::default
  - bindgen_test_layout_DIST_POINT_st
  - DIST_POINT_st::default
  - bindgen_test_layout_AUTHORITY_KEYID_st
  - AUTHORITY_KEYID_st::default
  - bindgen_test_layout_NOTICEREF_st
  - NOTICEREF_st::default
  - bindgen_test_layout_USERNOTICE_st
  - USERNOTICE_st::default
  - bindgen_test_layout_POLICYQUALINFO_st__bindgen_ty_1
  - POLICYQUALINFO_st__bindgen_ty_1::default
  - bindgen_test_layout_POLICYQUALINFO_st
  - POLICYQUALINFO_st::default
  - bindgen_test_layout_POLICYINFO_st
  - POLICYINFO_st::default
  - bindgen_test_layout_POLICY_MAPPING_st
  - POLICY_MAPPING_st::default
  - bindgen_test_layout_GENERAL_SUBTREE_st
  - GENERAL_SUBTREE_st::default
  - bindgen_test_layout_NAME_CONSTRAINTS_st
  - NAME_CONSTRAINTS_st::default
  - bindgen_test_layout_POLICY_CONSTRAINTS_st
  - POLICY_CONSTRAINTS_st::default
  - bindgen_test_layout_ISSUING_DIST_POINT_st
  - ISSUING_DIST_POINT_st::default
  - bindgen_test_layout_rand_meth_st
  - bindgen_test_layout_rc4_key_st
  - rc4_key_st::default
  - bindgen_test_layout_RIPEMD160state_st
  - RIPEMD160state_st::default
  - bindgen_test_layout_trust_token_st
  - trust_token_st::default
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_gnu_crypto.rs
- function_names:
  - __BindgenBitfieldUnit::new
  - __BindgenBitfieldUnit::extract_bit
  - __BindgenBitfieldUnit::get_bit
  - __BindgenBitfieldUnit::raw_get_bit
  - __BindgenBitfieldUnit::change_bit
  - __BindgenBitfieldUnit::set_bit
  - __BindgenBitfieldUnit::raw_set_bit
  - __BindgenBitfieldUnit::get
  - __BindgenBitfieldUnit::raw_get
  - __BindgenBitfieldUnit::set
  - __BindgenBitfieldUnit::raw_set
  - bindgen_test_layout_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::set_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::set_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::new_bitfield_1
  - bindgen_test_layout_aes_key_st
  - aes_key_st::default
  - bindgen_test_layout_tm
  - tm::default
  - bindgen_test_layout__IO_FILE
  - _IO_FILE::default
  - bindgen_test_layout_buf_mem_st
  - buf_mem_st::default
  - bindgen_test_layout_sha_state_st
  - sha_state_st::default
  - bindgen_test_layout_sha256_state_st
  - sha256_state_st::default
  - bindgen_test_layout_sha512_state_st
  - sha512_state_st::default
  - bindgen_test_layout_crypto_mutex_st
  - crypto_mutex_st::default
  - bindgen_test_layout_CRYPTO_dynlock
  - CRYPTO_dynlock::default
  - bindgen_test_layout_crypto_ex_data_st
  - crypto_ex_data_st::default
  - bindgen_test_layout_bio_method_st
  - bio_method_st::default
  - bindgen_test_layout_bio_st
  - bio_st::default
  - bindgen_test_layout_bn_gencb_st__bindgen_ty_1
  - bn_gencb_st__bindgen_ty_1::default
  - bindgen_test_layout_bn_gencb_st
  - bn_gencb_st::default
  - bindgen_test_layout_bignum_st
  - bignum_st::default
  - bindgen_test_layout_bn_mont_ctx_st
  - bn_mont_ctx_st::default
  - bindgen_test_layout_asn1_string_st
  - asn1_string_st::default
  - bindgen_test_layout_asn1_type_st__bindgen_ty_1
  - asn1_type_st__bindgen_ty_1::default
  - bindgen_test_layout_asn1_type_st
  - asn1_type_st::default
  - bindgen_test_layout_ASN1_TEMPLATE_st
  - ASN1_TEMPLATE_st::default
  - bindgen_test_layout_ASN1_ADB_st
  - ASN1_ADB_st::default
  - bindgen_test_layout_ASN1_ADB_TABLE_st
  - ASN1_ADB_TABLE_st::default
  - bindgen_test_layout_ASN1_ITEM_st
  - ASN1_ITEM_st::default
  - bindgen_test_layout_ASN1_EXTERN_FUNCS_st
  - ASN1_EXTERN_FUNCS_st::default
  - bindgen_test_layout_ASN1_AUX_st
  - ASN1_AUX_st::default
  - bindgen_test_layout_evp_encode_ctx_st
  - evp_encode_ctx_st::default
  - bindgen_test_layout_blake2b_state_st
  - blake2b_state_st::default
  - bindgen_test_layout_bf_key_st
  - bf_key_st::default
  - bindgen_test_layout_cbs_st
  - cbs_st::default
  - bindgen_test_layout_cbb_buffer_st
  - cbb_buffer_st::default
  - cbb_buffer_st::can_resize
  - cbb_buffer_st::set_can_resize
  - cbb_buffer_st::can_resize_raw
  - cbb_buffer_st::set_can_resize_raw
  - cbb_buffer_st::error
  - cbb_buffer_st::set_error
  - cbb_buffer_st::error_raw
  - cbb_buffer_st::set_error_raw
  - cbb_buffer_st::new_bitfield_1
  - bindgen_test_layout_cbb_child_st
  - cbb_child_st::default
  - cbb_child_st::pending_is_asn1
  - cbb_child_st::set_pending_is_asn1
  - cbb_child_st::pending_is_asn1_raw
  - cbb_child_st::set_pending_is_asn1_raw
  - cbb_child_st::new_bitfield_1
  - bindgen_test_layout_cbb_st__bindgen_ty_1
  - cbb_st__bindgen_ty_1::default
  - bindgen_test_layout_cbb_st
  - cbb_st::default
  - bindgen_test_layout_evp_cipher_ctx_st
  - evp_cipher_ctx_st::default
  - bindgen_test_layout_evp_cipher_info_st
  - evp_cipher_info_st::default
  - bindgen_test_layout_conf_value_st
  - conf_value_st::default
  - bindgen_test_layout_conf_st
  - conf_st::default
  - bindgen_test_layout_DES_cblock_st
  - bindgen_test_layout_DES_ks
  - bindgen_test_layout_env_md_ctx_st
  - env_md_ctx_st::default
  - bindgen_test_layout_DSA_SIG_st
  - DSA_SIG_st::default
  - bindgen_test_layout_EC_builtin_curve
  - EC_builtin_curve::default
  - bindgen_test_layout_ecdsa_sig_st
  - ecdsa_sig_st::default
  - bindgen_test_layout_evp_aead_ctx_st_state
  - evp_aead_ctx_st_state::default
  - bindgen_test_layout_evp_aead_ctx_st
  - evp_aead_ctx_st::default
  - bindgen_test_layout_obj_name_st
  - obj_name_st::default
  - bindgen_test_layout_md5_state_st
  - md5_state_st::default
  - bindgen_test_layout_md_ctx_union
  - md_ctx_union::default
  - bindgen_test_layout_hmac_ctx_st
  - hmac_ctx_st::default
  - bindgen_test_layout_evp_hpke_ctx_st
  - evp_hpke_ctx_st::default
  - bindgen_test_layout_evp_hpke_key_st
  - evp_hpke_key_st::default
  - bindgen_test_layout_HRSS_private_key
  - HRSS_private_key::default
  - bindgen_test_layout_HRSS_public_key
  - HRSS_public_key::default
  - bindgen_test_layout_md4_state_st
  - md4_state_st::default
  - bindgen_test_layout_pkcs7_st__bindgen_ty_1
  - pkcs7_st__bindgen_ty_1::default
  - bindgen_test_layout_pkcs7_st
  - pkcs7_st::default
  - bindgen_test_layout_pkcs7_signed_st
  - pkcs7_signed_st::default
  - bindgen_test_layout_pkcs7_signer_info_st
  - pkcs7_signer_info_st::default
  - bindgen_test_layout_pkcs7_sign_envelope_st
  - pkcs7_sign_envelope_st::default
  - bindgen_test_layout_pkcs7_envelope_st
  - pkcs7_envelope_st::default
  - bindgen_test_layout_pkcs7_recip_info_st
  - pkcs7_recip_info_st::default
  - bindgen_test_layout_pkcs7_issuer_and_serial_st
  - pkcs7_issuer_and_serial_st::default
  - bindgen_test_layout_otherName_st
  - otherName_st::default
  - bindgen_test_layout_EDIPartyName_st
  - EDIPartyName_st::default
  - bindgen_test_layout_GENERAL_NAME_st__bindgen_ty_1
  - GENERAL_NAME_st__bindgen_ty_1::default
  - bindgen_test_layout_GENERAL_NAME_st
  - GENERAL_NAME_st::default
  - bindgen_test_layout_Netscape_spki_st
  - Netscape_spki_st::default
  - bindgen_test_layout_Netscape_spkac_st
  - Netscape_spkac_st::default
  - bindgen_test_layout_rsa_pss_params_st
  - rsa_pss_params_st::default
  - bindgen_test_layout_private_key_st
  - private_key_st::default
  - bindgen_test_layout_X509_info_st
  - X509_info_st::default
  - bindgen_test_layout_v3_ext_method
  - v3_ext_method::default
  - bindgen_test_layout_v3_ext_ctx
  - v3_ext_ctx::default
  - bindgen_test_layout_x509_purpose_st
  - x509_purpose_st::default
  - bindgen_test_layout_X509_algor_st
  - X509_algor_st::default
  - bindgen_test_layout_x509_trust_st
  - x509_trust_st::default
  - bindgen_test_layout_BASIC_CONSTRAINTS_st
  - BASIC_CONSTRAINTS_st::default
  - bindgen_test_layout_ACCESS_DESCRIPTION_st
  - ACCESS_DESCRIPTION_st::default
  - bindgen_test_layout_DIST_POINT_NAME_st__bindgen_ty_1
  - DIST_POINT_NAME_st__bindgen_ty_1::default
  - bindgen_test_layout_DIST_POINT_NAME_st
  - DIST_POINT_NAME_st::default
  - bindgen_test_layout_DIST_POINT_st
  - DIST_POINT_st::default
  - bindgen_test_layout_AUTHORITY_KEYID_st
  - AUTHORITY_KEYID_st::default
  - bindgen_test_layout_NOTICEREF_st
  - NOTICEREF_st::default
  - bindgen_test_layout_USERNOTICE_st
  - USERNOTICE_st::default
  - bindgen_test_layout_POLICYQUALINFO_st__bindgen_ty_1
  - POLICYQUALINFO_st__bindgen_ty_1::default
  - bindgen_test_layout_POLICYQUALINFO_st
  - POLICYQUALINFO_st::default
  - bindgen_test_layout_POLICYINFO_st
  - POLICYINFO_st::default
  - bindgen_test_layout_POLICY_MAPPING_st
  - POLICY_MAPPING_st::default
  - bindgen_test_layout_GENERAL_SUBTREE_st
  - GENERAL_SUBTREE_st::default
  - bindgen_test_layout_NAME_CONSTRAINTS_st
  - NAME_CONSTRAINTS_st::default
  - bindgen_test_layout_POLICY_CONSTRAINTS_st
  - POLICY_CONSTRAINTS_st::default
  - bindgen_test_layout_ISSUING_DIST_POINT_st
  - ISSUING_DIST_POINT_st::default
  - bindgen_test_layout_rand_meth_st
  - bindgen_test_layout_rc4_key_st
  - rc4_key_st::default
  - bindgen_test_layout_RIPEMD160state_st
  - RIPEMD160state_st::default
  - bindgen_test_layout_trust_token_st
  - trust_token_st::default
  - bindgen_test_layout___va_list_tag
  - __va_list_tag::default
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/x86_64_unknown_linux_gnu_crypto.rs
- function_names:
  - __BindgenBitfieldUnit::new
  - __BindgenBitfieldUnit::extract_bit
  - __BindgenBitfieldUnit::get_bit
  - __BindgenBitfieldUnit::raw_get_bit
  - __BindgenBitfieldUnit::change_bit
  - __BindgenBitfieldUnit::set_bit
  - __BindgenBitfieldUnit::raw_set_bit
  - __BindgenBitfieldUnit::get
  - __BindgenBitfieldUnit::raw_get
  - __BindgenBitfieldUnit::set
  - __BindgenBitfieldUnit::raw_set
  - bindgen_test_layout__iobuf
  - _iobuf::default
  - bindgen_test_layout_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::set_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::set_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::new_bitfield_1
  - bindgen_test_layout_aes_key_st
  - aes_key_st::default
  - bindgen_test_layout_tm
  - bindgen_test_layout_buf_mem_st
  - buf_mem_st::default
  - bindgen_test_layout_sha_state_st
  - sha_state_st::default
  - bindgen_test_layout_sha256_state_st
  - sha256_state_st::default
  - bindgen_test_layout_sha512_state_st
  - sha512_state_st::default
  - bindgen_test_layout_crypto_mutex_st
  - crypto_mutex_st::default
  - bindgen_test_layout_CRYPTO_dynlock
  - CRYPTO_dynlock::default
  - bindgen_test_layout_crypto_ex_data_st
  - crypto_ex_data_st::default
  - bindgen_test_layout_bio_method_st
  - bio_method_st::default
  - bindgen_test_layout_bio_st
  - bio_st::default
  - bindgen_test_layout_bn_gencb_st__bindgen_ty_1
  - bn_gencb_st__bindgen_ty_1::default
  - bindgen_test_layout_bn_gencb_st
  - bn_gencb_st::default
  - bindgen_test_layout_bignum_st
  - bignum_st::default
  - bindgen_test_layout_bn_mont_ctx_st
  - bn_mont_ctx_st::default
  - bindgen_test_layout_asn1_string_st
  - asn1_string_st::default
  - bindgen_test_layout_asn1_type_st__bindgen_ty_1
  - asn1_type_st__bindgen_ty_1::default
  - bindgen_test_layout_asn1_type_st
  - asn1_type_st::default
  - bindgen_test_layout_ASN1_TEMPLATE_st
  - ASN1_TEMPLATE_st::default
  - bindgen_test_layout_ASN1_ADB_st
  - ASN1_ADB_st::default
  - bindgen_test_layout_ASN1_ADB_TABLE_st
  - ASN1_ADB_TABLE_st::default
  - bindgen_test_layout_ASN1_ITEM_st
  - ASN1_ITEM_st::default
  - bindgen_test_layout_ASN1_EXTERN_FUNCS_st
  - ASN1_EXTERN_FUNCS_st::default
  - bindgen_test_layout_ASN1_AUX_st
  - ASN1_AUX_st::default
  - bindgen_test_layout_evp_encode_ctx_st
  - evp_encode_ctx_st::default
  - bindgen_test_layout_blake2b_state_st
  - blake2b_state_st::default
  - bindgen_test_layout_bf_key_st
  - bf_key_st::default
  - bindgen_test_layout_cbs_st
  - cbs_st::default
  - bindgen_test_layout_cbb_buffer_st
  - cbb_buffer_st::default
  - cbb_buffer_st::can_resize
  - cbb_buffer_st::set_can_resize
  - cbb_buffer_st::can_resize_raw
  - cbb_buffer_st::set_can_resize_raw
  - cbb_buffer_st::error
  - cbb_buffer_st::set_error
  - cbb_buffer_st::error_raw
  - cbb_buffer_st::set_error_raw
  - cbb_buffer_st::new_bitfield_1
  - bindgen_test_layout_cbb_child_st
  - cbb_child_st::default
  - cbb_child_st::pending_is_asn1
  - cbb_child_st::set_pending_is_asn1
  - cbb_child_st::pending_is_asn1_raw
  - cbb_child_st::set_pending_is_asn1_raw
  - cbb_child_st::new_bitfield_1
  - bindgen_test_layout_cbb_st__bindgen_ty_1
  - cbb_st__bindgen_ty_1::default
  - bindgen_test_layout_cbb_st
  - cbb_st::default
  - bindgen_test_layout_evp_cipher_ctx_st
  - evp_cipher_ctx_st::default
  - bindgen_test_layout_evp_cipher_info_st
  - evp_cipher_info_st::default
  - bindgen_test_layout_conf_value_st
  - conf_value_st::default
  - bindgen_test_layout_conf_st
  - conf_st::default
  - bindgen_test_layout_DES_cblock_st
  - bindgen_test_layout_DES_ks
  - bindgen_test_layout_env_md_ctx_st
  - env_md_ctx_st::default
  - bindgen_test_layout_DSA_SIG_st
  - DSA_SIG_st::default
  - bindgen_test_layout_EC_builtin_curve
  - EC_builtin_curve::default
  - bindgen_test_layout_ecdsa_sig_st
  - ecdsa_sig_st::default
  - bindgen_test_layout_evp_aead_ctx_st_state
  - evp_aead_ctx_st_state::default
  - bindgen_test_layout_evp_aead_ctx_st
  - evp_aead_ctx_st::default
  - bindgen_test_layout_obj_name_st
  - obj_name_st::default
  - bindgen_test_layout_md5_state_st
  - md5_state_st::default
  - bindgen_test_layout_md_ctx_union
  - md_ctx_union::default
  - bindgen_test_layout_hmac_ctx_st
  - hmac_ctx_st::default
  - bindgen_test_layout_evp_hpke_ctx_st
  - evp_hpke_ctx_st::default
  - bindgen_test_layout_evp_hpke_key_st
  - evp_hpke_key_st::default
  - bindgen_test_layout_HRSS_private_key
  - HRSS_private_key::default
  - bindgen_test_layout_HRSS_public_key
  - HRSS_public_key::default
  - bindgen_test_layout_md4_state_st
  - md4_state_st::default
  - bindgen_test_layout_pkcs7_st__bindgen_ty_1
  - pkcs7_st__bindgen_ty_1::default
  - bindgen_test_layout_pkcs7_st
  - pkcs7_st::default
  - bindgen_test_layout_pkcs7_signed_st
  - pkcs7_signed_st::default
  - bindgen_test_layout_pkcs7_signer_info_st
  - pkcs7_signer_info_st::default
  - bindgen_test_layout_pkcs7_sign_envelope_st
  - pkcs7_sign_envelope_st::default
  - bindgen_test_layout_pkcs7_envelope_st
  - pkcs7_envelope_st::default
  - bindgen_test_layout_pkcs7_recip_info_st
  - pkcs7_recip_info_st::default
  - bindgen_test_layout_pkcs7_issuer_and_serial_st
  - pkcs7_issuer_and_serial_st::default
  - bindgen_test_layout_otherName_st
  - otherName_st::default
  - bindgen_test_layout_EDIPartyName_st
  - EDIPartyName_st::default
  - bindgen_test_layout_GENERAL_NAME_st__bindgen_ty_1
  - GENERAL_NAME_st__bindgen_ty_1::default
  - bindgen_test_layout_GENERAL_NAME_st
  - GENERAL_NAME_st::default
  - bindgen_test_layout_Netscape_spki_st
  - Netscape_spki_st::default
  - bindgen_test_layout_Netscape_spkac_st
  - Netscape_spkac_st::default
  - bindgen_test_layout_rsa_pss_params_st
  - rsa_pss_params_st::default
  - bindgen_test_layout_private_key_st
  - private_key_st::default
  - bindgen_test_layout_X509_info_st
  - X509_info_st::default
  - bindgen_test_layout_v3_ext_method
  - v3_ext_method::default
  - bindgen_test_layout_v3_ext_ctx
  - v3_ext_ctx::default
  - bindgen_test_layout_x509_purpose_st
  - x509_purpose_st::default
  - bindgen_test_layout_X509_algor_st
  - X509_algor_st::default
  - bindgen_test_layout_x509_trust_st
  - x509_trust_st::default
  - bindgen_test_layout_BASIC_CONSTRAINTS_st
  - BASIC_CONSTRAINTS_st::default
  - bindgen_test_layout_ACCESS_DESCRIPTION_st
  - ACCESS_DESCRIPTION_st::default
  - bindgen_test_layout_DIST_POINT_NAME_st__bindgen_ty_1
  - DIST_POINT_NAME_st__bindgen_ty_1::default
  - bindgen_test_layout_DIST_POINT_NAME_st
  - DIST_POINT_NAME_st::default
  - bindgen_test_layout_DIST_POINT_st
  - DIST_POINT_st::default
  - bindgen_test_layout_AUTHORITY_KEYID_st
  - AUTHORITY_KEYID_st::default
  - bindgen_test_layout_NOTICEREF_st
  - NOTICEREF_st::default
  - bindgen_test_layout_USERNOTICE_st
  - USERNOTICE_st::default
  - bindgen_test_layout_POLICYQUALINFO_st__bindgen_ty_1
  - POLICYQUALINFO_st__bindgen_ty_1::default
  - bindgen_test_layout_POLICYQUALINFO_st
  - POLICYQUALINFO_st::default
  - bindgen_test_layout_POLICYINFO_st
  - POLICYINFO_st::default
  - bindgen_test_layout_POLICY_MAPPING_st
  - POLICY_MAPPING_st::default
  - bindgen_test_layout_GENERAL_SUBTREE_st
  - GENERAL_SUBTREE_st::default
  - bindgen_test_layout_NAME_CONSTRAINTS_st
  - NAME_CONSTRAINTS_st::default
  - bindgen_test_layout_POLICY_CONSTRAINTS_st
  - POLICY_CONSTRAINTS_st::default
  - bindgen_test_layout_ISSUING_DIST_POINT_st
  - ISSUING_DIST_POINT_st::default
  - bindgen_test_layout_rand_meth_st
  - bindgen_test_layout_rc4_key_st
  - rc4_key_st::default
  - bindgen_test_layout_RIPEMD160state_st
  - RIPEMD160state_st::default
  - bindgen_test_layout_trust_token_st
  - trust_token_st::default
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/x86_64_pc_windows_gnu_crypto.rs
- function_names:
  - __BindgenBitfieldUnit::new
  - __BindgenBitfieldUnit::extract_bit
  - __BindgenBitfieldUnit::get_bit
  - __BindgenBitfieldUnit::raw_get_bit
  - __BindgenBitfieldUnit::change_bit
  - __BindgenBitfieldUnit::set_bit
  - __BindgenBitfieldUnit::raw_set_bit
  - __BindgenBitfieldUnit::get
  - __BindgenBitfieldUnit::raw_get
  - __BindgenBitfieldUnit::set
  - __BindgenBitfieldUnit::raw_set
  - bindgen_test_layout_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::set_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::set_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::new_bitfield_1
  - bindgen_test_layout_aes_key_st
  - aes_key_st::default
  - bindgen_test_layout_tm
  - bindgen_test_layout__iobuf
  - _iobuf::default
  - bindgen_test_layout_buf_mem_st
  - buf_mem_st::default
  - bindgen_test_layout_sha_state_st
  - sha_state_st::default
  - bindgen_test_layout_sha256_state_st
  - sha256_state_st::default
  - bindgen_test_layout_sha512_state_st
  - sha512_state_st::default
  - bindgen_test_layout_crypto_mutex_st
  - crypto_mutex_st::default
  - bindgen_test_layout_CRYPTO_dynlock
  - CRYPTO_dynlock::default
  - bindgen_test_layout_crypto_ex_data_st
  - crypto_ex_data_st::default
  - bindgen_test_layout_bio_method_st
  - bio_method_st::default
  - bindgen_test_layout_bio_st
  - bio_st::default
  - bindgen_test_layout_bn_gencb_st__bindgen_ty_1
  - bn_gencb_st__bindgen_ty_1::default
  - bindgen_test_layout_bn_gencb_st
  - bn_gencb_st::default
  - bindgen_test_layout_bignum_st
  - bignum_st::default
  - bindgen_test_layout_bn_mont_ctx_st
  - bn_mont_ctx_st::default
  - bindgen_test_layout_asn1_string_st
  - asn1_string_st::default
  - bindgen_test_layout_asn1_type_st__bindgen_ty_1
  - asn1_type_st__bindgen_ty_1::default
  - bindgen_test_layout_asn1_type_st
  - asn1_type_st::default
  - bindgen_test_layout_ASN1_TEMPLATE_st
  - ASN1_TEMPLATE_st::default
  - bindgen_test_layout_ASN1_ADB_st
  - ASN1_ADB_st::default
  - bindgen_test_layout_ASN1_ADB_TABLE_st
  - ASN1_ADB_TABLE_st::default
  - bindgen_test_layout_ASN1_ITEM_st
  - ASN1_ITEM_st::default
  - bindgen_test_layout_ASN1_EXTERN_FUNCS_st
  - ASN1_EXTERN_FUNCS_st::default
  - bindgen_test_layout_ASN1_AUX_st
  - ASN1_AUX_st::default
  - bindgen_test_layout_evp_encode_ctx_st
  - evp_encode_ctx_st::default
  - bindgen_test_layout_blake2b_state_st
  - blake2b_state_st::default
  - bindgen_test_layout_bf_key_st
  - bf_key_st::default
  - bindgen_test_layout_cbs_st
  - cbs_st::default
  - bindgen_test_layout_cbb_buffer_st
  - cbb_buffer_st::default
  - cbb_buffer_st::can_resize
  - cbb_buffer_st::set_can_resize
  - cbb_buffer_st::can_resize_raw
  - cbb_buffer_st::set_can_resize_raw
  - cbb_buffer_st::error
  - cbb_buffer_st::set_error
  - cbb_buffer_st::error_raw
  - cbb_buffer_st::set_error_raw
  - cbb_buffer_st::new_bitfield_1
  - bindgen_test_layout_cbb_child_st
  - cbb_child_st::default
  - cbb_child_st::pending_is_asn1
  - cbb_child_st::set_pending_is_asn1
  - cbb_child_st::pending_is_asn1_raw
  - cbb_child_st::set_pending_is_asn1_raw
  - cbb_child_st::new_bitfield_1
  - bindgen_test_layout_cbb_st__bindgen_ty_1
  - cbb_st__bindgen_ty_1::default
  - bindgen_test_layout_cbb_st
  - cbb_st::default
  - bindgen_test_layout_evp_cipher_ctx_st
  - evp_cipher_ctx_st::default
  - bindgen_test_layout_evp_cipher_info_st
  - evp_cipher_info_st::default
  - bindgen_test_layout_conf_value_st
  - conf_value_st::default
  - bindgen_test_layout_conf_st
  - conf_st::default
  - bindgen_test_layout_DES_cblock_st
  - bindgen_test_layout_DES_ks
  - bindgen_test_layout_env_md_ctx_st
  - env_md_ctx_st::default
  - bindgen_test_layout_DSA_SIG_st
  - DSA_SIG_st::default
  - bindgen_test_layout_EC_builtin_curve
  - EC_builtin_curve::default
  - bindgen_test_layout_ecdsa_sig_st
  - ecdsa_sig_st::default
  - bindgen_test_layout_evp_aead_ctx_st_state
  - evp_aead_ctx_st_state::default
  - bindgen_test_layout_evp_aead_ctx_st
  - evp_aead_ctx_st::default
  - bindgen_test_layout_obj_name_st
  - obj_name_st::default
  - bindgen_test_layout_md5_state_st
  - md5_state_st::default
  - bindgen_test_layout_md_ctx_union
  - md_ctx_union::default
  - bindgen_test_layout_hmac_ctx_st
  - hmac_ctx_st::default
  - bindgen_test_layout_evp_hpke_ctx_st
  - evp_hpke_ctx_st::default
  - bindgen_test_layout_evp_hpke_key_st
  - evp_hpke_key_st::default
  - bindgen_test_layout_HRSS_private_key
  - HRSS_private_key::default
  - bindgen_test_layout_HRSS_public_key
  - HRSS_public_key::default
  - bindgen_test_layout_md4_state_st
  - md4_state_st::default
  - bindgen_test_layout_pkcs7_st__bindgen_ty_1
  - pkcs7_st__bindgen_ty_1::default
  - bindgen_test_layout_pkcs7_st
  - pkcs7_st::default
  - bindgen_test_layout_pkcs7_signed_st
  - pkcs7_signed_st::default
  - bindgen_test_layout_pkcs7_signer_info_st
  - pkcs7_signer_info_st::default
  - bindgen_test_layout_pkcs7_sign_envelope_st
  - pkcs7_sign_envelope_st::default
  - bindgen_test_layout_pkcs7_envelope_st
  - pkcs7_envelope_st::default
  - bindgen_test_layout_pkcs7_recip_info_st
  - pkcs7_recip_info_st::default
  - bindgen_test_layout_pkcs7_issuer_and_serial_st
  - pkcs7_issuer_and_serial_st::default
  - bindgen_test_layout_otherName_st
  - otherName_st::default
  - bindgen_test_layout_EDIPartyName_st
  - EDIPartyName_st::default
  - bindgen_test_layout_GENERAL_NAME_st__bindgen_ty_1
  - GENERAL_NAME_st__bindgen_ty_1::default
  - bindgen_test_layout_GENERAL_NAME_st
  - GENERAL_NAME_st::default
  - bindgen_test_layout_Netscape_spki_st
  - Netscape_spki_st::default
  - bindgen_test_layout_Netscape_spkac_st
  - Netscape_spkac_st::default
  - bindgen_test_layout_rsa_pss_params_st
  - rsa_pss_params_st::default
  - bindgen_test_layout_private_key_st
  - private_key_st::default
  - bindgen_test_layout_X509_info_st
  - X509_info_st::default
  - bindgen_test_layout_v3_ext_method
  - v3_ext_method::default
  - bindgen_test_layout_v3_ext_ctx
  - v3_ext_ctx::default
  - bindgen_test_layout_x509_purpose_st
  - x509_purpose_st::default
  - bindgen_test_layout_X509_algor_st
  - X509_algor_st::default
  - bindgen_test_layout_x509_trust_st
  - x509_trust_st::default
  - bindgen_test_layout_BASIC_CONSTRAINTS_st
  - BASIC_CONSTRAINTS_st::default
  - bindgen_test_layout_ACCESS_DESCRIPTION_st
  - ACCESS_DESCRIPTION_st::default
  - bindgen_test_layout_DIST_POINT_NAME_st__bindgen_ty_1
  - DIST_POINT_NAME_st__bindgen_ty_1::default
  - bindgen_test_layout_DIST_POINT_NAME_st
  - DIST_POINT_NAME_st::default
  - bindgen_test_layout_DIST_POINT_st
  - DIST_POINT_st::default
  - bindgen_test_layout_AUTHORITY_KEYID_st
  - AUTHORITY_KEYID_st::default
  - bindgen_test_layout_NOTICEREF_st
  - NOTICEREF_st::default
  - bindgen_test_layout_USERNOTICE_st
  - USERNOTICE_st::default
  - bindgen_test_layout_POLICYQUALINFO_st__bindgen_ty_1
  - POLICYQUALINFO_st__bindgen_ty_1::default
  - bindgen_test_layout_POLICYQUALINFO_st
  - POLICYQUALINFO_st::default
  - bindgen_test_layout_POLICYINFO_st
  - POLICYINFO_st::default
  - bindgen_test_layout_POLICY_MAPPING_st
  - POLICY_MAPPING_st::default
  - bindgen_test_layout_GENERAL_SUBTREE_st
  - GENERAL_SUBTREE_st::default
  - bindgen_test_layout_NAME_CONSTRAINTS_st
  - NAME_CONSTRAINTS_st::default
  - bindgen_test_layout_POLICY_CONSTRAINTS_st
  - POLICY_CONSTRAINTS_st::default
  - bindgen_test_layout_ISSUING_DIST_POINT_st
  - ISSUING_DIST_POINT_st::default
  - bindgen_test_layout_rand_meth_st
  - bindgen_test_layout_rc4_key_st
  - rc4_key_st::default
  - bindgen_test_layout_RIPEMD160state_st
  - RIPEMD160state_st::default
  - bindgen_test_layout_trust_token_st
  - trust_token_st::default
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/x86_64_pc_windows_msvc_crypto.rs
- function_names:
  - __BindgenBitfieldUnit::new
  - __BindgenBitfieldUnit::extract_bit
  - __BindgenBitfieldUnit::get_bit
  - __BindgenBitfieldUnit::raw_get_bit
  - __BindgenBitfieldUnit::change_bit
  - __BindgenBitfieldUnit::set_bit
  - __BindgenBitfieldUnit::raw_set_bit
  - __BindgenBitfieldUnit::get
  - __BindgenBitfieldUnit::raw_get
  - __BindgenBitfieldUnit::set
  - __BindgenBitfieldUnit::raw_set
  - bindgen_test_layout_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::set_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::set_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::new_bitfield_1
  - bindgen_test_layout_aes_key_st
  - aes_key_st::default
  - bindgen_test_layout_tm
  - tm::default
  - bindgen_test_layout__IO_FILE
  - _IO_FILE::default
  - bindgen_test_layout_buf_mem_st
  - buf_mem_st::default
  - bindgen_test_layout_sha_state_st
  - sha_state_st::default
  - bindgen_test_layout_sha256_state_st
  - sha256_state_st::default
  - bindgen_test_layout_sha512_state_st
  - sha512_state_st::default
  - bindgen_test_layout_crypto_mutex_st
  - crypto_mutex_st::default
  - bindgen_test_layout_CRYPTO_dynlock
  - CRYPTO_dynlock::default
  - bindgen_test_layout_crypto_ex_data_st
  - crypto_ex_data_st::default
  - bindgen_test_layout_bio_method_st
  - bio_method_st::default
  - bindgen_test_layout_bio_st
  - bio_st::default
  - bindgen_test_layout_bn_gencb_st__bindgen_ty_1
  - bn_gencb_st__bindgen_ty_1::default
  - bindgen_test_layout_bn_gencb_st
  - bn_gencb_st::default
  - bindgen_test_layout_bignum_st
  - bignum_st::default
  - bindgen_test_layout_bn_mont_ctx_st
  - bn_mont_ctx_st::default
  - bindgen_test_layout_asn1_string_st
  - asn1_string_st::default
  - bindgen_test_layout_asn1_type_st__bindgen_ty_1
  - asn1_type_st__bindgen_ty_1::default
  - bindgen_test_layout_asn1_type_st
  - asn1_type_st::default
  - bindgen_test_layout_ASN1_TEMPLATE_st
  - ASN1_TEMPLATE_st::default
  - bindgen_test_layout_ASN1_ADB_st
  - ASN1_ADB_st::default
  - bindgen_test_layout_ASN1_ADB_TABLE_st
  - ASN1_ADB_TABLE_st::default
  - bindgen_test_layout_ASN1_ITEM_st
  - ASN1_ITEM_st::default
  - bindgen_test_layout_ASN1_EXTERN_FUNCS_st
  - ASN1_EXTERN_FUNCS_st::default
  - bindgen_test_layout_ASN1_AUX_st
  - ASN1_AUX_st::default
  - bindgen_test_layout_evp_encode_ctx_st
  - evp_encode_ctx_st::default
  - bindgen_test_layout_blake2b_state_st
  - blake2b_state_st::default
  - bindgen_test_layout_bf_key_st
  - bf_key_st::default
  - bindgen_test_layout_cbs_st
  - cbs_st::default
  - bindgen_test_layout_cbb_buffer_st
  - cbb_buffer_st::default
  - cbb_buffer_st::can_resize
  - cbb_buffer_st::set_can_resize
  - cbb_buffer_st::can_resize_raw
  - cbb_buffer_st::set_can_resize_raw
  - cbb_buffer_st::error
  - cbb_buffer_st::set_error
  - cbb_buffer_st::error_raw
  - cbb_buffer_st::set_error_raw
  - cbb_buffer_st::new_bitfield_1
  - bindgen_test_layout_cbb_child_st
  - cbb_child_st::default
  - cbb_child_st::pending_is_asn1
  - cbb_child_st::set_pending_is_asn1
  - cbb_child_st::pending_is_asn1_raw
  - cbb_child_st::set_pending_is_asn1_raw
  - cbb_child_st::new_bitfield_1
  - bindgen_test_layout_cbb_st__bindgen_ty_1
  - cbb_st__bindgen_ty_1::default
  - bindgen_test_layout_cbb_st
  - cbb_st::default
  - bindgen_test_layout_evp_cipher_ctx_st
  - evp_cipher_ctx_st::default
  - bindgen_test_layout_evp_cipher_info_st
  - evp_cipher_info_st::default
  - bindgen_test_layout_conf_value_st
  - conf_value_st::default
  - bindgen_test_layout_conf_st
  - conf_st::default
  - bindgen_test_layout_DES_cblock_st
  - bindgen_test_layout_DES_ks
  - bindgen_test_layout_env_md_ctx_st
  - env_md_ctx_st::default
  - bindgen_test_layout_DSA_SIG_st
  - DSA_SIG_st::default
  - bindgen_test_layout_EC_builtin_curve
  - EC_builtin_curve::default
  - bindgen_test_layout_ecdsa_sig_st
  - ecdsa_sig_st::default
  - bindgen_test_layout_evp_aead_ctx_st_state
  - evp_aead_ctx_st_state::default
  - bindgen_test_layout_evp_aead_ctx_st
  - evp_aead_ctx_st::default
  - bindgen_test_layout_obj_name_st
  - obj_name_st::default
  - bindgen_test_layout_md5_state_st
  - md5_state_st::default
  - bindgen_test_layout_md_ctx_union
  - md_ctx_union::default
  - bindgen_test_layout_hmac_ctx_st
  - hmac_ctx_st::default
  - bindgen_test_layout_evp_hpke_ctx_st
  - evp_hpke_ctx_st::default
  - bindgen_test_layout_evp_hpke_key_st
  - evp_hpke_key_st::default
  - bindgen_test_layout_HRSS_private_key
  - HRSS_private_key::default
  - bindgen_test_layout_HRSS_public_key
  - HRSS_public_key::default
  - bindgen_test_layout_md4_state_st
  - md4_state_st::default
  - bindgen_test_layout_pkcs7_st__bindgen_ty_1
  - pkcs7_st__bindgen_ty_1::default
  - bindgen_test_layout_pkcs7_st
  - pkcs7_st::default
  - bindgen_test_layout_pkcs7_signed_st
  - pkcs7_signed_st::default
  - bindgen_test_layout_pkcs7_signer_info_st
  - pkcs7_signer_info_st::default
  - bindgen_test_layout_pkcs7_sign_envelope_st
  - pkcs7_sign_envelope_st::default
  - bindgen_test_layout_pkcs7_envelope_st
  - pkcs7_envelope_st::default
  - bindgen_test_layout_pkcs7_recip_info_st
  - pkcs7_recip_info_st::default
  - bindgen_test_layout_pkcs7_issuer_and_serial_st
  - pkcs7_issuer_and_serial_st::default
  - bindgen_test_layout_otherName_st
  - otherName_st::default
  - bindgen_test_layout_EDIPartyName_st
  - EDIPartyName_st::default
  - bindgen_test_layout_GENERAL_NAME_st__bindgen_ty_1
  - GENERAL_NAME_st__bindgen_ty_1::default
  - bindgen_test_layout_GENERAL_NAME_st
  - GENERAL_NAME_st::default
  - bindgen_test_layout_Netscape_spki_st
  - Netscape_spki_st::default
  - bindgen_test_layout_Netscape_spkac_st
  - Netscape_spkac_st::default
  - bindgen_test_layout_rsa_pss_params_st
  - rsa_pss_params_st::default
  - bindgen_test_layout_private_key_st
  - private_key_st::default
  - bindgen_test_layout_X509_info_st
  - X509_info_st::default
  - bindgen_test_layout_v3_ext_method
  - v3_ext_method::default
  - bindgen_test_layout_v3_ext_ctx
  - v3_ext_ctx::default
  - bindgen_test_layout_x509_purpose_st
  - x509_purpose_st::default
  - bindgen_test_layout_X509_algor_st
  - X509_algor_st::default
  - bindgen_test_layout_x509_trust_st
  - x509_trust_st::default
  - bindgen_test_layout_BASIC_CONSTRAINTS_st
  - BASIC_CONSTRAINTS_st::default
  - bindgen_test_layout_ACCESS_DESCRIPTION_st
  - ACCESS_DESCRIPTION_st::default
  - bindgen_test_layout_DIST_POINT_NAME_st__bindgen_ty_1
  - DIST_POINT_NAME_st__bindgen_ty_1::default
  - bindgen_test_layout_DIST_POINT_NAME_st
  - DIST_POINT_NAME_st::default
  - bindgen_test_layout_DIST_POINT_st
  - DIST_POINT_st::default
  - bindgen_test_layout_AUTHORITY_KEYID_st
  - AUTHORITY_KEYID_st::default
  - bindgen_test_layout_NOTICEREF_st
  - NOTICEREF_st::default
  - bindgen_test_layout_USERNOTICE_st
  - USERNOTICE_st::default
  - bindgen_test_layout_POLICYQUALINFO_st__bindgen_ty_1
  - POLICYQUALINFO_st__bindgen_ty_1::default
  - bindgen_test_layout_POLICYQUALINFO_st
  - POLICYQUALINFO_st::default
  - bindgen_test_layout_POLICYINFO_st
  - POLICYINFO_st::default
  - bindgen_test_layout_POLICY_MAPPING_st
  - POLICY_MAPPING_st::default
  - bindgen_test_layout_GENERAL_SUBTREE_st
  - GENERAL_SUBTREE_st::default
  - bindgen_test_layout_NAME_CONSTRAINTS_st
  - NAME_CONSTRAINTS_st::default
  - bindgen_test_layout_POLICY_CONSTRAINTS_st
  - POLICY_CONSTRAINTS_st::default
  - bindgen_test_layout_ISSUING_DIST_POINT_st
  - ISSUING_DIST_POINT_st::default
  - bindgen_test_layout_rand_meth_st
  - bindgen_test_layout_rc4_key_st
  - rc4_key_st::default
  - bindgen_test_layout_RIPEMD160state_st
  - RIPEMD160state_st::default
  - bindgen_test_layout_trust_token_st
  - trust_token_st::default
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/riscv64gc_unknown_linux_gnu_crypto.rs
- function_names:
  - __BindgenBitfieldUnit::new
  - __BindgenBitfieldUnit::extract_bit
  - __BindgenBitfieldUnit::get_bit
  - __BindgenBitfieldUnit::raw_get_bit
  - __BindgenBitfieldUnit::change_bit
  - __BindgenBitfieldUnit::set_bit
  - __BindgenBitfieldUnit::raw_set_bit
  - __BindgenBitfieldUnit::get
  - __BindgenBitfieldUnit::raw_get
  - __BindgenBitfieldUnit::set
  - __BindgenBitfieldUnit::raw_set
  - __BindgenOpaqueArray::default
  - bindgen_test_layout_pthread_rwlock_t
  - bindgen_test_layout_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::set_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::set_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::new_bitfield_1
  - bindgen_test_layout_aes_key_st
  - aes_key_st::default
  - bindgen_test_layout_tm
  - tm::default
  - bindgen_test_layout_buf_mem_st
  - buf_mem_st::default
  - bindgen_test_layout_sha_state_st
  - sha_state_st::default
  - bindgen_test_layout_sha256_state_st
  - sha256_state_st::default
  - bindgen_test_layout_sha512_state_st
  - sha512_state_st::default
  - bindgen_test_layout_CRYPTO_dynlock
  - CRYPTO_dynlock::default
  - bindgen_test_layout_crypto_ex_data_st
  - crypto_ex_data_st::default
  - bindgen_test_layout_bio_method_st
  - bio_method_st::default
  - bindgen_test_layout_bio_st
  - bio_st::default
  - bindgen_test_layout_bn_gencb_st__bindgen_ty_1
  - bn_gencb_st__bindgen_ty_1::default
  - bindgen_test_layout_bn_gencb_st
  - bn_gencb_st::default
  - bindgen_test_layout_bignum_st
  - bignum_st::default
  - bindgen_test_layout_bn_mont_ctx_st
  - bn_mont_ctx_st::default
  - bindgen_test_layout_asn1_string_st
  - asn1_string_st::default
  - bindgen_test_layout_asn1_type_st__bindgen_ty_1
  - asn1_type_st__bindgen_ty_1::default
  - bindgen_test_layout_asn1_type_st
  - asn1_type_st::default
  - bindgen_test_layout_ASN1_TEMPLATE_st
  - ASN1_TEMPLATE_st::default
  - bindgen_test_layout_ASN1_ADB_st
  - ASN1_ADB_st::default
  - bindgen_test_layout_ASN1_ADB_TABLE_st
  - ASN1_ADB_TABLE_st::default
  - bindgen_test_layout_ASN1_ITEM_st
  - ASN1_ITEM_st::default
  - bindgen_test_layout_ASN1_EXTERN_FUNCS_st
  - ASN1_EXTERN_FUNCS_st::default
  - bindgen_test_layout_ASN1_AUX_st
  - ASN1_AUX_st::default
  - bindgen_test_layout_evp_encode_ctx_st
  - evp_encode_ctx_st::default
  - bindgen_test_layout_blake2b_state_st
  - blake2b_state_st::default
  - bindgen_test_layout_bf_key_st
  - bf_key_st::default
  - bindgen_test_layout_cbs_st
  - cbs_st::default
  - bindgen_test_layout_cbb_buffer_st
  - cbb_buffer_st::default
  - cbb_buffer_st::can_resize
  - cbb_buffer_st::set_can_resize
  - cbb_buffer_st::can_resize_raw
  - cbb_buffer_st::set_can_resize_raw
  - cbb_buffer_st::error
  - cbb_buffer_st::set_error
  - cbb_buffer_st::error_raw
  - cbb_buffer_st::set_error_raw
  - cbb_buffer_st::new_bitfield_1
  - bindgen_test_layout_cbb_child_st
  - cbb_child_st::default
  - cbb_child_st::pending_is_asn1
  - cbb_child_st::set_pending_is_asn1
  - cbb_child_st::pending_is_asn1_raw
  - cbb_child_st::set_pending_is_asn1_raw
  - cbb_child_st::new_bitfield_1
  - bindgen_test_layout_cbb_st__bindgen_ty_1
  - cbb_st__bindgen_ty_1::default
  - bindgen_test_layout_cbb_st
  - cbb_st::default
  - bindgen_test_layout_evp_cipher_ctx_st
  - evp_cipher_ctx_st::default
  - bindgen_test_layout_evp_cipher_info_st
  - evp_cipher_info_st::default
  - bindgen_test_layout_conf_value_st
  - conf_value_st::default
  - bindgen_test_layout_conf_st
  - conf_st::default
  - bindgen_test_layout_DES_cblock_st
  - bindgen_test_layout_DES_ks
  - bindgen_test_layout_env_md_ctx_st
  - env_md_ctx_st::default
  - bindgen_test_layout_DSA_SIG_st
  - DSA_SIG_st::default
  - bindgen_test_layout_EC_builtin_curve
  - EC_builtin_curve::default
  - bindgen_test_layout_ecdsa_sig_st
  - ecdsa_sig_st::default
  - bindgen_test_layout_evp_aead_ctx_st_state
  - evp_aead_ctx_st_state::default
  - bindgen_test_layout_evp_aead_ctx_st
  - evp_aead_ctx_st::default
  - bindgen_test_layout_obj_name_st
  - obj_name_st::default
  - bindgen_test_layout_md5_state_st
  - md5_state_st::default
  - bindgen_test_layout_md_ctx_union
  - md_ctx_union::default
  - bindgen_test_layout_hmac_ctx_st
  - hmac_ctx_st::default
  - bindgen_test_layout_evp_hpke_ctx_st
  - evp_hpke_ctx_st::default
  - bindgen_test_layout_evp_hpke_key_st
  - evp_hpke_key_st::default
  - bindgen_test_layout_HRSS_private_key
  - HRSS_private_key::default
  - bindgen_test_layout_HRSS_public_key
  - HRSS_public_key::default
  - bindgen_test_layout_md4_state_st
  - md4_state_st::default
  - bindgen_test_layout_pkcs7_st__bindgen_ty_1
  - pkcs7_st__bindgen_ty_1::default
  - bindgen_test_layout_pkcs7_st
  - pkcs7_st::default
  - bindgen_test_layout_pkcs7_signed_st
  - pkcs7_signed_st::default
  - bindgen_test_layout_pkcs7_signer_info_st
  - pkcs7_signer_info_st::default
  - bindgen_test_layout_pkcs7_sign_envelope_st
  - pkcs7_sign_envelope_st::default
  - bindgen_test_layout_pkcs7_envelope_st
  - pkcs7_envelope_st::default
  - bindgen_test_layout_pkcs7_recip_info_st
  - pkcs7_recip_info_st::default
  - bindgen_test_layout_pkcs7_issuer_and_serial_st
  - pkcs7_issuer_and_serial_st::default
  - bindgen_test_layout_otherName_st
  - otherName_st::default
  - bindgen_test_layout_EDIPartyName_st
  - EDIPartyName_st::default
  - bindgen_test_layout_GENERAL_NAME_st__bindgen_ty_1
  - GENERAL_NAME_st__bindgen_ty_1::default
  - bindgen_test_layout_GENERAL_NAME_st
  - GENERAL_NAME_st::default
  - bindgen_test_layout_Netscape_spki_st
  - Netscape_spki_st::default
  - bindgen_test_layout_Netscape_spkac_st
  - Netscape_spkac_st::default
  - bindgen_test_layout_rsa_pss_params_st
  - rsa_pss_params_st::default
  - bindgen_test_layout_private_key_st
  - private_key_st::default
  - bindgen_test_layout_X509_info_st
  - X509_info_st::default
  - bindgen_test_layout_v3_ext_method
  - v3_ext_method::default
  - bindgen_test_layout_v3_ext_ctx
  - v3_ext_ctx::default
  - bindgen_test_layout_x509_purpose_st
  - x509_purpose_st::default
  - bindgen_test_layout_X509_algor_st
  - X509_algor_st::default
  - bindgen_test_layout_x509_trust_st
  - x509_trust_st::default
  - bindgen_test_layout_BASIC_CONSTRAINTS_st
  - BASIC_CONSTRAINTS_st::default
  - bindgen_test_layout_ACCESS_DESCRIPTION_st
  - ACCESS_DESCRIPTION_st::default
  - bindgen_test_layout_DIST_POINT_NAME_st__bindgen_ty_1
  - DIST_POINT_NAME_st__bindgen_ty_1::default
  - bindgen_test_layout_DIST_POINT_NAME_st
  - DIST_POINT_NAME_st::default
  - bindgen_test_layout_DIST_POINT_st
  - DIST_POINT_st::default
  - bindgen_test_layout_AUTHORITY_KEYID_st
  - AUTHORITY_KEYID_st::default
  - bindgen_test_layout_NOTICEREF_st
  - NOTICEREF_st::default
  - bindgen_test_layout_USERNOTICE_st
  - USERNOTICE_st::default
  - bindgen_test_layout_POLICYQUALINFO_st__bindgen_ty_1
  - POLICYQUALINFO_st__bindgen_ty_1::default
  - bindgen_test_layout_POLICYQUALINFO_st
  - POLICYQUALINFO_st::default
  - bindgen_test_layout_POLICYINFO_st
  - POLICYINFO_st::default
  - bindgen_test_layout_POLICY_MAPPING_st
  - POLICY_MAPPING_st::default
  - bindgen_test_layout_GENERAL_SUBTREE_st
  - GENERAL_SUBTREE_st::default
  - bindgen_test_layout_NAME_CONSTRAINTS_st
  - NAME_CONSTRAINTS_st::default
  - bindgen_test_layout_POLICY_CONSTRAINTS_st
  - POLICY_CONSTRAINTS_st::default
  - bindgen_test_layout_ISSUING_DIST_POINT_st
  - ISSUING_DIST_POINT_st::default
  - bindgen_test_layout_rand_meth_st
  - bindgen_test_layout_rc4_key_st
  - rc4_key_st::default
  - bindgen_test_layout_RIPEMD160state_st
  - RIPEMD160state_st::default
  - bindgen_test_layout_trust_token_st
  - trust_token_st::default
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_linux_android_crypto.rs
- function_names:
  - __BindgenBitfieldUnit::new
  - __BindgenBitfieldUnit::extract_bit
  - __BindgenBitfieldUnit::get_bit
  - __BindgenBitfieldUnit::raw_get_bit
  - __BindgenBitfieldUnit::change_bit
  - __BindgenBitfieldUnit::set_bit
  - __BindgenBitfieldUnit::raw_set_bit
  - __BindgenBitfieldUnit::get
  - __BindgenBitfieldUnit::raw_get
  - __BindgenBitfieldUnit::set
  - __BindgenBitfieldUnit::raw_set
  - bindgen_test_layout_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::set_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::set_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::new_bitfield_1
  - bindgen_test_layout_aes_key_st
  - aes_key_st::default
  - bindgen_test_layout__IO_FILE
  - _IO_FILE::default
  - bindgen_test_layout_buf_mem_st
  - buf_mem_st::default
  - bindgen_test_layout_sha_state_st
  - sha_state_st::default
  - bindgen_test_layout_sha256_state_st
  - sha256_state_st::default
  - bindgen_test_layout_sha512_state_st
  - sha512_state_st::default
  - bindgen_test_layout_crypto_ex_data_st
  - crypto_ex_data_st::default
  - bindgen_test_layout_bio_method_st
  - bio_method_st::default
  - bindgen_test_layout_bio_st
  - bio_st::default
  - bindgen_test_layout_bn_gencb_st__bindgen_ty_1
  - bn_gencb_st__bindgen_ty_1::default
  - bindgen_test_layout_bn_gencb_st
  - bn_gencb_st::default
  - bindgen_test_layout_bignum_st
  - bignum_st::default
  - bindgen_test_layout_bn_mont_ctx_st
  - bn_mont_ctx_st::default
  - bindgen_test_layout_asn1_string_st
  - asn1_string_st::default
  - bindgen_test_layout_asn1_type_st__bindgen_ty_1
  - asn1_type_st__bindgen_ty_1::default
  - bindgen_test_layout_asn1_type_st
  - asn1_type_st::default
  - bindgen_test_layout_ASN1_TEMPLATE_st
  - ASN1_TEMPLATE_st::default
  - bindgen_test_layout_ASN1_ITEM_st
  - ASN1_ITEM_st::default
  - bindgen_test_layout_evp_encode_ctx_st
  - evp_encode_ctx_st::default
  - bindgen_test_layout_blake2b_state_st
  - blake2b_state_st::default
  - bindgen_test_layout_cbs_st
  - cbs_st::default
  - bindgen_test_layout_cbb_buffer_st
  - cbb_buffer_st::default
  - cbb_buffer_st::can_resize
  - cbb_buffer_st::set_can_resize
  - cbb_buffer_st::can_resize_raw
  - cbb_buffer_st::set_can_resize_raw
  - cbb_buffer_st::error
  - cbb_buffer_st::set_error
  - cbb_buffer_st::error_raw
  - cbb_buffer_st::set_error_raw
  - cbb_buffer_st::new_bitfield_1
  - bindgen_test_layout_cbb_child_st
  - cbb_child_st::default
  - cbb_child_st::pending_is_asn1
  - cbb_child_st::set_pending_is_asn1
  - cbb_child_st::pending_is_asn1_raw
  - cbb_child_st::set_pending_is_asn1_raw
  - cbb_child_st::new_bitfield_1
  - bindgen_test_layout_cbb_st__bindgen_ty_1
  - cbb_st__bindgen_ty_1::default
  - bindgen_test_layout_cbb_st
  - cbb_st::default
  - bindgen_test_layout_evp_cipher_ctx_st
  - evp_cipher_ctx_st::default
  - bindgen_test_layout_evp_cipher_info_st
  - evp_cipher_info_st::default
  - bindgen_test_layout_conf_value_st
  - conf_value_st::default
  - bindgen_test_layout_conf_st
  - conf_st::default
  - bindgen_test_layout_env_md_ctx_st
  - env_md_ctx_st::default
  - bindgen_test_layout_DSA_SIG_st
  - DSA_SIG_st::default
  - bindgen_test_layout_EC_builtin_curve
  - EC_builtin_curve::default
  - bindgen_test_layout_ecdsa_sig_st
  - ecdsa_sig_st::default
  - bindgen_test_layout_evp_aead_ctx_st_state
  - evp_aead_ctx_st_state::default
  - bindgen_test_layout_evp_aead_ctx_st
  - evp_aead_ctx_st::default
  - bindgen_test_layout_md5_state_st
  - md5_state_st::default
  - bindgen_test_layout_md_ctx_union
  - md_ctx_union::default
  - bindgen_test_layout_hmac_ctx_st
  - hmac_ctx_st::default
  - bindgen_test_layout_evp_hpke_ctx_st
  - evp_hpke_ctx_st::default
  - bindgen_test_layout_evp_hpke_key_st
  - evp_hpke_key_st::default
  - bindgen_test_layout_md4_state_st
  - md4_state_st::default
  - bindgen_test_layout_pkcs7_st__bindgen_ty_1
  - pkcs7_st__bindgen_ty_1::default
  - bindgen_test_layout_pkcs7_st
  - pkcs7_st::default
  - bindgen_test_layout_pkcs7_signed_st
  - pkcs7_signed_st::default
  - bindgen_test_layout_pkcs7_signer_info_st
  - pkcs7_signer_info_st::default
  - bindgen_test_layout_pkcs7_sign_envelope_st
  - pkcs7_sign_envelope_st::default
  - bindgen_test_layout_pkcs7_envelope_st
  - pkcs7_envelope_st::default
  - bindgen_test_layout_pkcs7_recip_info_st
  - pkcs7_recip_info_st::default
  - bindgen_test_layout_pkcs7_issuer_and_serial_st
  - pkcs7_issuer_and_serial_st::default
  - bindgen_test_layout_otherName_st
  - otherName_st::default
  - bindgen_test_layout_EDIPartyName_st
  - EDIPartyName_st::default
  - bindgen_test_layout_GENERAL_NAME_st__bindgen_ty_1
  - GENERAL_NAME_st__bindgen_ty_1::default
  - bindgen_test_layout_GENERAL_NAME_st
  - GENERAL_NAME_st::default
  - bindgen_test_layout_Netscape_spki_st
  - Netscape_spki_st::default
  - bindgen_test_layout_Netscape_spkac_st
  - Netscape_spkac_st::default
  - bindgen_test_layout_rsa_pss_params_st
  - rsa_pss_params_st::default
  - bindgen_test_layout_private_key_st
  - private_key_st::default
  - bindgen_test_layout_X509_info_st
  - X509_info_st::default
  - bindgen_test_layout_v3_ext_method
  - v3_ext_method::default
  - bindgen_test_layout_v3_ext_ctx
  - v3_ext_ctx::default
  - bindgen_test_layout_X509_algor_st
  - X509_algor_st::default
  - bindgen_test_layout_x509_trust_st
  - x509_trust_st::default
  - bindgen_test_layout_BASIC_CONSTRAINTS_st
  - BASIC_CONSTRAINTS_st::default
  - bindgen_test_layout_DIST_POINT_NAME_st__bindgen_ty_1
  - DIST_POINT_NAME_st__bindgen_ty_1::default
  - bindgen_test_layout_DIST_POINT_NAME_st
  - DIST_POINT_NAME_st::default
  - bindgen_test_layout_DIST_POINT_st
  - DIST_POINT_st::default
  - bindgen_test_layout_AUTHORITY_KEYID_st
  - AUTHORITY_KEYID_st::default
  - bindgen_test_layout_NAME_CONSTRAINTS_st
  - NAME_CONSTRAINTS_st::default
  - bindgen_test_layout_ISSUING_DIST_POINT_st
  - ISSUING_DIST_POINT_st::default
  - bindgen_test_layout_rand_meth_st
  - bindgen_test_layout_rc4_key_st
  - rc4_key_st::default
  - bindgen_test_layout_RIPEMD160state_st
  - RIPEMD160state_st::default
  - bindgen_test_layout_trust_token_st
  - trust_token_st::default
  - bindgen_test_layout___va_list_tag
  - __va_list_tag::default
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_crypto.rs
- function_names:
  - __BindgenBitfieldUnit::new
  - __BindgenBitfieldUnit::extract_bit
  - __BindgenBitfieldUnit::get_bit
  - __BindgenBitfieldUnit::raw_get_bit
  - __BindgenBitfieldUnit::change_bit
  - __BindgenBitfieldUnit::set_bit
  - __BindgenBitfieldUnit::raw_set_bit
  - __BindgenBitfieldUnit::get
  - __BindgenBitfieldUnit::raw_get
  - __BindgenBitfieldUnit::set
  - __BindgenBitfieldUnit::raw_set
  - __BindgenOpaqueArray::default
  - bindgen_test_layout_pthread_rwlock_t__bindgen_ty_1
  - pthread_rwlock_t__bindgen_ty_1::default
  - bindgen_test_layout_pthread_rwlock_t
  - pthread_rwlock_t::default
  - bindgen_test_layout_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::set_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::set_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::new_bitfield_1
  - bindgen_test_layout_aes_key_st
  - aes_key_st::default
  - bindgen_test_layout_tm
  - tm::default
  - bindgen_test_layout_buf_mem_st
  - buf_mem_st::default
  - bindgen_test_layout_sha_state_st
  - sha_state_st::default
  - bindgen_test_layout_sha256_state_st
  - sha256_state_st::default
  - bindgen_test_layout_sha512_state_st
  - sha512_state_st::default
  - bindgen_test_layout_CRYPTO_dynlock
  - CRYPTO_dynlock::default
  - bindgen_test_layout_crypto_ex_data_st
  - crypto_ex_data_st::default
  - bindgen_test_layout_bio_method_st
  - bio_method_st::default
  - bindgen_test_layout_bio_st
  - bio_st::default
  - bindgen_test_layout_bn_gencb_st__bindgen_ty_1
  - bn_gencb_st__bindgen_ty_1::default
  - bindgen_test_layout_bn_gencb_st
  - bn_gencb_st::default
  - bindgen_test_layout_bignum_st
  - bignum_st::default
  - bindgen_test_layout_bn_mont_ctx_st
  - bn_mont_ctx_st::default
  - bindgen_test_layout_asn1_string_st
  - asn1_string_st::default
  - bindgen_test_layout_asn1_type_st__bindgen_ty_1
  - asn1_type_st__bindgen_ty_1::default
  - bindgen_test_layout_asn1_type_st
  - asn1_type_st::default
  - bindgen_test_layout_ASN1_TEMPLATE_st
  - ASN1_TEMPLATE_st::default
  - bindgen_test_layout_ASN1_ADB_st
  - ASN1_ADB_st::default
  - bindgen_test_layout_ASN1_ADB_TABLE_st
  - ASN1_ADB_TABLE_st::default
  - bindgen_test_layout_ASN1_ITEM_st
  - ASN1_ITEM_st::default
  - bindgen_test_layout_ASN1_EXTERN_FUNCS_st
  - ASN1_EXTERN_FUNCS_st::default
  - bindgen_test_layout_ASN1_AUX_st
  - ASN1_AUX_st::default
  - bindgen_test_layout_evp_encode_ctx_st
  - evp_encode_ctx_st::default
  - bindgen_test_layout_blake2b_state_st
  - blake2b_state_st::default
  - bindgen_test_layout_bf_key_st
  - bf_key_st::default
  - bindgen_test_layout_cbs_st
  - cbs_st::default
  - bindgen_test_layout_cbb_buffer_st
  - cbb_buffer_st::default
  - cbb_buffer_st::can_resize
  - cbb_buffer_st::set_can_resize
  - cbb_buffer_st::can_resize_raw
  - cbb_buffer_st::set_can_resize_raw
  - cbb_buffer_st::error
  - cbb_buffer_st::set_error
  - cbb_buffer_st::error_raw
  - cbb_buffer_st::set_error_raw
  - cbb_buffer_st::new_bitfield_1
  - bindgen_test_layout_cbb_child_st
  - cbb_child_st::default
  - cbb_child_st::pending_is_asn1
  - cbb_child_st::set_pending_is_asn1
  - cbb_child_st::pending_is_asn1_raw
  - cbb_child_st::set_pending_is_asn1_raw
  - cbb_child_st::new_bitfield_1
  - bindgen_test_layout_cbb_st__bindgen_ty_1
  - cbb_st__bindgen_ty_1::default
  - bindgen_test_layout_cbb_st
  - cbb_st::default
  - bindgen_test_layout_evp_cipher_ctx_st
  - evp_cipher_ctx_st::default
  - bindgen_test_layout_evp_cipher_info_st
  - evp_cipher_info_st::default
  - bindgen_test_layout_conf_value_st
  - conf_value_st::default
  - bindgen_test_layout_conf_st
  - conf_st::default
  - bindgen_test_layout_DES_cblock_st
  - bindgen_test_layout_DES_ks
  - bindgen_test_layout_env_md_ctx_st
  - env_md_ctx_st::default
  - bindgen_test_layout_DSA_SIG_st
  - DSA_SIG_st::default
  - bindgen_test_layout_EC_builtin_curve
  - EC_builtin_curve::default
  - bindgen_test_layout_ecdsa_sig_st
  - ecdsa_sig_st::default
  - bindgen_test_layout_evp_aead_ctx_st_state
  - evp_aead_ctx_st_state::default
  - bindgen_test_layout_evp_aead_ctx_st
  - evp_aead_ctx_st::default
  - bindgen_test_layout_obj_name_st
  - obj_name_st::default
  - bindgen_test_layout_md5_state_st
  - md5_state_st::default
  - bindgen_test_layout_md_ctx_union
  - md_ctx_union::default
  - bindgen_test_layout_hmac_ctx_st
  - hmac_ctx_st::default
  - bindgen_test_layout_evp_hpke_ctx_st
  - evp_hpke_ctx_st::default
  - bindgen_test_layout_evp_hpke_key_st
  - evp_hpke_key_st::default
  - bindgen_test_layout_HRSS_private_key
  - HRSS_private_key::default
  - bindgen_test_layout_HRSS_public_key
  - HRSS_public_key::default
  - bindgen_test_layout_md4_state_st
  - md4_state_st::default
  - bindgen_test_layout_pkcs7_st__bindgen_ty_1
  - pkcs7_st__bindgen_ty_1::default
  - bindgen_test_layout_pkcs7_st
  - pkcs7_st::default
  - bindgen_test_layout_pkcs7_signed_st
  - pkcs7_signed_st::default
  - bindgen_test_layout_pkcs7_signer_info_st
  - pkcs7_signer_info_st::default
  - bindgen_test_layout_pkcs7_sign_envelope_st
  - pkcs7_sign_envelope_st::default
  - bindgen_test_layout_pkcs7_envelope_st
  - pkcs7_envelope_st::default
  - bindgen_test_layout_pkcs7_recip_info_st
  - pkcs7_recip_info_st::default
  - bindgen_test_layout_pkcs7_issuer_and_serial_st
  - pkcs7_issuer_and_serial_st::default
  - bindgen_test_layout_otherName_st
  - otherName_st::default
  - bindgen_test_layout_EDIPartyName_st
  - EDIPartyName_st::default
  - bindgen_test_layout_GENERAL_NAME_st__bindgen_ty_1
  - GENERAL_NAME_st__bindgen_ty_1::default
  - bindgen_test_layout_GENERAL_NAME_st
  - GENERAL_NAME_st::default
  - bindgen_test_layout_Netscape_spki_st
  - Netscape_spki_st::default
  - bindgen_test_layout_Netscape_spkac_st
  - Netscape_spkac_st::default
  - bindgen_test_layout_rsa_pss_params_st
  - rsa_pss_params_st::default
  - bindgen_test_layout_private_key_st
  - private_key_st::default
  - bindgen_test_layout_X509_info_st
  - X509_info_st::default
  - bindgen_test_layout_v3_ext_method
  - v3_ext_method::default
  - bindgen_test_layout_v3_ext_ctx
  - v3_ext_ctx::default
  - bindgen_test_layout_x509_purpose_st
  - x509_purpose_st::default
  - bindgen_test_layout_X509_algor_st
  - X509_algor_st::default
  - bindgen_test_layout_x509_trust_st
  - x509_trust_st::default
  - bindgen_test_layout_BASIC_CONSTRAINTS_st
  - BASIC_CONSTRAINTS_st::default
  - bindgen_test_layout_ACCESS_DESCRIPTION_st
  - ACCESS_DESCRIPTION_st::default
  - bindgen_test_layout_DIST_POINT_NAME_st__bindgen_ty_1
  - DIST_POINT_NAME_st__bindgen_ty_1::default
  - bindgen_test_layout_DIST_POINT_NAME_st
  - DIST_POINT_NAME_st::default
  - bindgen_test_layout_DIST_POINT_st
  - DIST_POINT_st::default
  - bindgen_test_layout_AUTHORITY_KEYID_st
  - AUTHORITY_KEYID_st::default
  - bindgen_test_layout_NOTICEREF_st
  - NOTICEREF_st::default
  - bindgen_test_layout_USERNOTICE_st
  - USERNOTICE_st::default
  - bindgen_test_layout_POLICYQUALINFO_st__bindgen_ty_1
  - POLICYQUALINFO_st__bindgen_ty_1::default
  - bindgen_test_layout_POLICYQUALINFO_st
  - POLICYQUALINFO_st::default
  - bindgen_test_layout_POLICYINFO_st
  - POLICYINFO_st::default
  - bindgen_test_layout_POLICY_MAPPING_st
  - POLICY_MAPPING_st::default
  - bindgen_test_layout_GENERAL_SUBTREE_st
  - GENERAL_SUBTREE_st::default
  - bindgen_test_layout_NAME_CONSTRAINTS_st
  - NAME_CONSTRAINTS_st::default
  - bindgen_test_layout_POLICY_CONSTRAINTS_st
  - POLICY_CONSTRAINTS_st::default
  - bindgen_test_layout_ISSUING_DIST_POINT_st
  - ISSUING_DIST_POINT_st::default
  - bindgen_test_layout_rand_meth_st
  - bindgen_test_layout_rc4_key_st
  - rc4_key_st::default
  - bindgen_test_layout_RIPEMD160state_st
  - RIPEMD160state_st::default
  - bindgen_test_layout_trust_token_st
  - trust_token_st::default
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/aarch64_unknown_linux_musl_crypto.rs
- function_names:
  - __BindgenBitfieldUnit::new
  - __BindgenBitfieldUnit::extract_bit
  - __BindgenBitfieldUnit::get_bit
  - __BindgenBitfieldUnit::raw_get_bit
  - __BindgenBitfieldUnit::change_bit
  - __BindgenBitfieldUnit::set_bit
  - __BindgenBitfieldUnit::raw_set_bit
  - __BindgenBitfieldUnit::get
  - __BindgenBitfieldUnit::raw_get
  - __BindgenBitfieldUnit::set
  - __BindgenBitfieldUnit::raw_set
  - bindgen_test_layout_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::set_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::set_static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit_raw
  - static_assertion_at_line_224_error_is_pointer_size_must_be_8_bytes_for_64_bit::new_bitfield_1
  - bindgen_test_layout_aes_key_st
  - aes_key_st::default
  - bindgen_test_layout___sbuf
  - __sbuf::default
  - bindgen_test_layout_buf_mem_st
  - buf_mem_st::default
  - bindgen_test_layout_sha_state_st
  - sha_state_st::default
  - bindgen_test_layout_sha256_state_st
  - sha256_state_st::default
  - bindgen_test_layout_sha512_state_st
  - sha512_state_st::default
  - bindgen_test_layout_crypto_ex_data_st
  - crypto_ex_data_st::default
  - bindgen_test_layout_bio_method_st
  - bio_method_st::default
  - bindgen_test_layout_bio_st
  - bio_st::default
  - bindgen_test_layout_bn_gencb_st__bindgen_ty_1
  - bn_gencb_st__bindgen_ty_1::default
  - bindgen_test_layout_bn_gencb_st
  - bn_gencb_st::default
  - bindgen_test_layout_bignum_st
  - bignum_st::default
  - bindgen_test_layout_bn_mont_ctx_st
  - bn_mont_ctx_st::default
  - bindgen_test_layout_asn1_string_st
  - asn1_string_st::default
  - bindgen_test_layout_asn1_type_st__bindgen_ty_1
  - asn1_type_st__bindgen_ty_1::default
  - bindgen_test_layout_asn1_type_st
  - asn1_type_st::default
  - bindgen_test_layout_ASN1_TEMPLATE_st
  - ASN1_TEMPLATE_st::default
  - bindgen_test_layout_ASN1_ITEM_st
  - ASN1_ITEM_st::default
  - bindgen_test_layout_evp_encode_ctx_st
  - evp_encode_ctx_st::default
  - bindgen_test_layout_blake2b_state_st
  - blake2b_state_st::default
  - bindgen_test_layout_cbs_st
  - cbs_st::default
  - bindgen_test_layout_cbb_buffer_st
  - cbb_buffer_st::default
  - cbb_buffer_st::can_resize
  - cbb_buffer_st::set_can_resize
  - cbb_buffer_st::can_resize_raw
  - cbb_buffer_st::set_can_resize_raw
  - cbb_buffer_st::error
  - cbb_buffer_st::set_error
  - cbb_buffer_st::error_raw
  - cbb_buffer_st::set_error_raw
  - cbb_buffer_st::new_bitfield_1
  - bindgen_test_layout_cbb_child_st
  - cbb_child_st::default
  - cbb_child_st::pending_is_asn1
  - cbb_child_st::set_pending_is_asn1
  - cbb_child_st::pending_is_asn1_raw
  - cbb_child_st::set_pending_is_asn1_raw
  - cbb_child_st::new_bitfield_1
  - bindgen_test_layout_cbb_st__bindgen_ty_1
  - cbb_st__bindgen_ty_1::default
  - bindgen_test_layout_cbb_st
  - cbb_st::default
  - bindgen_test_layout_evp_cipher_ctx_st
  - evp_cipher_ctx_st::default
  - bindgen_test_layout_evp_cipher_info_st
  - evp_cipher_info_st::default
  - bindgen_test_layout_conf_value_st
  - conf_value_st::default
  - bindgen_test_layout_conf_st
  - conf_st::default
  - bindgen_test_layout_env_md_ctx_st
  - env_md_ctx_st::default
  - bindgen_test_layout_DSA_SIG_st
  - DSA_SIG_st::default
  - bindgen_test_layout_EC_builtin_curve
  - EC_builtin_curve::default
  - bindgen_test_layout_ecdsa_sig_st
  - ecdsa_sig_st::default
  - bindgen_test_layout_evp_aead_ctx_st_state
  - evp_aead_ctx_st_state::default
  - bindgen_test_layout_evp_aead_ctx_st
  - evp_aead_ctx_st::default
  - bindgen_test_layout_md5_state_st
  - md5_state_st::default
  - bindgen_test_layout_md_ctx_union
  - md_ctx_union::default
  - bindgen_test_layout_hmac_ctx_st
  - hmac_ctx_st::default
  - bindgen_test_layout_evp_hpke_ctx_st
  - evp_hpke_ctx_st::default
  - bindgen_test_layout_evp_hpke_key_st
  - evp_hpke_key_st::default
  - bindgen_test_layout_md4_state_st
  - md4_state_st::default
  - bindgen_test_layout_pkcs7_st__bindgen_ty_1
  - pkcs7_st__bindgen_ty_1::default
  - bindgen_test_layout_pkcs7_st
  - pkcs7_st::default
  - bindgen_test_layout_pkcs7_signed_st
  - pkcs7_signed_st::default
  - bindgen_test_layout_pkcs7_signer_info_st
  - pkcs7_signer_info_st::default
  - bindgen_test_layout_pkcs7_sign_envelope_st
  - pkcs7_sign_envelope_st::default
  - bindgen_test_layout_pkcs7_envelope_st
  - pkcs7_envelope_st::default
  - bindgen_test_layout_pkcs7_recip_info_st
  - pkcs7_recip_info_st::default
  - bindgen_test_layout_pkcs7_issuer_and_serial_st
  - pkcs7_issuer_and_serial_st::default
  - bindgen_test_layout_otherName_st
  - otherName_st::default
  - bindgen_test_layout_EDIPartyName_st
  - EDIPartyName_st::default
  - bindgen_test_layout_GENERAL_NAME_st__bindgen_ty_1
  - GENERAL_NAME_st__bindgen_ty_1::default
  - bindgen_test_layout_GENERAL_NAME_st
  - GENERAL_NAME_st::default
  - bindgen_test_layout_Netscape_spki_st
  - Netscape_spki_st::default
  - bindgen_test_layout_Netscape_spkac_st
  - Netscape_spkac_st::default
  - bindgen_test_layout_rsa_pss_params_st
  - rsa_pss_params_st::default
  - bindgen_test_layout_private_key_st
  - private_key_st::default
  - bindgen_test_layout_X509_info_st
  - X509_info_st::default
  - bindgen_test_layout_v3_ext_method
  - v3_ext_method::default
  - bindgen_test_layout_v3_ext_ctx
  - v3_ext_ctx::default
  - bindgen_test_layout_X509_algor_st
  - X509_algor_st::default
  - bindgen_test_layout_x509_trust_st
  - x509_trust_st::default
  - bindgen_test_layout_BASIC_CONSTRAINTS_st
  - BASIC_CONSTRAINTS_st::default
  - bindgen_test_layout_DIST_POINT_NAME_st__bindgen_ty_1
  - DIST_POINT_NAME_st__bindgen_ty_1::default
  - bindgen_test_layout_DIST_POINT_NAME_st
  - DIST_POINT_NAME_st::default
  - bindgen_test_layout_DIST_POINT_st
  - DIST_POINT_st::default
  - bindgen_test_layout_AUTHORITY_KEYID_st
  - AUTHORITY_KEYID_st::default
  - bindgen_test_layout_NAME_CONSTRAINTS_st
  - NAME_CONSTRAINTS_st::default
  - bindgen_test_layout_ISSUING_DIST_POINT_st
  - ISSUING_DIST_POINT_st::default
  - bindgen_test_layout_rand_meth_st
  - bindgen_test_layout_rc4_key_st
  - rc4_key_st::default
  - bindgen_test_layout_RIPEMD160state_st
  - RIPEMD160state_st::default
  - bindgen_test_layout_trust_token_st
  - trust_token_st::default
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/src/universal_no_u1_prefixed_crypto.rs
- function_names:
  - main
  - handle
  - retrieve_secret
  - CommitBuild::new
  - CommitBuild::commit
  - CommitBuild::build
  - gather_pull_request_builds
  - get_project_build_batches
  - get_ssm_document_list
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-sys/aws-lc/tests/ci/lambda/src/bin/purge-stale-builds.rs
- function_names:
  - main
  - export_sys_vars
  - try_export_var
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/build.rs
- function_names:
  - hkdf_tests
  - hkdf_output_len_tests
  - hkdf_info_len_tests
  - hkdf_key_types
  - hkdf_clone_tests
  - hkdf_thread_safeness
  - My::len
  - My::from
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hkdf_test.rs
- function_names:
  - aead_aes_gcm_128
  - aead_aes_gcm_192
  - aead_aes_gcm_256
  - aead_aes_gcm_siv_256
  - aead_aes_gcm_siv_128
  - aead_chacha20_poly1305
  - test_aead_all
  - test_aead
  - aead_open_bad_tag
  - aead_open_bad_nonce
  - aead_open_bad_aad
  - seal_with_key
  - open_with_key
  - seal_with_less_safe_key
  - seal_with_less_safe_key_scatter
  - open_with_less_safe_key
  - open_with_less_safe_key_gather
  - test_aead_key_sizes
  - test_aead_nonce_sizes
  - aead_chacha20_poly1305_openssh
  - test_aead_traits
  - test_aead_thread_safeness
  - test_open_in_place_separate_tag_for
  - test_less_safe_key_open_in_place_separate_tag
  - test_less_safe_key_open_in_place_separate_tag_empty_plaintext
  - test_less_safe_key_open_in_place_separate_tag_wrong_tag
  - test_less_safe_key_open_in_place_separate_tag_wrong_aad
  - test_aead_key_debug
  - make_key
  - make_less_safe_key
  - OneNonceSequence::new
  - OneNonceSequence::advance
  - prepare_nonce
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/aead_test.rs
- function_names:
  - hmac_tests
  - hmac_test_case_inner
  - hmac_debug
  - hmac_traits
  - hmac_thread_safeness
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/hmac_test.rs
- function_names:
  - digest_misc
  - digest_shavs::run_known_answer_test
  - digest_shavs::run_monte_carlo_fips_180_4_test
  - digest_shavs::run_monte_carlo_fips_202_test
  - test_i_u_f
  - test_large_digest
  - test_fmt_algorithm
  - digest_test_fmt
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/digest_test.rs
- function_names:
  - ecdsa_traits
  - ecdsa_from_pkcs8_test
  - ecdsa_generate_pkcs8_test
  - signature_ecdsa_verify_asn1_test
  - signature_ecdsa_verify_asn1_sha3_test
  - test_signature_ecdsa_verify_asn1
  - signature_ecdsa_verify_fixed_test
  - signature_ecdsa_verify_sha3_fixed_test
  - test_signature_ecdsa_verify_fixed
  - ecdsa_test_public_key_coverage
  - signature_ecdsa_sign_fixed_sign_and_verify_test
  - signature_ecdsa_sign_fixed_sign_and_verify_sha3_test
  - test_signature_ecdsa_sign_fixed_sign_and_verify
  - signature_ecdsa_sign_asn1_test
  - signature_ecdsa_sign_asn1_sha3_test
  - test_signature_ecdsa_sign_asn1
  - test_to_pkcs8
  - test_private_key
  - test_wrong_digest
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ecdsa_tests.rs
- function_names:
  - mldsa_keygen_test
  - mldsa_sigver_test
  - mldsa_sigver_digest_test
  - mldsa_44_keygen_test
  - mldsa_65_keygen_test
  - mldsa_87_keygen_test
  - mldsa_44_sigver_test
  - mldsa_65_sigver_test
  - mldsa_87_sigver_test
  - mldsa_44_sigver_digest_test
  - test_mldsa_seed_sign_verify
  - test_mldsa_seed_wrong_size
  - test_mldsa_seed_serialization_roundtrip
  - test_mldsa_seed_different_seeds_different_keys
  - test_mldsa_seed_zeroed_bytes
  - test_mldsa_seed_functional_equivalence
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pqdsa_test.rs
- function_names:
  - test_ed25519_traits
  - test_signature_ed25519
  - test_signature_ed25519_verify
  - test_signature_ed25519_digest_verify
  - test_signature_verification
  - test_ed25519_from_seed_and_public_key_misuse
  - t::e::s::t::_::e::d::2::5::5::1::9::_::f::r::o::m::_::p::k::c::s::8::check_result
  - test_ed25519_from_pkcs8
  - ed25519_test_public_key_coverage
  - test_to_pkcs8
  - test_to_pkcs8v1
  - test_seed
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/ed25519_tests.rs
- function_names:
  - test_system_random_lengths
  - test_system_random_traits
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rand_test.rs
- function_names:
  - test_quic_aes_128_gcm
  - test_quic_aes_256_gcm
  - test_quic_chacha20
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_quic_test.rs
- function_names:
  - test_rsa_pkcs8
  - test_rsa_from_der
  - test_sign
  - test_rsa_verify
  - test_signature_rsa_primitive_verification
  - test_encryption_rsa_primitive
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_rsa_test.rs
- function_names:
  - pbkdf2_tests
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/pbkdf2_test.rs
- function_names:
  - DeterministicRandom::new
  - DeterministicRandom::fill_impl
  - FixedBytesRandom::new
  - FixedBytesRandom::fill_impl
  - SequentialRandom::new
  - SequentialRandom::fill_impl
  - test_custom_secure_random_implementation
  - test_fixed_bytes_random_implementation
  - test_fixed_bytes_random_length_mismatch
  - test_sequential_random_implementation
  - test_mut_fill_method
  - test_empty_buffer_fill
  - test_large_buffer_fill
  - test_system_random_mut_fill
  - test_use_with_dyn_trait_object
  - test_mut_dyn_trait_object
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/unsealed_rand_test.rs
- function_names:
  - cavp_cmac_aes128_tests
  - cavp_cmac_aes192_tests
  - cavp_cmac_aes256_tests
  - cavp_cmac_3des_tests
  - test_sign_to_buffer_basic
  - test_sign_to_buffer_large_buffer
  - test_sign_to_buffer_too_small
  - test_sign_to_buffer_empty_data
  - test_context_verify_basic
  - test_context_verify_invalid_tag
  - test_context_verify_multipart
  - test_context_verify_wrong_data
  - test_context_verify_empty_data
  - test_verify_function_basic
  - test_sign_to_buffer_vs_sign
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cmac_tests.rs
- function_names:
  - step_encrypt
  - step_decrypt
  - streaming_cipher_rt
  - streaming_ecb_pkcs7_rt
  - streaming_cipher_kat
  - streaming_ecb_pkcs7_kat
  - padded_cipher_kat
  - padded_ecb_pkcs7_kat
  - cipher_kat
  - unpadded_cipher_kat
  - padded_cipher_rt
  - cipher_rt
  - ecb_rt
  - padded_ecb_pkcs7_rt
  - des_streaming_cipher_kat
  - des_streaming_cipher_rt
  - des_cipher_kat
  - des_padded_cipher_kat
  - des_cipher_rt
  - des_padded_cipher_rt
  - test_des_weak_keys_rejected
  - test_des_ede_rejects_k1_equals_k2
  - test_des_ede3_rejects_pairwise_equal_keys
  - test_des_unsupported_modes_rejected
  - test_streaming_cipher_traits
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/cipher_test.rs
- function_names:
  - quic_aes_128
  - quic_aes_256
  - quic_chacha20
  - test_quic
  - test_sample_len
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/quic_test.rs
- function_names:
  - SskdfVariant::try_from
  - Hash::try_from
  - '&''static SskdfHmacAlgorithm::from'
  - '&''static SskdfDigestAlgorithm::from'
  - '&''static KbkdfCtrHmacAlgorithm::from'
  - sskdf
  - assert_sskdf_digest
  - assert_sskdf_hmac
  - hkdf_ctr_hmac
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/kdf_test.rs
- function_names:
  - rsa_traits
  - rsa_from_pkcs8_test
  - test_signature_rsa_pkcs1_sign
  - test_signature_rsa_pss_sign
  - test_signature_rsa_pkcs1_verify
  - test_signature_rsa_pss_verify
  - test_signature_rsa_primitive_verification
  - test_rsa_public_key_components_to_parsed_public_key
  - test_rsa_public_key_components_to_parsed_public_key_rejects_empty_modulus
  - test_rsa_public_key_components_as_der_rejects_empty_modulus
  - test_rsa_public_key_components_rejects_invalid_exponent
  - test_rsa_public_key_components_to_parsed_public_key_small_key_fails_at_verify
  - test_rsa_public_key_components_as_der_round_trip_no_ring_io
  - test_rsa_public_key_components_to_parsed_public_key_pss
  - test_rsa_public_key_components_as_der_round_trip
  - rsa_test_public_key_coverage
  - keysize_len
  - generate_encode_decode
  - generate_fips_encode_decode
  - encryption_generate_encode_decode
  - encryption_generate_fips_encode_decode
  - public_key_components_clone_debug
  - encryption_algorithm_id
  - encryption_algorithm_debug
  - round_trip_oaep_algorithm
  - encrypting_keypair_debug
  - clone_then_drop
  - encrypt_decrypt_key_size
  - too_small_encrypt_key
  - too_small_signing_key_reports_too_small
  - min_encrypt_key
  - max_encrypt_key
  - errors_on_larger_than_max_plaintext
  - too_big_encrypt_key
  - too_large_signing_key_reports_too_large
  - round_trip_pkcs1_encryption
  - rsa2048_pkcs1_openssl_kat
  - test_wrong_digest
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/rsa_test.rs
- function_names:
  - test_openssh
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_openssh_test.rs
- function_names:
  - NotANonce::from
  - NotANonce::advance
  - AeadConfig::new
  - AeadConfig::key
  - AeadConfig::aad
  - AeadConfig::nonce
  - test_aes_128_gcm
  - test_aes_256_gcm
  - test_aes_256_gcm_siv
  - test_aes_128_gcm_siv
  - test_chacha20_poly1305
  - test_aead_separate_in_place
  - test_aead_append_within
  - test_types
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/tests/basic_aead_test.rs
- function_names:
  - get_fips_service_status
  - set_fips_service_status_unapproved
  - clear_fips_service_status
  - indicator::get_status
  - indicator::set_approved
  - indicator::set_unapproved
  - indicator::clear
  - service_indicator_before_call
  - service_indicator_after_call
  - FipsServiceStatus::map
  - indicator_check
  - check_fips_service_status
  - assert_fips_status_indicator
  - tests::test_service_status
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/fips.rs
- function_names: []
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/unstable.rs
- function_names:
  - derive_debug_via_id
  - derive_debug_via_field
  - derive_debug_self_as_ref_hex_bytes
  - write_hex_bytes
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/debug.rs
- function_names:
  - EdDSAParameters::parsed_verify_sig
  - EdDSAParameters::parsed_verify_digest_sig
  - EdDSAParameters::verify
  - EdDSAParameters::verify_sig
  - EdDSAParameters::verify_digest_sig
  - parse_ed25519_public_key
  - Ed25519KeyPair::fmt
  - Seed::as_be_bytes
  - Seed::fmt
  - PublicKey::as_ref
  - PublicKey::fmt
  - PublicKey::as_der
  - Ed25519KeyPair::public_key
  - generate_key
  - Ed25519KeyPair::generate
  - Ed25519KeyPair::generate_pkcs8
  - Ed25519KeyPair::to_pkcs8
  - Ed25519KeyPair::generate_pkcs8v1
  - Ed25519KeyPair::to_pkcs8v1
  - Ed25519KeyPair::from_seed_and_public_key
  - Ed25519KeyPair::from_seed_unchecked
  - Ed25519KeyPair::from_pkcs8
  - Ed25519KeyPair::from_pkcs8_maybe_unchecked
  - Ed25519KeyPair::parse_pkcs8
  - Ed25519KeyPair::sign
  - Ed25519KeyPair::try_sign
  - Ed25519KeyPair::seed
  - Ed25519KeyPair::as_der
  - Ed25519KeyPair::as_der
  - tests::test_generate
  - tests::test_generate_pkcs8
  - tests::test_from_pkcs8
  - tests::test_public_key_as_der_x509
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ed25519.rs
- function_names:
  - OperatingMode::evp_cipher
  - define_cipher_context
  - Algorithm::id
  - Algorithm::block_len
  - Algorithm::new_encryption_context
  - Algorithm::is_valid_encryption_context
  - Algorithm::is_valid_decryption_context
  - Algorithm::supports_mode
  - UnboundCipherKey::fmt
  - UnboundCipherKey::from
  - '&''static Algorithm::len'
  - UnboundCipherKey::new
  - UnboundCipherKey::algorithm
  - UnboundCipherKey::validate_key_material
  - UnboundCipherKey::try_into
  - EncryptingKey::ctr
  - EncryptingKey::cfb128
  - EncryptingKey::cbc
  - EncryptingKey::ecb
  - EncryptingKey::new
  - EncryptingKey::algorithm
  - EncryptingKey::mode
  - EncryptingKey::encrypt
  - EncryptingKey::less_safe_encrypt
  - EncryptingKey::fmt
  - DecryptingKey::ctr
  - DecryptingKey::cfb128
  - DecryptingKey::cbc
  - DecryptingKey::ecb
  - DecryptingKey::new
  - DecryptingKey::algorithm
  - DecryptingKey::mode
  - DecryptingKey::decrypt
  - DecryptingKey::fmt
  - encrypt
  - decrypt
  - tests::test_debug
  - tests::helper_test_cipher_n_bytes
  - tests::test_aes_128_ctr
  - tests::test_aes_128_cfb128
  - tests::test_aes_256_cfb128
  - tests::test_aes_256_ctr
  - tests::test_aes_128_cbc
  - tests::test_aes_256_cbc
  - tests::test_aes_128_ecb
  - tests::test_des_rejects_weak_key
  - tests::test_des_rejects_semi_weak_key
  - tests::test_des_ede_rejects_k1_equal_k2
  - tests::test_des_ede_rejects_weak_subkey
  - tests::test_des_ede3_rejects_degenerate_keys
  - tests::test_des_ede3_rejects_weak_subkey
  - tests::test_des_ede_rejects_semi_weak_subkey
  - tests::test_des_ede3_rejects_semi_weak_subkey
  - tests::test_des_rejects_unsupported_modes
  - tests::test_des_cbc
  - tests::test_des_ecb
  - tests::test_des_ede_cbc
  - tests::test_des_ede_ecb
  - tests::test_des_ede3_cbc
  - tests::test_des_ede3_ecb
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher.rs
- function_names:
  - generated_encodings
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/encoding.rs
- function_names:
  - AlgorithmID::from_nid
  - AlgorithmID::nid
  - AlgorithmID::priv_key_size_bytes
  - AlgorithmID::pub_key_size_bytes
  - AlgorithmID::seed_size_bytes
  - AlgorithmID::signature_size_bytes
  - validate_pqdsa_evp_key
  - parse_pqdsa_public_key
  - tests::test_keygen
  - tests::test_serialization_for
  - tests::test_signing_for
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa.rs
- function_names:
  - Algorithm::fmt
  - Secret::new
  - Secret::derive
  - Secret::derive_with_seed_concatination
  - Secret::drop
  - Secret::as_ref
  - '[u8; L]::try_from'
  - Secret::fmt
  - prf
  - tests::aws_lc_kat
  - tests::sha256
  - tests::sha384
  - tests::sha512
  - tests::try_into_array
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf.rs
- function_names:
  - Document::new
  - Document::as_ref
  - Document::drop
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pkcs8.rs
- function_names:
  - encode
  - encode_upper
  - decode
  - decode_dirty
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hex.rs
- function_names:
  - ManagedPointer::new
  - ManagedPointer::as_slice
  - ManagedPointer::drop
  - ConstPointer::from
  - ManagedPointer::as_const
  - ManagedPointer::as_const_ptr
  - ManagedPointer::project_const_lifetime
  - ManagedPointer::as_mut_ptr
  - DetachablePointer::as_mut_ptr
  - DetachablePointer::new
  - DetachablePointer::detach
  - ManagedPointer::from
  - DetachablePointer::drop
  - ConstPointer::new_static
  - ConstPointer::project_const_lifetime
  - ConstPointer::as_const_ptr
  - '*mut T::into_pointer'
  - create_pointer
  - tests::test_debug
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ptr.rs
- function_names:
  - LcCBB::new
  - LcCBB::into_vec
  - LcCBB::new_from_slice
  - LcCBB::finish
  - LcCBB::as_mut_ptr
  - LcCBB::drop
  - tests::dynamic_vec
  - tests::dynamic_buffer_grows
  - tests::fixed_buffer
  - tests::fixed_buffer_no_growth
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbb.rs
- function_names:
  - Algorithm::digest_algorithm
  - Algorithm::tag_len
  - Tag::as_ref
  - LcHmacCtx::as_mut_ptr
  - LcHmacCtx::as_ptr
  - LcHmacCtx::try_clone
  - LcHmacCtx::drop
  - LcHmacCtx::clone
  - Key::fmt
  - Key::generate
  - Key::construct
  - Key::new
  - Key::try_new
  - Key::get_hmac_ctx_ptr
  - Key::algorithm
  - Algorithm::len
  - Key::from
  - Context::clone
  - Context::fmt
  - Context::with_key
  - Context::update
  - Context::try_update
  - Context::sign
  - Context::try_sign
  - internal_sign
  - sign
  - sign_to_buffer
  - verify
  - tests::hmac_algorithm_properties
  - tests::hmac_internal_sign_too_small_buffer
  - tests::hmac_signing_key_coverage
  - tests::hmac_coverage
  - tests::hmac_sign_to_buffer_test
  - tests::hmac_sign_to_buffer_too_small_test
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac.rs
- function_names: []
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/io.rs
- function_names:
  - Algorithm::key_len
  - Algorithm::tag_len
  - AlgorithmId::evp_cipher
  - Tag::as_ref
  - LcPtr::clone
  - Key::fmt
  - Key::generate
  - Key::new
  - Key::algorithm
  - Context::clone
  - Context::fmt
  - Context::with_key
  - Context::update
  - Context::sign
  - Context::verify
  - internal_sign
  - sign
  - sign_to_buffer
  - verify
  - tests::cmac_basic_test
  - tests::cmac_signing_key_coverage
  - tests::cmac_coverage
  - tests::cmac_context_test
  - tests::cmac_multi_part_test
  - tests::cmac_key_new_test
  - tests::cmac_key_new_wrong_length_test
  - tests::cmac_algorithm_properties
  - tests::cmac_empty_data
  - tests::des_ede3_cmac_test
  - tests::cmac_sign_to_buffer_test
  - tests::cmac_sign_to_buffer_too_small_test
  - tests::cmac_context_verify_test
  - tests::cmac_context_verify_multipart_test
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac.rs
- function_names:
  - verify_slices_are_equal
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/constant_time.rs
- function_names:
  - Unspecified::fmt
  - Unspecified::from
  - KeyRejected::description_
  - KeyRejected::inconsistent_components
  - KeyRejected::invalid_encoding
  - KeyRejected::too_small
  - KeyRejected::too_large
  - KeyRejected::wrong_algorithm
  - KeyRejected::unexpected_error
  - KeyRejected::unspecified
  - KeyRejected::description
  - KeyRejected::cause
  - Unspecified::description
  - Unspecified::cause
  - KeyRejected::fmt
  - Unspecified::from
  - Unspecified::from
  - ()::from
  - KeyRejected::from
  - Unspecified::from
  - Unspecified::from
  - KeyRejected::from
  - KeyRejected::from
  - tests::display_unspecified
  - tests::unexpected_error
  - tests::std_error
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/error.rs
- function_names:
  - FixedLength::size
  - FixedLength::new
  - FixedLength::drop
  - FixedLength::as_ref
  - FixedLength::from
  - FixedLength::from
  - FixedLength::try_from
  - '[u8; L]::try_from'
  - tests::test_size
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/iv.rs
- function_names:
  - compile_time_assert_clone
  - compile_time_assert_copy
  - compile_time_assert_eq
  - compile_time_assert_send
  - compile_time_assert_sync
  - compile_time_assert_std_error_error
  - TestCase::consume_digest_alg
  - TestCase::consume_bytes
  - TestCase::consume_optional_bytes
  - TestCase::consume_usize
  - TestCase::consume_bool
  - TestCase::consume_string
  - TestCase::consume_optional_string
  - test_file
  - run
  - parse_test_case
  - tests::fixed_byte_random
  - tests::fixed_slice_random
  - tests::fixed_slice_random_length_mismatch
  - tests::fixed_slice_sequence_random
  - tests::fixed_slice_sequence_random_no_remaining
  - tests::one_ok
  - tests::one_err
  - tests::one_panics
  - tests::first_err
  - tests::middle_err
  - tests::last_err
  - tests::err_one
  - tests::first_panic
  - tests::middle_panic
  - tests::last_panic
  - tests::panic_one
  - tests::syntax_error
  - tests::test_to_hex_upper
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/test.rs
- function_names:
  - as_byte_slice
  - define_endian
  - impl_array_encoding
  - impl_endian
  - tests::test_big_endian
  - tests::test_endian_from_array
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/endian.rs
- function_names:
  - tests::zero_length_output
  - tests::zero_length_secret
  - tests::sskdf_digest_test
  - tests::sskdf_hmac_test
  - tests::kbkdf_ctr_hmac_test
  - tests::algorithm_equality
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf.rs
- function_names:
  - derive
  - try_derive
  - verify
  - tests::pbkdf2_coverage
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pbkdf2.rs
- function_names:
  - init
  - fips_mode
  - try_fips_mode
  - awslc_version
  - fips_version
  - fips_cpu_jitter_entropy
  - try_fips_cpu_jitter_entropy
  - dump_error
  - tests::test_init
  - tests::test_dump
  - tests::test_fips
  - tests::test_fips
  - tests::test_awslc_version
  - tests::test_fips_version
  - tests::test_fips_version
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/lib.rs
- function_names:
  - verify_ec_key_nid
  - verify_evp_key_nid
  - validate_ec_evp_key
  - evp_key_generate
  - ec_group_from_nid
  - ecdsa_asn1_to_fixed
  - compressed_public_key_size_bytes
  - uncompressed_public_key_size_bytes
  - tests::test_from_pkcs8
  - tests::test_ecdsa_asn1_verify
  - tests::public_key_formats
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec.rs
- function_names:
  - T::fill
  - T::mut_fill
  - Random::expose
  - generate
  - SystemRandom::new
  - SystemRandom::default
  - SystemRandom::fill_impl
  - fill
  - tests::test_secure_random_fill
  - tests::test_rand_fill
  - tests::test_randomly_constructable
  - tests::mean_variance
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rand.rs
- function_names:
  - AesBlockCipher::id
  - AesBlockCipher::key_len
  - AesBlockCipher::fmt
  - KeyEncryptionKey::new
  - KeyEncryptionKey::block_cipher_id
  - KeyEncryptionKey::wrap
  - KeyEncryptionKey::unwrap
  - KeyEncryptionKey::wrap_with_padding
  - KeyEncryptionKey::unwrap_with_padding
  - KeyEncryptionKey::fmt
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap.rs
- function_names:
  - Buffer::drop
  - Buffer::new
  - Buffer::take_from_slice
  - Buffer::fmt
  - Buffer::as_ref
  - tests::test_new
  - tests::test_take_from_slice
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/buffer.rs
- function_names:
  - Context::new
  - Context::update
  - Context::try_update
  - Context::finish
  - Context::try_finish
  - Context::algorithm
  - digest
  - Digest::import_less_safe
  - Digest::algorithm
  - Digest::as_ref
  - Digest::fmt
  - Algorithm::output_len
  - Algorithm::chaining_len
  - Algorithm::block_len
  - Algorithm::eq
  - match_digest_type
  - max_input_tests
  - tests::max_input_test
  - tests::too_long_input_test_block
  - tests::too_long_input_test_byte
  - tests::nearly_full_context
  - tests::digest_coverage
  - tests::test_import_less_safe
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest.rs
- function_names:
  - OpeningKey::new
  - OpeningKey::algorithm
  - OpeningKey::fmt
  - OpeningKey::open_in_place
  - OpeningKey::open_within
  - OpeningKey::prepare_nonce
  - SealingKey::new
  - SealingKey::algorithm
  - SealingKey::fmt
  - SealingKey::seal_in_place
  - SealingKey::seal_in_place_append_tag
  - SealingKey::seal_in_place_separate_tag
  - SealingKey::prepare_nonce
  - nonce_seq_key_op_mut
  - OpeningKeyPreparedNonce::open_in_place
  - OpeningKeyPreparedNonce::open_within
  - SealingKeyPreparedNonce::seal_in_place_append_tag
  - SealingKeyPreparedNonce::seal_in_place_separate_tag
  - Aad::from
  - Aad::as_ref
  - Aad::empty
  - '&''static Algorithm::len'
  - LessSafeKey::new
  - LessSafeKey::open_in_place
  - LessSafeKey::open_in_place_separate_tag
  - LessSafeKey::open_within
  - LessSafeKey::open_separate_gather
  - LessSafeKey::seal_in_place
  - LessSafeKey::seal_in_place_append_tag
  - LessSafeKey::seal_in_place_separate_tag
  - LessSafeKey::seal_in_place_scatter
  - LessSafeKey::algorithm
  - LessSafeKey::fmt
  - Algorithm::key_len
  - Algorithm::tag_len
  - Algorithm::nonce_len
  - Algorithm::eq
  - Tag::as_ref
  - Tag::fmt
  - tests::test_aes_128
  - tests::debug_prepared_nonce
  - tests::debug_tag
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead.rs
- function_names:
  - Algorithm::id
  - Algorithm::decapsulate_key_size
  - Algorithm::encapsulate_key_size
  - Algorithm::ciphertext_size
  - Algorithm::shared_secret_size
  - Algorithm::fmt
  - AlgorithmId::nid
  - DecapsulationKey::new
  - DecapsulationKey::generate
  - DecapsulationKey::algorithm
  - DecapsulationKey::key_bytes
  - DecapsulationKey::encapsulation_key
  - DecapsulationKey::decapsulate
  - DecapsulationKey::fmt
  - EncapsulationKey::algorithm
  - EncapsulationKey::encapsulate
  - EncapsulationKey::key_bytes
  - EncapsulationKey::new
  - EncapsulationKey::fmt
  - Ciphertext::new
  - Ciphertext::drop
  - Ciphertext::as_ref
  - Ciphertext::from
  - SharedSecret::new
  - SharedSecret::drop
  - SharedSecret::as_ref
  - kem_key_generate
  - tests::ciphertext
  - tests::shared_secret
  - tests::test_kem_serialize
  - tests::test_kem_wrong_sizes
  - tests::test_kem_e2e
  - tests::test_serialized_kem_e2e
  - tests::test_decapsulation_key_serialization_roundtrip
  - tests::test_decapsulation_key_zeroed_bytes
  - tests::test_cross_algorithm_key_rejection
  - tests::test_debug_fmt
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kem.rs
- function_names:
  - Signature::new
  - Signature::as_ref
  - ParsedPublicKey::new
  - ParsedPublicKey::algorithm
  - ParsedPublicKey::key
  - ParsedPublicKey::from_rsa_evp_pkey
  - ParsedPublicKey::verify_sig
  - ParsedPublicKey::verify_digest_sig
  - ParsedPublicKey::as_der
  - ParsedPublicKey::as_ref
  - ParsedPublicKey::fmt
  - UnparsedPublicKey::as_ref
  - UnparsedPublicKey::fmt
  - UnparsedPublicKey::new
  - UnparsedPublicKey::verify
  - UnparsedPublicKey::verify_digest
  - UnparsedPublicKey::parse
  - parse_public_key
  - tests::test_unparsed_public_key
  - tests::test_types
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature.rs
- function_names:
  - AlgorithmID::nid
  - AlgorithmID::pub_key_len
  - AlgorithmID::private_key_len
  - AlgorithmID::fmt
  - Algorithm::fmt
  - KeyInner::clone
  - KeyInner::algorithm
  - KeyInner::get_evp_pkey
  - PrivateKey::fmt
  - PrivateKey::new
  - PrivateKey::generate
  - PrivateKey::from_private_key_der
  - PrivateKey::from_private_key
  - PrivateKey::generate_for_test
  - PrivateKey::from_x25519_private_key
  - PrivateKey::from_p256_private_key
  - PrivateKey::from_p384_private_key
  - PrivateKey::from_p521_private_key
  - PrivateKey::compute_public_key
  - PrivateKey::algorithm
  - PrivateKey::as_der
  - PrivateKey::as_der
  - PrivateKey::as_be_bytes
  - PrivateKey::as_be_bytes
  - generate_x25519
  - PublicKey::algorithm
  - PublicKey::fmt
  - PublicKey::as_ref
  - PublicKey::clone
  - PublicKey::as_der
  - PublicKey::as_be_bytes
  - PublicKey::as_be_bytes
  - UnparsedPublicKey::fmt
  - UnparsedPublicKey::new
  - UnparsedPublicKey::algorithm
  - UnparsedPublicKey::bytes
  - ParsedPublicKey::nid
  - ParsedPublicKey::format
  - ParsedPublicKey::mut_key
  - ParsedPublicKey::alg
  - ParsedPublicKey::new
  - ParsedPublicKey::as_ref
  - UnparsedPublicKey::parse
  - ParsedPublicKey::try_from
  - ParsedPublicKey::try_from
  - agree
  - try_parse_x25519_public_key_raw_bytes
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement.rs
- function_names:
  - Algorithm::hmac_algorithm
  - Algorithm::len
  - Salt::fmt
  - Salt::new
  - Salt::none
  - Salt::extract
  - Salt::algorithm
  - Salt::from
  - PrkMode::fill
  - PrkMode::fmt
  - ZeroizeBoxSlice::deref
  - ZeroizeBoxSlice::from
  - ZeroizeBoxSlice::drop
  - Prk::drop
  - Prk::fmt
  - Prk::new_less_safe
  - Prk::try_new_less_safe
  - Prk::expand
  - Prk::from
  - Okm::fmt
  - concatenate_info
  - Okm::len
  - Okm::fill
  - tests::hkdf_coverage
  - tests::test_debug
  - tests::test_salt_none_matches_empty_salt
  - tests::test_long_salt
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf.rs
- function_names:
  - LcPtr::eq
  - ConstPointer::validate_as_ed25519
  - ConstPointer::id
  - ConstPointer::key_size_bytes
  - ConstPointer::key_size_bits
  - ConstPointer::signature_size_bytes
  - ConstPointer::get_ec_key
  - ConstPointer::get_rsa
  - ConstPointer::marshal_rfc5280_public_key
  - ConstPointer::marshal_rfc5208_private_key
  - ConstPointer::marshal_raw_private_key
  - ConstPointer::marshal_raw_private_to_buffer
  - ConstPointer::marshal_raw_public_key
  - ConstPointer::marshal_raw_public_to_buffer
  - LcPtr::as_mut_unsafe_ptr
  - LcPtr::parse_rfc5280_public_key
  - LcPtr::parse_rfc5208_private_key
  - LcPtr::create_EVP_PKEY_CTX
  - LcPtr::parse_raw_private_key
  - LcPtr::parse_raw_public_key
  - LcPtr::sign
  - LcPtr::sign_digest
  - LcPtr::verify
  - LcPtr::verify_digest_sig
  - LcPtr::agree
  - LcPtr::generate
  - LcPtr::clone
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/evp_pkey.rs
- function_names:
  - build_CBS
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cbs.rs
- function_names:
  - tests::test_rsa
  - tests::test_debug
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa.rs
- function_names:
  - LcPtr::try_from
  - DetachableLcPtr::try_from
  - DetachableLcPtr::try_from
  - ConstPointer::to_be_bytes
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/bn.rs
- function_names:
  - usize::from
  - u8::from
  - expect_tag_and_get_value
  - read_tag_and_get_value
  - bit_string_with_no_unused_bits
  - nested
  - n::o::n::n::e::g::a::t::i::v::e::_::i::n::t::e::g::e::r::check_minimum
  - nonnegative_integer
  - small_nonnegative_integer
  - positive_integer
  - tests::with_good_i
  - tests::with_bad_i
  - tests::test_small_nonnegative_integer
  - tests::test_positive_integer
  - tests::test_tag
  - tests::test_big
  - tests::test_bit_string_with_no_unused_bits
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/io/der.rs
- function_names:
  - Positive::new_non_empty_without_leading_zeros
  - Positive::big_endian_without_leading_zero
  - Positive::big_endian_without_leading_zero_as_input
  - Positive::first_byte
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/io/positive.rs
- function_names:
  - block_cipher_test
  - key_encryption_key_debug_impl
  - nist_aes_key_wrap_test
  - nist_aes_key_wrap_with_padding_test
  - nist_aes_key_unwrap_test
  - nist_aes_key_unwrap_with_padding_test
  - wrap_input_output_invalid_test
  - unwrap_input_output_invalid_test
  - wrap_with_padding_input_output_invalid_test
  - unwrap_with_padding_input_output_invalid_test
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests.rs
- function_names:
  - nist_aes_key_wrap_test
  - nist_aes_key_wrap_with_padding_test
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/key_wrap/tests/fips.rs
- function_names:
  - cmac_api
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cmac/tests/fips.rs
- function_names:
  - hmac_api
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hmac/tests/fips.rs
- function_names:
  - DigestContext::new
  - DigestContext::new_uninit
  - DigestContext::as_mut_ptr
  - DigestContext::as_ptr
  - DigestContext::clone
  - DigestContext::drop
  - DigestContext::try_clone
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/digest_ctx.rs
- function_names:
  - sha1_digest
  - sha224_digest
  - sha256_digest
  - sha384_digest
  - sha512_digest
  - sha512_256_digest
  - sha3_256_digest
  - sha3_384_digest
  - sha3_512_digest
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/sha.rs
- function_names:
  - digest_api
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/digest/tests/fips.rs
- function_names:
  - Block::zero
  - Block::from
  - Block::as_ref
  - Block::as_mut
  - tests::test_block_clone
  - tests::test_block_clone_mut_ref
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/block.rs
- function_names:
  - ChaCha20Key::from
  - ChaCha20Key::drop
  - ChaCha20Key::encrypt_in_place
  - encrypt_block_chacha20
  - encrypt_chacha20
  - encrypt_in_place_chacha20
  - tests::chacha20_test
  - tests::chacha20_test_case_inner
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/chacha.rs
- function_names:
  - BufferUpdate::new
  - BufferUpdate::written
  - BufferUpdate::remainder
  - BufferUpdate::remainder_mut
  - evp_encrypt_init
  - evp_decrypt_init
  - StreamingEncryptingKey::new
  - StreamingEncryptingKey::update_internal
  - StreamingEncryptingKey::update
  - StreamingEncryptingKey::less_safe_update
  - StreamingEncryptingKey::finish
  - StreamingEncryptingKey::mode
  - StreamingEncryptingKey::algorithm
  - StreamingEncryptingKey::ctr
  - StreamingEncryptingKey::less_safe_ctr
  - StreamingEncryptingKey::cbc_pkcs7
  - StreamingEncryptingKey::cfb128
  - StreamingEncryptingKey::ecb_pkcs7
  - StreamingEncryptingKey::less_safe_cfb128
  - StreamingEncryptingKey::less_safe_cbc_pkcs7
  - StreamingDecryptingKey::new
  - StreamingDecryptingKey::update_internal
  - StreamingDecryptingKey::update
  - StreamingDecryptingKey::less_safe_update
  - StreamingDecryptingKey::finish
  - StreamingDecryptingKey::mode
  - StreamingDecryptingKey::algorithm
  - StreamingDecryptingKey::ctr
  - StreamingDecryptingKey::cbc_pkcs7
  - StreamingDecryptingKey::cfb128
  - StreamingDecryptingKey::ecb_pkcs7
  - tests::step_encrypt_with_updater
  - tests::step_decrypt_with_updater
  - tests::step_encrypt
  - tests::step_decrypt
  - tests::step_encrypt_less_safe
  - tests::step_decrypt_less_safe
  - tests::test_step_cbc
  - tests::test_step_ctr
  - tests::test_step_cfb128
  - tests::test_step_ecb_pkcs7
  - tests::test_step_cbc_less_safe
  - tests::test_step_ctr_less_safe
  - tests::test_step_cfb128_less_safe
  - tests::test_step_ecb_pkcs7_less_safe
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/streaming.rs
- function_names:
  - PaddingStrategy::add_padding
  - PaddingStrategy::remove_padding
  - PaddedBlockEncryptingKey::cbc_pkcs7
  - PaddedBlockEncryptingKey::ecb_pkcs7
  - PaddedBlockEncryptingKey::new
  - PaddedBlockEncryptingKey::algorithm
  - PaddedBlockEncryptingKey::mode
  - PaddedBlockEncryptingKey::encrypt
  - PaddedBlockEncryptingKey::less_safe_encrypt
  - PaddedBlockEncryptingKey::fmt
  - PaddedBlockDecryptingKey::cbc_pkcs7
  - PaddedBlockDecryptingKey::cbc_iso10126
  - PaddedBlockDecryptingKey::ecb_pkcs7
  - PaddedBlockDecryptingKey::new
  - PaddedBlockDecryptingKey::algorithm
  - PaddedBlockDecryptingKey::mode
  - PaddedBlockDecryptingKey::decrypt
  - PaddedBlockDecryptingKey::fmt
  - tests::helper_test_padded_cipher_n_bytes
  - tests::test_unpad_iso10126
  - tests::test_aes_128_cbc
  - tests::test_aes_256_cbc
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/padded.rs
- function_names:
  - encrypt_block
  - encrypt_ctr_mode
  - decrypt_ctr_mode
  - encrypt_cbc_mode
  - decrypt_cbc_mode
  - encrypt_cfb_mode
  - decrypt_cfb_mode
  - encrypt_ecb_mode
  - decrypt_ecb_mode
  - aes_ecb_encrypt
  - aes_ecb_decrypt
  - aes_ctr128_encrypt
  - aes_cbc_encrypt
  - aes_cbc_decrypt
  - aes_cfb128_encrypt
  - aes_cfb128_decrypt
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/aes.rs
- function_names:
  - SymmetricCipherKey::drop
  - SymmetricCipherKey::aes
  - SymmetricCipherKey::aes128
  - SymmetricCipherKey::aes192
  - SymmetricCipherKey::aes256
  - SymmetricCipherKey::chacha20
  - SymmetricCipherKey::prepare_des
  - SymmetricCipherKey::des
  - SymmetricCipherKey::prepare_des_ede
  - SymmetricCipherKey::des_ede
  - SymmetricCipherKey::des_set_key
  - SymmetricCipherKey::prepare_des_ede3
  - SymmetricCipherKey::des_ede3
  - SymmetricCipherKey::encrypt_block
  - tests::test_encrypt_block_aes_128
  - tests::test_encrypt_block_aes_256
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/key.rs
- function_names:
  - encrypt_cbc_mode
  - decrypt_cbc_mode
  - encrypt_ecb_mode
  - decrypt_ecb_mode
  - des3_cbc_encrypt
  - des3_ecb_encrypt
  - des_cbc_encrypt
  - des_ecb_encrypt
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/des.rs
- function_names:
  - block_api
  - streaming_api
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/cipher/tests/fips.rs
- function_names:
  - TlsRecordSealingKey::new
  - TlsRecordSealingKey::seal_in_place_append_tag
  - TlsRecordSealingKey::seal_in_place_separate_tag
  - TlsRecordSealingKey::algorithm
  - TlsRecordSealingKey::tls_protocol_id
  - TlsRecordSealingKey::fmt
  - TlsRecordOpeningKey::new
  - TlsRecordOpeningKey::open_in_place
  - TlsRecordOpeningKey::open_within
  - TlsRecordOpeningKey::algorithm
  - TlsRecordOpeningKey::tls_protocol_id
  - TlsRecordOpeningKey::fmt
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tls.rs
- function_names:
  - UnboundKey::fmt
  - UnboundKey::new
  - UnboundKey::open_within
  - UnboundKey::open_separate_gather
  - UnboundKey::open_in_place_separate_tag
  - UnboundKey::open_separate_gather_impl
  - UnboundKey::seal_in_place_append_tag
  - UnboundKey::seal_in_place_separate_tag
  - UnboundKey::seal_in_place_separate_scatter
  - UnboundKey::algorithm
  - UnboundKey::check_per_nonce_max_bytes
  - UnboundKey::open_combined
  - UnboundKey::open_combined_randnonce
  - UnboundKey::seal_combined
  - UnboundKey::seal_combined_randnonce
  - UnboundKey::seal_separate
  - UnboundKey::seal_separate_randnonce
  - UnboundKey::from
  - UnboundKey::from
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/unbound_key.rs
- function_names:
  - Nonce::try_assume_unique_for_key
  - Nonce::assume_unique_for_key
  - Nonce::as_ref
  - Nonce::from
  - Nonce::from
  - Nonce::from
  - Nonce::from
  - Nonce::from
  - Nonce::from
  - tests::test_nonce_from_byte_array
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce.rs
- function_names:
  - init_chacha_aead
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/chacha.rs
- function_names:
  - HeaderProtectionKey::from
  - HeaderProtectionKey::new
  - HeaderProtectionKey::new_mask
  - HeaderProtectionKey::algorithm
  - '&''static Algorithm::len'
  - Algorithm::key_len
  - Algorithm::sample_len
  - Algorithm::eq
  - cipher_new_mask
  - test::test_types
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/quic.rs
- function_names:
  - Key::new
  - Context::from_key
  - Context::update
  - Context::finish
  - sign
  - tests::test_poly1305
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/poly1305.rs
- function_names:
  - evp_aead_direction_t::from
  - AeadCtx::aes_128_gcm
  - AeadCtx::aes_128_gcm_siv
  - AeadCtx::aes_192_gcm
  - AeadCtx::aes_256_gcm
  - AeadCtx::aes_256_gcm_siv
  - AeadCtx::aes_128_gcm_randnonce
  - AeadCtx::aes_256_gcm_randnonce
  - AeadCtx::aes_128_gcm_tls12
  - AeadCtx::aes_256_gcm_tls12
  - AeadCtx::aes_128_gcm_tls13
  - AeadCtx::aes_256_gcm_tls13
  - AeadCtx::chacha20
  - AeadCtx::aes_128_context
  - AeadCtx::aes_192_context
  - AeadCtx::aes_256_context
  - AeadCtx::build_context
  - AeadCtx::as_ref
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aead_ctx.rs
- function_names:
  - SealingKey::new
  - SealingKey::seal_in_place
  - OpeningKey::new
  - OpeningKey::decrypt_packet_length
  - OpeningKey::open_in_place
  - Key::new
  - make_nonce
  - verify
  - derive_poly1305_key
  - tests::derive_poly1305_test
  - tests::test_decrypt_packet_length
  - tests::test_types
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/chacha20_poly1305_openssh.rs
- function_names:
  - RandomizedNonceKey::new
  - RandomizedNonceKey::open_in_place
  - RandomizedNonceKey::seal_in_place_append_tag
  - RandomizedNonceKey::seal_in_place_separate_tag
  - RandomizedNonceKey::algorithm
  - RandomizedNonceKey::fmt
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/rand_nonce.rs
- function_names: []
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence.rs
- function_names:
  - init_128_aead
  - init_192_aead
  - init_256_aead
  - init_256_aead_siv
  - init_128_aead_siv
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/aes_gcm.rs
- function_names:
  - nonce_sequence_api
  - randnonce_api
  - tls_nonce_api
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips.rs
- function_names:
  - quic_api
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips/quic.rs
- function_names:
  - test
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/tests/fips/chacha20_poly1305_openssh.rs
- function_names:
  - Counter64Builder::default
  - Counter64Builder::new
  - Counter64Builder::identifier
  - Counter64Builder::counter
  - Counter64Builder::limit
  - Counter64Builder::build
  - Counter64::identifier
  - Counter64::counter
  - Counter64::generated
  - Counter64::limit
  - Counter64::advance
  - tests::test_counter64_identifier
  - tests::test_counter64
  - tests::test_counter64_id
  - tests::test_counter64_limit
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter64.rs
- function_names:
  - Counter32Builder::default
  - Counter32Builder::new
  - Counter32Builder::identifier
  - Counter32Builder::counter
  - Counter32Builder::limit
  - Counter32Builder::build
  - Counter32::identifier
  - Counter32::counter
  - Counter32::generated
  - Counter32::limit
  - Counter32::advance
  - tests::test_counter32_identifier
  - tests::test_counter32
  - tests::test_counter32_int_id
  - tests::test_counter32_limit
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/aead/nonce_sequence/counter32.rs
- function_names:
  - test_parsed_public_key_ed25519
  - test_parsed_public_key_ecdsa_p256
  - test_parsed_public_key_ecdsa_p256_fixed
  - test_parsed_public_key_ecdsa_p384
  - test_parsed_public_key_rsa_pkcs1
  - test_parsed_public_key_rsa_pss
  - test_parsed_public_key_verify_digest
  - test_parsed_public_key_invalid_key
  - test_unparsed_to_parsed_conversion
  - test_parsed_public_key_debug
  - test_parsed_public_key_efficiency
  - test_parsed_vs_unparsed_equivalence
  - test_parsed_public_key_with_test_data_files
  - test_parsed_public_key_with_known_vectors
  - test_parsed_public_key_algorithm_mismatch
  - test_parsed_public_key_empty_bytes
  - test_parsed_public_key_wrong_size
  - test_parsed_public_key_malformed_der
  - test_parsed_public_key_cross_verification
  - test_parsed_public_key_ml_dsa_44
  - test_parsed_public_key_ml_dsa_65
  - test_parsed_public_key_ml_dsa_87
  - test_parsed_public_key_pqdsa_with_x509_der
  - test_parsed_public_key_pqdsa_invalid_key
  - test_parsed_public_key_pqdsa_algorithm_mismatch
  - test_parsed_public_key_pqdsa_cross_verification
  - test_parsed_public_key_pqdsa_verify_digest
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/parsed_public_key_tests.rs
- function_names:
  - ecdsa_generate_sign_verify
  - ed25519
  - ecdsa_verify
  - rsa_sign_verify
  - rsa_verify
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/tests/fips.rs
- function_names: []
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/signature/tests/fips/keys.rs
- function_names:
  - sec1::parse_sec1_public_point
  - sec1::from_ec_public_point
  - sec1::parse_sec1_private_bn
  - sec1::from_ec_private_bn
  - sec1::marshal_sec1_public_point
  - sec1::marshal_sec1_public_point_into_buffer
  - sec1::marshal_sec1_public_point_into_cbb
  - sec1::marshal_sec1_private_key
  - rfc5915::parse_rfc5915_private_key
  - rfc5915::marshal_rfc5915_private_key
  - parse_ec_public_key
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/encoding.rs
- function_names:
  - EcdsaKeyPair::fmt
  - EcdsaKeyPair::public_key
  - EcdsaKeyPair::new
  - EcdsaKeyPair::generate
  - EcdsaKeyPair::from_pkcs8
  - EcdsaKeyPair::generate_pkcs8
  - EcdsaKeyPair::to_pkcs8v1
  - EcdsaKeyPair::from_private_key_and_public_key
  - EcdsaKeyPair::from_private_key_der
  - EcdsaKeyPair::private_key
  - EcdsaKeyPair::algorithm
  - EcdsaKeyPair::sign
  - EcdsaKeyPair::sign_digest
  - PrivateKey::fmt
  - PrivateKey::as_be_bytes
  - PrivateKey::as_der
  - tests::test_reject_wrong_curve
  - tests::test_from_private_key_der
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/key_pair.rs
- function_names:
  - EcdsaSigningAlgorithm::deref
  - AlgorithmID::nid
  - AlgorithmID::private_key_size
  - AlgorithmID::compressed_pub_key_len
  - public_key_from_evp_pkey
  - PublicKey::as_der
  - PublicKey::as_be_bytes
  - PublicKey::as_be_bytes
  - PublicKey::fmt
  - PublicKey::as_ref
  - EcdsaVerificationAlgorithm::verify
  - EcdsaVerificationAlgorithm::verify_sig
  - EcdsaVerificationAlgorithm::verify_digest_sig
  - EcdsaVerificationAlgorithm::verify_ecdsa
  - EcdsaVerificationAlgorithm::verify_digest_ecdsa
  - EcdsaVerificationAlgorithm::parsed_verify_sig
  - EcdsaVerificationAlgorithm::parsed_verify_digest_sig
  - convert_fixed_signature
  - verify_asn1_signature
  - verify_asn1_digest_signature
  - ecdsa_sig_from_fixed
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/ec/signature.rs
- function_names:
  - test_types
  - test_parsed_public_key_x25519_raw
  - test_parsed_public_key_x25519_x509
  - test_parsed_public_key_p256_uncompressed
  - test_parsed_public_key_p256_compressed
  - test_parsed_public_key_p256_x509
  - test_parsed_public_key_p384
  - test_parsed_public_key_p521
  - test_parsed_public_key_invalid_empty
  - test_parsed_public_key_invalid_nid
  - test_unparsed_to_parsed_conversion
  - test_agree_with_parsed_public_key
  - test_agree_with_parsed_public_key_algorithm_mismatch
  - test_parsed_public_key_debug
  - test_parsed_public_key_format_debug
  - t::e::s::t::_::p::a::r::s::e::d::_::p::u::b::l::i::c::_::k::e::y::_::s::e::n::d::_::s::y::n::c::assert_send
  - t::e::s::t::_::p::a::r::s::e::d::_::p::u::b::l::i::c::_::k::e::y::_::s::e::n::d::_::s::y::n::c::assert_sync
  - test_parsed_public_key_send_sync
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/parsed_public_key_tests.rs
- function_names:
  - EphemeralPrivateKey::fmt
  - EphemeralPrivateKey::generate
  - EphemeralPrivateKey::generate_for_test
  - EphemeralPrivateKey::compute_public_key
  - EphemeralPrivateKey::algorithm
  - agree_ephemeral
  - t::e::s::t::s::::::::t::e::s::t::_::a::g::r::e::e::m::e::n::t::_::e::c::d::h::_::x::2::5::5::1::9::_::r::f::c::_::i::t::e::r::a::t::e::d::expect_iterated_x25519
  - tests::test_agreement_ecdh_x25519_rfc_iterated
  - tests::test_agreement_x25519
  - tests::test_agreement_ecdh_p256
  - tests::test_agreement_ecdh_p384
  - tests::test_agreement_ecdh_p521
  - tests::agreement_traits
  - tests::check_computed_public_key
  - tests::agreement_agree_ephemeral
  - tests::from_hex
  - tests::alg_from_curve_name
  - tests::x25519
  - tests::try_x25519
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/ephemeral.rs
- function_names:
  - test_agreement_x25519
  - t::e::s::t::_::a::g::r::e::e::m::e::n::t::_::i::n::v::a::l::i::d::_::k::e::y::s::test_with_key
  - test_agreement_invalid_keys
  - test_agreement_ecdh_p256
  - test_agreement_ecdh_p384
  - test_agreement_ecdh_p521
  - agreement_traits
  - test_agreement_random
  - test_agreement_random_helper
  - public_key_formats_helper
  - private_key_drop
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/agreement_tests.rs
- function_names:
  - agree_ephemeral_api
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/agreement/tests/fips.rs
- function_names:
  - get_sskdf_hmac_algorithm
  - get_sskdf_digest_algorithm
  - SskdfHmacAlgorithm::id
  - SskdfHmacAlgorithm::get_evp_md
  - SskdfHmacAlgorithm::eq
  - SskdfHmacAlgorithm::fmt
  - SskdfDigestAlgorithm::id
  - SskdfDigestAlgorithm::get_evp_md
  - SskdfDigestAlgorithm::eq
  - SskdfDigestAlgorithm::fmt
  - sskdf_hmac
  - sskdf_digest
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/sskdf.rs
- function_names:
  - get_kbkdf_ctr_hmac_algorithm
  - KbkdfCtrHmacAlgorithm::id
  - KbkdfCtrHmacAlgorithm::get_evp_md
  - KbkdfCtrHmacAlgorithm::eq
  - KbkdfCtrHmacAlgorithm::fmt
  - kbkdf_ctr_hmac
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/kdf/kbkdf.rs
- function_names:
  - PqdsaKeyPair::fmt
  - PqdsaKeyPair::public_key
  - PqdsaPrivateKey::as_der
  - PqdsaPrivateKey::as_raw_bytes
  - PqdsaKeyPair::generate
  - PqdsaKeyPair::from_pkcs8
  - PqdsaKeyPair::from_raw_private_key
  - PqdsaKeyPair::from_seed
  - PqdsaKeyPair::to_pkcs8
  - PqdsaKeyPair::sign
  - PqdsaKeyPair::algorithm
  - PqdsaKeyPair::private_key
  - evp_key_pqdsa_generate
  - tests::test_public_key_serialization
  - tests::test_private_key_serialization
  - tests::test_from_seed
  - tests::test_from_seed_deterministic
  - tests::test_from_seed_wrong_size
  - tests::test_from_seed_different_seeds_different_keys
  - tests::test_from_seed_raw_private_key_roundtrip
  - tests::test_from_seed_pkcs8_roundtrip
  - tests::test_from_seed_same_seed_different_algorithms
  - tests::test_from_raw_private_key_rejects_seed
  - tests::test_from_seed_pkcs8_is_seed_form
  - tests::test_expanded_key_pkcs8_unavailable
  - tests::test_from_seed_pkcs8_roundtrip_preserves_seed_form
  - tests::test_from_seed_as_der_matches_to_pkcs8
  - tests::test_algorithm_getter
  - tests::test_debug
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/key_pair.rs
- function_names:
  - PqdsaSigningAlgorithm::signature_len
  - PublicKey::from_private_evp_pkey
  - PqdsaVerificationAlgorithm::parsed_verify_sig
  - PqdsaVerificationAlgorithm::parsed_verify_digest_sig
  - PqdsaVerificationAlgorithm::verify
  - PqdsaVerificationAlgorithm::verify_sig
  - PqdsaVerificationAlgorithm::verify_digest_sig
  - PublicKey::as_ref
  - PublicKey::as_der
  - PublicKey::fmt
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pqdsa/signature.rs
- function_names: []
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/unstable/signature.rs
- function_names:
  - prf_test
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/tls_prf/tests/fips.rs
- function_names:
  - pbkdf2_api
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/pbkdf2/tests/fips.rs
- function_names:
  - hkdf_extract_expand_api
  - hkdf_expand_api
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/hkdf/tests/fips.rs
- function_names:
  - PrivateDecryptingKey::new
  - PrivateDecryptingKey::validate_key
  - PrivateDecryptingKey::generate
  - PrivateDecryptingKey::generate_fips
  - PrivateDecryptingKey::from_pkcs8
  - PrivateDecryptingKey::is_valid_fips_key
  - PrivateDecryptingKey::key_size_bytes
  - PrivateDecryptingKey::key_size_bits
  - PrivateDecryptingKey::public_key
  - PrivateDecryptingKey::fmt
  - PrivateDecryptingKey::as_der
  - PrivateDecryptingKey::clone
  - PublicEncryptingKey::new
  - PublicEncryptingKey::validate_key
  - PublicEncryptingKey::from_der
  - PublicEncryptingKey::key_size_bytes
  - PublicEncryptingKey::key_size_bits
  - PublicEncryptingKey::fmt
  - PublicEncryptingKey::clone
  - PublicEncryptingKey::as_der
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption.rs
- function_names:
  - rfc8017::encode_public_key_der
  - rfc8017::decode_public_key_der
  - rfc8017::decode_private_key_der
  - rfc5280::encode_public_key_der
  - rfc5280::decode_public_key_der
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encoding.rs
- function_names:
  - KeySize::len
  - KeySize::bits
  - KeyPair::new
  - KeyPair::generate
  - KeyPair::generate_fips
  - KeyPair::from_pkcs8
  - KeyPair::from_der
  - KeyPair::is_valid_fips_key
  - KeyPair::validate_private_key
  - KeyPair::sign
  - KeyPair::sign_digest
  - KeyPair::public_modulus_len
  - KeyPair::fmt
  - KeyPair::public_key
  - KeyPair::as_der
  - PublicKey::drop
  - PublicKey::new
  - PublicKey::from_der
  - parse_rsa_public_key
  - PublicKey::fmt
  - PublicKey::as_ref
  - PublicKey::as_der
  - PublicKey::modulus
  - PublicKey::exponent
  - PublicKey::modulus_len
  - PublicKeyComponents::fmt
  - PublicKeyComponents::build_rsa
  - PublicKeyComponents::verify
  - PublicKeyComponents::to_parsed_public_key
  - PublicKeyComponents::from
  - PublicKeyComponents::try_into
  - PublicKeyComponents::as_der
  - generate_rsa_key
  - is_valid_fips_key
  - is_rsa_key
  - validate_rsa_key
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/key.rs
- function_names:
  - RsaParameters::digest_algorithm
  - RsaParameters::padding
  - RsaParameters::bit_size_range
  - RsaParameters::parsed_verify_sig
  - RsaParameters::parsed_verify_digest_sig
  - RsaParameters::verify
  - RsaParameters::verify_sig
  - RsaParameters::verify_digest_sig
  - RsaParameters::fmt
  - RsaParameters::new
  - RsaParameters::public_modulus_len
  - RsaParameters::min_modulus_len
  - RsaParameters::max_modulus_len
  - RsaSignatureEncoding::new
  - RsaSignatureEncoding::digest_algorithm
  - RsaSignatureEncoding::padding
  - RsaSignatureEncoding::encoding
  - RsaSignatureEncoding::fmt
  - configure_rsa_pkcs1_pss_padding
  - verify_rsa_signature
  - verify_rsa_digest_signature
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/signature.rs
- function_names:
  - generate_key
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/tests/fips.rs
- function_names:
  - Pkcs1PublicEncryptingKey::new
  - Pkcs1PublicEncryptingKey::encrypt
  - Pkcs1PublicEncryptingKey::key_size_bytes
  - Pkcs1PublicEncryptingKey::key_size_bits
  - Pkcs1PublicEncryptingKey::max_plaintext_size
  - Pkcs1PublicEncryptingKey::ciphertext_size
  - Pkcs1PublicEncryptingKey::fmt
  - Pkcs1PrivateDecryptingKey::new
  - Pkcs1PrivateDecryptingKey::decrypt
  - Pkcs1PrivateDecryptingKey::key_size_bytes
  - Pkcs1PrivateDecryptingKey::key_size_bits
  - Pkcs1PrivateDecryptingKey::min_output_size
  - Pkcs1PrivateDecryptingKey::fmt
  - configure_pkcs1_crypto_operation
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/pkcs1.rs
- function_names:
  - OaepAlgorithm::id
  - OaepAlgorithm::oaep_hash_fn
  - OaepAlgorithm::mgf1_hash_fn
  - OaepAlgorithm::fmt
  - OaepPublicEncryptingKey::new
  - OaepPublicEncryptingKey::encrypt
  - OaepPublicEncryptingKey::key_size_bytes
  - OaepPublicEncryptingKey::key_size_bits
  - OaepPublicEncryptingKey::max_plaintext_size
  - OaepPublicEncryptingKey::ciphertext_size
  - OaepPublicEncryptingKey::fmt
  - OaepPrivateDecryptingKey::new
  - OaepPrivateDecryptingKey::decrypt
  - OaepPrivateDecryptingKey::key_size_bytes
  - OaepPrivateDecryptingKey::key_size_bits
  - OaepPrivateDecryptingKey::min_output_size
  - OaepPrivateDecryptingKey::fmt
  - configure_oaep_crypto_operation
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/src/rsa/encryption/oaep.rs
- function_names:
  - main
  - construct_key_bytes
  - aes_ctr_encrypt
  - aes_ctr_decrypt
  - aes_cbc_encrypt
  - aes_cbc_decrypt
  - new_unbound_key
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/cipher.rs
- function_names:
  - DigestType::digest
  - process
  - main
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/examples/digest.rs
- function_names:
  - Stats::deref
  - FinalizedStats::deref
  - Stats::deref_mut
  - Stats::new
  - Stats::finalize
  - FinalizedStats::percentile
  - FinalizedStats::median
  - FinalizedStats::max
  - FinalizedStats::min
  - Cli::header_line
  - Cli::data_line
  - insert_result
  - compute
  - numerical_string_compare
  - test_numerical_string_compare
  - test_numerical_end_string_compare
  - main
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs/util/process-criterion-csv.rs
- function_names:
  - rustls_test
  - okm_to_salt
  - okm_to_prk
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/hkdf_test.rs
- function_names:
  - r::u::s::t::l::s::_::b::u::g::append
  - rustls_bug
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/aead_test.rs
- function_names:
  - agree_ephemeral_e2e
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/agreement_tests.rs
- function_names:
  - test_key_type_header_protection_key
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/quic_test.rs
- function_names:
  - rsa2048_pkcs1_openssl_interop
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/tests/rsa_test.rs
- function_names:
  - HMACConfig::new
  - benchmark_hmac
  - bench_hmac_sha1
  - bench_hmac_sha256
  - bench_hmac_sha384
  - bench_hmac_sha512
  - bench_hmac_one_shot
  - bench_hmac_longer_key
  - bench_hmac_incremental
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hmac_benchmark.rs
- function_names:
  - HKDFConfig::new
  - benchmark_hkdf
  - bench_hkdf_sha1
  - bench_hkdf_sha256
  - bench_hkdf_sha384
  - bench_hkdf_sha512
  - bench_hkdf
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/hkdf_benchmark.rs
- function_names:
  - AeadConfig::new
  - benchmark_aead
  - test_aes_128_gcm
  - test_aes_256_gcm
  - test_chacha20
  - test_aead_separate
  - test_aead_append
  - test_aead_open
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/aead_benchmark.rs
- function_names:
  - Curve::from
  - AgreementConfig::new
  - benchmark_agreement
  - test_agree_ephemeral
  - test_agreement
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/agreement_benchmark.rs
- function_names:
  - bench_kem_keygen
  - bench_kem_encapsulate
  - bench_kem_decapsulate
  - bench_kem
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/kem_benchmark.rs
- function_names:
  - RsaConfig::new
  - RsaPadding::from
  - RsaDigest::from
  - benchmark_rsa
  - test_rsa_sign
  - test_rsa_verify
  - test_rsa
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/rsa_benchmark.rs
- function_names:
  - QuicConfig::new
  - benchmark_quic
  - test_new_mask
  - test_aes_128
  - test_aes_256
  - test_chacha20
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/quic_benchmark.rs
- function_names:
  - DigestConfig::new
  - benchmark_digest
  - bench_sha1
  - bench_sha256
  - bench_sha384
  - bench_sha512
  - bench_sha512_256
  - bench_digest_one_shot
  - bench_digest_incremental
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/digest_benchmark.rs
- function_names:
  - PBKDF2Config::new
  - benchmark_pbkdf2
  - bench_pbkdf2_sha1
  - bench_pbkdf2_sha256
  - bench_pbkdf2_sha384
  - bench_pbkdf2_sha512
  - bench_pbkdf2
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/pbkdf2_benchmark.rs
- function_names:
  - EcdsaConfig::new
  - EcdsaFormat::from
  - EcdsaCurve::from
  - EcdsaDigest::from
  - benchmark_ecdsa
  - test_ecdsa_sign
  - test_ecdsa_verify
  - test_ecdsa
  - main
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ecdsa_benchmark.rs
- function_names:
  - Ed25519Config::new
  - benchmark_ed25519
  - test_ed25519_sign
  - test_ed25519_verify
  - test_ed25519
  - main
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/ed25519_benchmark.rs
- function_names:
  - openssl_bench
  - benchmark_padded
  - benchmark_unpadded
  source_file: /src/spdm-rs/external/aws-lc-rs/aws-lc-rs-testing/benches/cipher_benchmark.rs
- function_names: []
  source_file: /src/spdm-rs/external/aws-lc-rs/scripts/tests/assert_cpu_jitter_entropy.rs
- function_names: []
  source_file: /src/spdm-rs/external/aws-lc-rs/scripts/tests/assert_cpu_jitter_entropy_fips.rs
- function_names:
  - main
  source_file: /src/spdm-rs/external/aws-lc-rs/scripts/tests/first_random_byte_latency.rs
- function_names: []
  source_file: /src/spdm-rs/external/aws-lc-rs/scripts/tests/prefix_test.rs
- function_names:
  - main
  source_file: /src/spdm-rs/external/aws-lc-rs/scripts/tools/cargo-dig.rs
- function_names:
  - main
  - get_latest_main
  - get_latest_fips
  source_file: /src/spdm-rs/external/aws-lc-rs/scripts/tools/semver.rs
- function_names:
  - main
  source_file: /src/spdm-rs/external/aws-lc-rs/scripts/tools/target-platform.rs
- function_names:
  - main
  - build_and_link
  - get_package_links_property
  - env
  source_file: /src/spdm-rs/external/aws-lc-rs/links-testing/build.rs
- function_names:
  - main
  - link_test
  source_file: /src/spdm-rs/external/aws-lc-rs/links-testing/src/main.rs
- function_names:
  - main
  source_file: /src/spdm-rs/external/aws-lc-rs/no-std-runtime-test/build.rs
- function_names:
  - PlatformAllocator::alloc
  - PlatformAllocator::dealloc
  - PlatformAllocator::realloc
  - aws_lc_nostd_alloc
  - aws_lc_nostd_dealloc
  - aws_lc_nostd_realloc
  - aws_lc_nostd_entropy
  - aws_lc_nostd_time
  - aws_lc_nostd_abort
  - panic
  - _start
  source_file: /src/spdm-rs/external/aws-lc-rs/no-std-runtime-test/src/main.rs
- function_names:
  - main
  source_file: /src/spdm-rs/external/aws-lc-rs/feature-tests/ml-kem-disabled/src/main.rs
- function_names:
  - main
  source_file: /src/spdm-rs/external/aws-lc-rs/feature-tests/ml-dsa-disabled/src/main.rs
- function_names:
  - env::var_os
  - env::var
  - cpp_flags
  - AsmTarget::use_nasm
  - main
  - ring_build_rs_main
  - pregenerate_asm_main
  - generate_sources_and_preassemble
  - build_c_code
  - new_build
  - build_library
  - obj_path
  - configure_cc
  - nasm
  - run_command_with_args
  - run_command
  - sources_for_arch
  - perlasm_src_dsts
  - asm_srcs
  - is_perlasm
  - asm_path
  - perlasm
  - join_components_with_forward_slashes
  - get_perl_exe
  - get_command
  - emit_rerun_if_changed
  - walk_dir
  - generate_prefix_symbols_headers
  - generate_prefix_symbols_header
  - prefix_all_symbols
  source_file: /src/spdm-rs/external/ring/build.rs
- function_names:
  - error_impl_std_error_error_test
  source_file: /src/spdm-rs/external/ring/tests/error_tests.rs
- function_names:
  - ecdsa_from_pkcs8_test
  - ecdsa_generate_pkcs8_test
  - signature_ecdsa_verify_asn1_test
  - signature_ecdsa_verify_fixed_test
  - ecdsa_test_public_key_coverage
  - signature_ecdsa_sign_fixed_sign_and_verify_test
  - signature_ecdsa_sign_asn1_test
  source_file: /src/spdm-rs/external/ring/tests/ecdsa_tests.rs
- function_names:
  - hkdf_tests
  - hkdf_output_len_tests
  - My::len
  - My::from
  source_file: /src/spdm-rs/external/ring/tests/hkdf_tests.rs
- function_names:
  - test_signature_ed25519
  - test_signature_ed25519_verify
  - test_signature_verification
  - test_ed25519_from_seed_and_public_key_misuse
  - test_ed25519_from_pkcs8_unchecked
  - test_ed25519_from_pkcs8
  - test_ed25519_from_pkcs8_
  - ed25519_test_generate_pkcs8
  - ed25519_test_public_key_coverage
  source_file: /src/spdm-rs/external/ring/tests/ed25519_tests.rs
- function_names:
  - pbkdf2_tests
  source_file: /src/spdm-rs/external/ring/tests/pbkdf2_tests.rs
- function_names:
  - hmac_tests
  - hmac_test_case_inner
  - hmac_debug
  source_file: /src/spdm-rs/external/ring/tests/hmac_tests.rs
- function_names:
  - rsa_from_pkcs8_test
  - test_signature_rsa_pkcs1_sign
  - test_signature_rsa_pss_sign
  - test_signature_rsa_pkcs1_sign_output_buffer_len
  - test_signature_rsa_pkcs1_verify
  - test_signature_rsa_pss_verify
  - test_signature_rsa_primitive_verification
  - rsa_test_keypair_coverage
  - test_public_key_coverage
  source_file: /src/spdm-rs/external/ring/tests/rsa_tests.rs
- function_names:
  - signature_impl_test
  source_file: /src/spdm-rs/external/ring/tests/signature_tests.rs
- function_names:
  - agreement_traits
  - agreement_agree_ephemeral
  - t::e::s::t::_::a::g::r::e::e::m::e::n::t::_::e::c::d::h::_::x::2::5::5::1::9::_::r::f::c::_::i::t::e::r::a::t::e::d::expect_iterated_x25519
  - test_agreement_ecdh_x25519_rfc_iterated
  - x25519
  - x25519_
  - h
  - alg_from_curve_name
  source_file: /src/spdm-rs/external/ring/tests/agreement_tests.rs
- function_names:
  - quic_aes_128
  - quic_aes_256
  - quic_chacha20
  - test_quic
  - test_key_len
  - test_sample_len
  source_file: /src/spdm-rs/external/ring/tests/quic_tests.rs
- function_names:
  - test_system_random_lengths
  - test_system_random_traits
  source_file: /src/spdm-rs/external/ring/tests/rand_tests.rs
- function_names:
  - digest_misc
  - test_i_u_f
  - test_fmt_algorithm
  - digest_test_fmt
  source_file: /src/spdm-rs/external/ring/tests/digest_tests.rs
- function_names:
  - test_known_answer
  - test_aead
  - test_aead
  - test_seal_append_tag
  - test_seal_separate_tag
  - test_open_in_place
  - test_open_in_place_seperate_tag
  - test_open_within
  - sealing_key_seal_in_place_append_tag
  - sealing_key_seal_in_place_separate_tag
  - opening_key_open_in_place
  - opening_key_open_within
  - less_safe_key_seal_in_place_append_tag
  - less_safe_key_open_in_place
  - less_safe_key_seal_in_place_separate_tag
  - less_safe_key_open_within
  - key_sizes
  - test_aead_nonce_sizes
  - aead_chacha20_poly1305_openssh
  - aead_test_aad_traits
  - test_nonce_traits
  - test_tag_traits
  - test_aead_key_traits
  - test_aead_key_traits_all
  - test_aead_key_debug
  - test_aead_lesssafekey_clone_for_algorithm
  - test_aead_lesssafekey_clone_aes_128_gcm
  - test_aead_lesssafekey_clone_aes_256_gcm
  - test_aead_lesssafekey_clone_chacha20_poly1305
  - make_key
  - make_less_safe_key
  - OneNonceSequence::new
  - OneNonceSequence::advance
  source_file: /src/spdm-rs/external/ring/tests/aead_tests.rs
- function_names:
  - test_verify_slices_are_equal
  source_file: /src/spdm-rs/external/ring/tests/constant_time_tests.rs
- function_names: []
  source_file: /src/spdm-rs/external/ring/src/c.rs
- function_names:
  - BitLength::from_byte_len
  - BitLength::from_byte_len
  - BitLength::from_byte_len
  - BitLength::from_bits
  - BitLength::as_bits
  - BitLength::half_rounded_up
  - BitLength::as_usize_bytes_rounded_up
  - BitLength::try_sub_1
  - BitLength::to_be_bytes
  - BitLength::from
  - BitLength::try_from
  source_file: /src/spdm-rs/external/ring/src/bits.rs
- function_names:
  - core::result::Result::from
  - tests::size_and_alignment
  - tests::semantics
  source_file: /src/spdm-rs/external/ring/src/bssl.rs
- function_names:
  - derive_debug_via_id
  - derive_debug_via_field
  - derive_debug_self_as_ref_hex_bytes
  - write_hex_tuple
  - HexStr::fmt
  - write_hex_bytes
  source_file: /src/spdm-rs/external/ring/src/debug.rs
- function_names: []
  source_file: /src/spdm-rs/external/ring/src/arithmetic.rs
- function_names:
  - Template::alg_id_value
  - Template::alg_id_value_
  - Template::curve_oid
  - unwrap_key
  - unwrap_key_
  - unwrap_key__
  - Document::as_ref
  - wrap_key
  - wrap_key_
  source_file: /src/spdm-rs/external/ring/src/pkcs8.rs
- function_names:
  - Algorithm::digest_algorithm
  - Tag::as_ref
  - Key::fmt
  - Key::generate
  - Key::construct
  - Key::new
  - Key::try_new
  - Key::algorithm
  - Key::sign
  - Key::verify
  - Algorithm::len
  - Key::from
  - Context::fmt
  - Context::with_key
  - Context::update
  - Context::sign
  - Context::try_sign
  - sign
  - verify
  - tests::hmac_signing_key_coverage
  source_file: /src/spdm-rs/external/ring/src/hmac.rs
- function_names: []
  source_file: /src/spdm-rs/external/ring/src/io.rs
- function_names:
  - limbs_equal_limbs_consttime
  - limbs_less_than_limbs
  - verify_limbs_less_than_limbs_leak_bit
  - limbs_less_than_limbs_vartime
  - limb_is_zero
  - limbs_are_zero
  - limbs_reject_even_leak_bit
  - verify_limbs_equal_1_leak_bit
  - limbs_minimal_bits
  - limbs_reduce_once
  - parse_big_endian_in_range_and_pad_consttime
  - parse_big_endian_and_pad_consttime
  - big_endian_from_limbs
  - unstripped_be_bytes
  - fold_5_bit_windows
  - limbs_add_assign_mod
  - limbs_double_mod
  - limbs_negative_odd
  - tests::leak_in_test
  - tests::test_limbs_are_even
  - tests::test_limbs_are_zero
  - tests::test_limbs_equal_limb
  - tests::test_parse_big_endian_and_pad_consttime
  - tests::test_big_endian_from_limbs_same_length
  - tests::test_big_endian_from_limbs_fewer_limbs
  - tests::test_limbs_minimal_bits
  source_file: /src/spdm-rs/external/ring/src/limb.rs
- function_names:
  - impl_get_feature
  - features::Values::get_feature
  - features::Values::get_feature
  - features::Values::get_feature
  - Features::get_feature
  - features
  - tests::test_static_is_subset_of_dynamic
  source_file: /src/spdm-rs/external/ring/src/cpu.rs
- function_names:
  - derive
  - try_derive
  - derive_block
  - verify
  - try_verify
  source_file: /src/spdm-rs/external/ring/src/pbkdf2.rs
- function_names: []
  source_file: /src/spdm-rs/external/ring/src/lib.rs
- function_names:
  - compile_time_assert_clone
  - compile_time_assert_copy
  - compile_time_assert_eq
  - compile_time_assert_send
  - compile_time_assert_sync
  - compile_time_assert_std_error_error
  - TestCase::consume_bool
  - TestCase::consume_digest_alg
  - TestCase::consume_bytes
  - TestCase::consume_optional_bytes
  - TestCase::consume_usize
  - TestCase::consume_usize_bits
  - TestCase::consume_string
  - TestCase::consume_optional_string
  - test_vector_file
  - run
  - from_hex
  - from_hex_digit
  - parse_test_case
  - tests::one_ok
  - tests::one_err
  - tests::one_panics
  - tests::first_err
  - tests::middle_err
  - tests::last_err
  - tests::err_one
  - tests::first_panic
  - tests::middle_panic
  - tests::last_panic
  - tests::panic_one
  - tests::syntax_error
  source_file: /src/spdm-rs/external/ring/src/testutil.rs
- function_names: []
  source_file: /src/spdm-rs/external/ring/src/ec.rs
- function_names:
  - T::fill
  - Random::expose
  - generate
  - SystemRandom::new
  - SystemRandom::fill_impl
  source_file: /src/spdm-rs/external/ring/src/rand.rs
- function_names:
  - BlockContext::new
  - BlockContext::update
  - BlockContext::try_finish
  - BlockContext::block_data_order
  - BlockContext::to_bytes
  - BlockContext::from_bytes
  - FinishError::pending_not_a_partial_block
  - Context::new
  - Context::clone_from
  - Context::update
  - Context::finish
  - Context::try_finish
  - Context::algorithm
  - Context::to_bytes
  - Context::from_bytes
  - digest
  - Digest::compute_from
  - Digest::algorithm
  - Digest::as_ref
  - Digest::fmt
  - Algorithm::eq
  - Algorithm::block_len
  - Algorithm::chaining_len
  - Algorithm::output_len
  - format_output
  - BlockLen::into
  - BlockLen::len_len
  - OutputLen::into
  - max_input_tests
  - tests::max_input_test
  - tests::too_long_input_test_block
  - tests::too_long_input_test_byte
  - tests::nearly_full_context
  source_file: /src/spdm-rs/external/ring/src/digest.rs
- function_names:
  - Aad::from
  - Aad::as_ref
  - Aad::empty
  - Aad::fmt
  - Aad::eq
  - max_input_len
  - Tag::as_ref
  - Tag::try_from
  - Tag::from
  source_file: /src/spdm-rs/external/ring/src/aead.rs
- function_names:
  - verify_slices_are_equal
  source_file: /src/spdm-rs/external/ring/src/deprecated_constant_time.rs
- function_names:
  - core_name_and_version
  - prefix
  - prefixed_extern
  - prefixed_export
  - prefixed_item
  source_file: /src/spdm-rs/external/ring/src/prefixed.rs
- function_names:
  - Signature::new
  - Signature::as_ref
  - UnparsedPublicKey::as_ref
  - UnparsedPublicKey::fmt
  - UnparsedPublicKey::new
  - UnparsedPublicKey::verify
  source_file: /src/spdm-rs/external/ring/src/signature.rs
- function_names:
  - Algorithm::eq
  - EphemeralPrivateKey::generate
  - EphemeralPrivateKey::compute_public_key
  - EphemeralPrivateKey::algorithm
  - EphemeralPrivateKey::bytes
  - EphemeralPrivateKey::bytes_for_test
  - EphemeralPrivateKey::export_private_key_bytes
  - EphemeralPrivateKey::from_private_key_bytes
  - PublicKey::as_ref
  - PublicKey::fmt
  - PublicKey::algorithm
  - UnparsedPublicKey::as_ref
  - UnparsedPublicKey::fmt
  - UnparsedPublicKey::new
  - UnparsedPublicKey::algorithm
  - UnparsedPublicKey::bytes
  - agree_ephemeral
  - agree_ephemeral_
  source_file: /src/spdm-rs/external/ring/src/agreement.rs
- function_names:
  - Algorithm::hmac_algorithm
  - Algorithm::len
  - Salt::new
  - Salt::extract
  - Salt::algorithm
  - Salt::from
  - Prk::new_less_safe
  - Prk::expand
  - Prk::from
  - Okm::len
  - Okm::fill
  - fill_okm
  source_file: /src/spdm-rs/external/ring/src/hkdf.rs
- function_names:
  - u64_from_usize
  - usize_from_u32
  - usize_from_u64
  - usize_from_u64_saturated
  - tests::test_usize_from_u64_saturated
  source_file: /src/spdm-rs/external/ring/src/polyfill.rs
- function_names:
  - parse_public_key
  source_file: /src/spdm-rs/external/ring/src/rsa.rs
- function_names:
  - test_file
  source_file: /src/spdm-rs/external/ring/src/deprecated_test.rs
- function_names:
  - usize::from
  - LengthMeasurement::zero
  - LengthMeasurement::write_byte
  - LengthMeasurement::write_bytes
  - Writer::with_capacity
  - Box::from
  - Writer::write_byte
  - Writer::write_bytes
  - write_copy
  - TooLongError::new
  source_file: /src/spdm-rs/external/ring/src/io/writer.rs
- function_names:
  - usize::from
  - u8::from
  - Tag::into
  - expect_tag_and_get_value
  - read_tag_and_get_value
  - bit_string_with_no_unused_bits
  - bit_string_tagged_with_no_unused_bits
  - nested
  - nonnegative_integer
  - small_nonnegative_integer
  - positive_integer
  - tests::with_i
  - tests::test_small_nonnegative_integer
  - tests::test_positive_integer
  source_file: /src/spdm-rs/external/ring/src/io/der.rs
- function_names:
  - Positive::from_be_bytes
  - Positive::big_endian_without_leading_zero
  - Positive::big_endian_without_leading_zero_as_input
  - Positive::first_byte
  - tests::test_from_be_bytes
  source_file: /src/spdm-rs/external/ring/src/io/positive.rs
- function_names:
  - write_positive_integer
  - write_all
  - write_tlv
  source_file: /src/spdm-rs/external/ring/src/io/der_writer.rs
- function_names:
  - test_from_byte_len_overflow
  source_file: /src/spdm-rs/external/ring/src/tests/bits_tests.rs
- function_names: []
  source_file: /src/spdm-rs/external/ring/src/tests/mod.rs
- function_names:
  - InputTooLongError::new
  source_file: /src/spdm-rs/external/ring/src/error/input_too_long.rs
- function_names:
  - Unspecified::from
  - Unspecified::from
  - Unspecified::from
  source_file: /src/spdm-rs/external/ring/src/error/into_unspecified.rs
- function_names:
  - erase
  source_file: /src/spdm-rs/external/ring/src/error/mod.rs
- function_names:
  - Unspecified::fmt
  source_file: /src/spdm-rs/external/ring/src/error/unspecified.rs
- function_names:
  - KeyRejected::inconsistent_components
  - KeyRejected::invalid_component
  - KeyRejected::invalid_encoding
  - KeyRejected::rng_failed
  - KeyRejected::public_key_is_missing
  - KeyRejected::too_small
  - KeyRejected::too_large
  - KeyRejected::version_not_supported
  - KeyRejected::wrong_algorithm
  - KeyRejected::private_modulus_len_not_multiple_of_512_bits
  - KeyRejected::unexpected_error
  - KeyRejected::fmt
  source_file: /src/spdm-rs/external/ring/src/error/key_rejected.rs
- function_names:
  - parse_digit
  - limbs_from_hex
  source_file: /src/spdm-rs/external/ring/src/arithmetic/constant.rs
- function_names:
  - bn_mul_mont_ffi
  - bn_mul_mont_ffi
  source_file: /src/spdm-rs/external/ring/src/arithmetic/ffi.rs
- function_names:
  - N0::precalculated
  source_file: /src/spdm-rs/external/ring/src/arithmetic/n0.rs
- function_names:
  - Storage::from
  - Elem::clone_into
  - Elem::is_zero
  - from_montgomery_amm
  - Elem::into_unencoded
  - Elem::from_be_bytes_padded
  - Elem::fill_be_bytes
  - elem_mul_into
  - elem_mul
  - elem_double
  - elem_reduced_once
  - elem_reduced
  - elem_squared
  - elem_widen
  - elem_add
  - elem_sub
  - One::newRR
  - One::newRRR
  - One::as_ref
  - One::clone_into
  - elem_exp_vartime
  - elem_exp_consttime
  - e::l::e::m::_::e::x::p::_::c::o::n::s::t::t::i::m::e::_::i::n::n::e::r::gather
  - e::l::e::m::_::e::x::p::_::c::o::n::s::t::t::i::m::e::_::i::n::n::e::r::power
  - e::l::e::m::_::e::x::p::_::c::o::n::s::t::t::i::m::e::_::i::n::n::e::r::entry
  - e::l::e::m::_::e::x::p::_::c::o::n::s::t::t::i::m::e::_::i::n::n::e::r::entry_mut
  - elem_exp_consttime_inner
  - e::l::e::m::_::e::x::p::_::c::o::n::s::t::t::i::m::e::_::i::n::n::e::r::scatter_powers_of_2
  - elem_exp_consttime_inner
  - verify_inverses_consttime
  - elem_verify_equal_consttime
  - unwrap_impossible_len_mismatch_error
  - unwrap_impossible_limb_slice_error
  - tests::test_elem_exp_consttime
  - tests::test_elem_mul
  - tests::test_elem_squared
  - tests::test_elem_reduced
  - tests::test_elem_reduced_once
  - tests::consume_elem
  - tests::consume_elem_unchecked
  - tests::consume_modulus
  - tests::assert_elem_eq
  - tests::into_encoded
  source_file: /src/spdm-rs/external/ring/src/arithmetic/bigint.rs
- function_names:
  - AliasingSlices2::with_non_dangling_non_null_pointers_ra
  - '&mut [T]::with_potentially_dangling_non_null_pointers_ra'
  - (&mut [T], &[T])::with_potentially_dangling_non_null_pointers_ra
  - AliasingSlices3::with_non_dangling_non_null_pointers_rab
  - '&mut [T]::with_potentially_dangling_non_null_pointers_rab'
  - (&mut [T], &[T], &[T])::with_potentially_dangling_non_null_pointers_rab
  - (RA, &[T])::with_potentially_dangling_non_null_pointers_rab
  source_file: /src/spdm-rs/external/ring/src/arithmetic/inout.rs
- function_names:
  - limbs_mul_mont
  - limbs_from_mont_in_place
  - limbs_mul
  - limbs_square_mont
  - tests::test_mul_add_words
  source_file: /src/spdm-rs/external/ring/src/arithmetic/montgomery.rs
- function_names: []
  source_file: /src/spdm-rs/external/ring/src/arithmetic/limbs/mod.rs
- function_names: []
  source_file: /src/spdm-rs/external/ring/src/arithmetic/limbs/aarch64/mod.rs
- function_names:
  - sqr_mont5
  source_file: /src/spdm-rs/external/ring/src/arithmetic/limbs/aarch64/mont.rs
- function_names: []
  source_file: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mod.rs
- function_names:
  - mul_mont5
  - mul_mont5_4x
  - sqr_mont5
  - scatter5
  - gather5
  - mul_mont_gather5_amm
  - power5_amm
  - check_common
  - check_common_with_n
  source_file: /src/spdm-rs/external/ring/src/arithmetic/limbs/x86_64/mont.rs
- function_names:
  - BoxedLimbs::deref
  - BoxedLimbs::deref_mut
  - BoxedLimbs::clone
  - BoxedLimbs::from_be_bytes_padded_less_than
  - BoxedLimbs::zero
  - BoxedLimbs::into_limbs
  source_file: /src/spdm-rs/external/ring/src/arithmetic/bigint/boxed_limbs.rs
- function_names:
  - OwnedModulus::clone
  - OwnedModulus::from
  - OwnedModulus::to_elem
  - OwnedModulus::modulus
  - OwnedModulus::len_bits
  - OwnedModulus::be_bytes
  - Modulus::oneR
  - Modulus::alloc_zero
  - Modulus::limbs
  - Modulus::n0
  - Modulus::len_bits
  - Modulus::cpu_features
  source_file: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulus.rs
- function_names:
  - PrivateExponent::from_be_bytes_padded
  - PrivateExponent::from_be_bytes_for_test_only
  - PrivateExponent::limbs
  source_file: /src/spdm-rs/external/ring/src/arithmetic/bigint/private_exponent.rs
- function_names:
  - OwnedModulusValue::clone
  - OwnedModulusValue::from_be_bytes
  - OwnedModulusValue::verify_less_than
  - OwnedModulusValue::len_bits
  - OwnedModulusValue::limbs
  source_file: /src/spdm-rs/external/ring/src/arithmetic/bigint/modulusvalue.rs
- function_names:
  - AlignedStorage::zeroed
  - AlignedStorage::aligned_chunks_mut
  source_file: /src/spdm-rs/external/ring/src/arithmetic/limbs512/storage.rs
- function_names: []
  source_file: /src/spdm-rs/external/ring/src/arithmetic/limbs512/mod.rs
- function_names:
  - verify_slices_are_equal
  - xor_16
  - xor_assign
  - xor_assign_at_start
  - tests::leak_in_test
  - tests::test_constant_time
  - tests::constant_time_conditional_memcpy
  - tests::constant_time_conditional_memxor
  - tests::test_bool_mask_bitwise_and_is_logical_and
  source_file: /src/spdm-rs/external/ring/src/bb/mod.rs
- function_names:
  - BoolMask::leak
  - BoolMask::bitand
  source_file: /src/spdm-rs/external/ring/src/bb/boolmask.rs
- function_names: []
  source_file: /src/spdm-rs/external/ring/src/bb/word.rs
- function_names: []
  source_file: /src/spdm-rs/external/ring/src/bb/leaky.rs
- function_names:
  - parity
  - sha1_block_data_order
  - block_data_order
  - step3
  - rotl
  source_file: /src/spdm-rs/external/ring/src/digest/sha1.rs
- function_names:
  - DynState::new32
  - DynState::new64
  - DynState::format_output
  - DynState::to_bytes
  - DynState::from_bytes
  - sha1_block_data_order
  - sha256_block_data_order
  - sha512_block_data_order
  source_file: /src/spdm-rs/external/ring/src/digest/dynstate.rs
- function_names:
  - block_data_order
  - ch
  - maj
  - SIGMA_0
  - SIGMA_1
  - sigma_0
  - sigma_1
  - Wrapping::from_be_bytes
  - Wrapping::rotr
  - Wrapping::zero_w
  - Wrapping::from_be_bytes
  - Wrapping::rotr
  - Wrapping::zero_w
  source_file: /src/spdm-rs/external/ring/src/digest/sha2/fallback.rs
- function_names:
  - block_data_order_32
  source_file: /src/spdm-rs/external/ring/src/digest/sha2/sha2_32.rs
- function_names:
  - sha2_ffi
  - sha2_32_ffi
  - sha2_64_ffi
  - sha2_ffi
  source_file: /src/spdm-rs/external/ring/src/digest/sha2/ffi.rs
- function_names: []
  source_file: /src/spdm-rs/external/ring/src/digest/sha2/mod.rs
- function_names:
  - block_data_order_64
  source_file: /src/spdm-rs/external/ring/src/digest/sha2/sha2_64.rs
- function_names:
  - UnboundKey::new
  - UnboundKey::algorithm
  - UnboundKey::into_inner
  - UnboundKey::fmt
  - UnboundKey::from
  source_file: /src/spdm-rs/external/ring/src/aead/unbound_key.rs
- function_names:
  - Nonce::try_assume_unique_for_key
  - Nonce::assume_unique_for_key
  - Nonce::as_ref
  source_file: /src/spdm-rs/external/ring/src/aead/nonce.rs
- function_names:
  - Key::new
  - Key::encrypt_single_block_with_ctr_0
  - Key::new_mask
  - Key::encrypt
  - Key::words_less_safe
  - Counter::zero_one_less_safe
  - Counter::from_nonce_and_ctr
  - Counter::into_words_less_safe
  - tests::chacha20_test_default
  - tests::chacha20_test_fallback
  - tests::chacha20_test
  - tests::chacha20_test_case_inner
  source_file: /src/spdm-rs/external/ring/src/aead/chacha.rs
- function_names:
  - HeaderProtectionKey::from
  - HeaderProtectionKey::new
  - HeaderProtectionKey::new_mask
  - HeaderProtectionKey::algorithm
  - '&''static Algorithm::len'
  - Algorithm::key_len
  - Algorithm::sample_len
  - Algorithm::eq
  - aes_init_128
  - aes_init_256
  - aes_new_mask
  - chacha20_init
  - chacha20_new_mask
  source_file: /src/spdm-rs/external/ring/src/aead/quic.rs
- function_names:
  - Key::new
  - Context::from_key
  - Context::update_block
  - Context::update
  - Context::update_internal
  - Context::finish
  - sign
  - tests::test_poly1305
  source_file: /src/spdm-rs/external/ring/src/aead/poly1305.rs
- function_names:
  - '&''static Algorithm::len'
  - Algorithm::key_len
  - Algorithm::tag_len
  - Algorithm::nonce_len
  - Algorithm::new_key
  - Algorithm::open_within
  - Algorithm::seal
  - Algorithm::eq
  - aes_gcm_init_128
  - aes_gcm_init_256
  - aes_gcm_seal
  - aes_gcm_open
  - chacha20_poly1305_init
  - chacha20_poly1305_seal
  - chacha20_poly1305_open
  source_file: /src/spdm-rs/external/ring/src/aead/algorithm.rs
- function_names:
  - SealingKey::new
  - SealingKey::seal_in_place
  - OpeningKey::new
  - OpeningKey::decrypt_packet_length
  - OpeningKey::open_in_place
  - Key::new
  - make_nonce
  source_file: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305_openssh.rs
- function_names:
  - SealingKey::new
  - SealingKey::algorithm
  - SealingKey::fmt
  - SealingKey::seal_in_place_append_tag
  - SealingKey::seal_in_place_separate_tag
  source_file: /src/spdm-rs/external/ring/src/aead/sealing_key.rs
- function_names:
  - Key::new
  - Key::encrypt_block
  - Key::new_mask
  - Counter::one
  - Counter::increment
  - Counter::increment_by_less_safe
  - Iv::from
  - encrypt_block_using_encrypt_iv_xor_block
  - encrypt_iv_xor_block_using_encrypt_block
  - encrypt_iv_xor_block_using_ctr32
  - tests::test_aes
  - tests::consume_key
  - aes_gcm_tests::test_aes_gcm_counter_blocks_max
  - aes_gcm_tests::test_aes_gcm_counter_blocks_max_minus_one
  - a::e::s::_::g::c::m::_::t::e::s::t::s::::::::t::e::s::t::_::a::e::s::_::g::c::m::_::c::o::u::n::t::e::r::_::b::l::o::c::k::s::ctr32
  - aes_gcm_tests::test_aes_gcm_counter_blocks
  source_file: /src/spdm-rs/external/ring/src/aead/aes.rs
- function_names:
  - LessSafeKey::new
  - LessSafeKey::new_
  - LessSafeKey::open_in_place_separate_tag
  - LessSafeKey::open_in_place
  - LessSafeKey::open_within
  - LessSafeKey::seal_in_place_append_tag
  - LessSafeKey::seal_in_place_separate_tag
  - LessSafeKey::algorithm
  - LessSafeKey::fmt_debug
  - LessSafeKey::fmt
  source_file: /src/spdm-rs/external/ring/src/aead/less_safe_key.rs
- function_names:
  - Context::new
  - Context::in_out_whole_block_bits
  - Context::inner
  - Context::inner
  - Context::inner
  - Context::update_blocks
  - Context::update_block
  - Context::pre_finish
  source_file: /src/spdm-rs/external/ring/src/aead/gcm.rs
- function_names:
  - shift_full_blocks
  source_file: /src/spdm-rs/external/ring/src/aead/shift.rs
- function_names:
  - OpeningKey::new
  - OpeningKey::algorithm
  - OpeningKey::fmt
  - OpeningKey::open_in_place
  - OpeningKey::open_within
  source_file: /src/spdm-rs/external/ring/src/aead/opening_key.rs
- function_names:
  - Key::new
  - DynKey::new
  - DynKey::new_neon
  - DynKey::new_ssse3
  - DynKey::new_fallback
  - derive_gcm_key_value
  - seal
  - seal_whole_partial
  - seal_strided
  - seal_finish
  - open
  - open_whole_partial
  - open_strided
  - open_finish
  - finish
  source_file: /src/spdm-rs/external/ring/src/aead/aes_gcm.rs
- function_names:
  - State::new_context
  - State::update_internal
  - State::finish
  source_file: /src/spdm-rs/external/ring/src/aead/poly1305/ffi_fallback.rs
- function_names:
  - data_len
  - State::new_context
  - State::update_internal
  - State::finish
  source_file: /src/spdm-rs/external/ring/src/aead/poly1305/ffi_arm_neon.rs
- function_names:
  - Key::new
  - seal
  - seal_fallback
  - open
  - open_fallback
  - check_input_lengths
  - begin
  - finish
  - poly1305_update_padded_16
  source_file: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/mod.rs
- function_names:
  - declare_open
  - declare_seal
  - seal
  - open
  source_file: /src/spdm-rs/external/ring/src/aead/chacha20_poly1305/integrated.rs
- function_names:
  - Key::new
  - Key::encrypt_block
  - Key::encrypt_iv_xor_block
  - Key::ctr32_encrypt_within
  source_file: /src/spdm-rs/external/ring/src/aead/aes/fallback.rs
- function_names:
  - ctr32_encrypt_blocks_with_vpaes_key
  source_file: /src/spdm-rs/external/ring/src/aead/aes/bs.rs
- function_names:
  - AES_KEY::new
  - AES_KEY::derive
  - AES_KEY::rounds
  - set_encrypt_key
  - encrypt_block
  - AES_KEY::encrypt_block
  - ctr32_encrypt_blocks
  - AES_KEY::ctr32_encrypt_blocks
  source_file: /src/spdm-rs/external/ring/src/aead/aes/ffi.rs
- function_names:
  - Key::new
  - Key::new
  - Key::inner_less_safe
  - Key::encrypt_block
  - Key::encrypt_iv_xor_block
  - Key::ctr32_encrypt_within
  source_file: /src/spdm-rs/external/ring/src/aead/aes/hw.rs
- function_names:
  - Key::new
  - Key::encrypt_block
  - Key::encrypt_iv_xor_block
  - Key::ctr32_encrypt_within
  - Key::ctr32_encrypt_within
  - Key::encrypt_block
  - Key::encrypt_iv_xor_block
  - Key::ctr32_encrypt_within
  source_file: /src/spdm-rs/external/ring/src/aead/aes/vp.rs
- function_names:
  - Key::new
  - Key::update_block
  - Key::update_blocks
  - g::c::m::_::m::u::l::6::4::_::n::o::h::w::lo
  - g::c::m::_::m::u::l::6::4::_::n::o::h::w::hi
  - g::c::m::_::m::u::l::6::4::_::n::o::h::w::mul
  - gcm_mul64_nohw
  - g::c::m::_::m::u::l::3::2::_::n::o::h::w::mul
  - gcm_mul32_nohw
  - g::c::m::_::m::u::l::6::4::_::n::o::h::w::lo
  - g::c::m::_::m::u::l::6::4::_::n::o::h::w::hi
  - gcm_mul64_nohw
  - init
  - gcm_polyval_nohw
  - gmult
  - ghash
  - with_swapped_xi
  source_file: /src/spdm-rs/external/ring/src/aead/gcm/fallback.rs
- function_names:
  - Key::new
  - Key::inner
  - Key::update_block
  - Key::update_blocks
  source_file: /src/spdm-rs/external/ring/src/aead/gcm/clmulavxmovbe.rs
- function_names:
  - Key::new
  - Key::inner
  - Key::update_block
  - Key::update_block
  - Key::update_blocks
  source_file: /src/spdm-rs/external/ring/src/aead/gcm/clmul.rs
- function_names:
  - Key::new
  - Key::inner
  - Key::update_block
  source_file: /src/spdm-rs/external/ring/src/aead/gcm/vclmulavx2.rs
- function_names:
  - Key::new
  - Key::update_block
  - Key::update_blocks
  source_file: /src/spdm-rs/external/ring/src/aead/gcm/neon.rs
- function_names:
  - htable_new
  - ghash
  - KeyValue::new
  - KeyValue::into_inner
  - HTable::new
  - HTable::gmult
  - HTable::ghash
  - Xi::bitxor_assign
  source_file: /src/spdm-rs/external/ring/src/aead/gcm/ffi.rs
- function_names:
  - ChaCha20_ctr32
  - chacha_core
  - q::u::a::r::t::e::r::r::o::u::n::d::step
  - quarterround
  source_file: /src/spdm-rs/external/ring/src/aead/chacha/fallback.rs
- function_names:
  - chacha20_ctr32_ffi
  - chacha20_ctr32_ffi
  source_file: /src/spdm-rs/external/ring/src/aead/chacha/ffi.rs
- function_names:
  - Array::new
  - Array::into_unwritten_output
  - Array::input
  source_file: /src/spdm-rs/external/ring/src/aead/overlapping/array.rs
- function_names: []
  source_file: /src/spdm-rs/external/ring/src/aead/overlapping/mod.rs
- function_names:
  - PartialBlock::new
  - PartialBlock::overwrite_at_start
  - PartialBlock::input
  - PartialBlock::len
  source_file: /src/spdm-rs/external/ring/src/aead/overlapping/partial_block.rs
- function_names:
  - Overlapping::from
  - Overlapping::new
  - Overlapping::copy_within
  - Overlapping::into_slice_src_mut
  - Overlapping::into_unwritten_output
  - Overlapping::len
  - Overlapping::input
  - Overlapping::with_input_output_len
  - Overlapping::split_first_chunk
  source_file: /src/spdm-rs/external/ring/src/aead/overlapping/base.rs
- function_names:
  - seal_whole
  - open_whole
  source_file: /src/spdm-rs/external/ring/src/aead/aes_gcm/aarch64.rs
- function_names:
  - seal_whole_vaes_clmul_avx2
  - open_whole_vaes_clmul_avx2
  source_file: /src/spdm-rs/external/ring/src/aead/aes_gcm/vaesclmulavx2.rs
- function_names:
  - seal
  - open
  source_file: /src/spdm-rs/external/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs
- function_names:
  - KeyPair::derive
  - KeyPair::public_key
  - KeyPair::split
  - Seed::generate
  - Seed::from_bytes
  - Seed::bytes_less_safe
  - Seed::compute_public_key
  - PublicKey::as_ref
  source_file: /src/spdm-rs/external/ring/src/ec/keys.rs
- function_names: []
  source_file: /src/spdm-rs/external/ring/src/ec/curve25519.rs
- function_names:
  - verify_affine_point_is_on_the_curve
  - verify_jacobian_point_is_on_the_curve
  - verify_affine_point_is_on_the_curve_scaled
  - key_pair_from_pkcs8
  - key_pair_from_pkcs8_
  - key_pair_from_bytes
  source_file: /src/spdm-rs/external/ring/src/ec/suite_b.rs
- function_names:
  - ecdh
  - ecdh
  - tests::test_agreement_suite_b_ecdh_generate
  source_file: /src/spdm-rs/external/ring/src/ec/suite_b/ecdh.rs
- function_names: []
  source_file: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa.rs
- function_names:
  - Point::new_at_infinity
  - CommonOps::elem_modulus
  - CommonOps::scalar_modulus
  - CommonOps::len
  - CommonOps::n_limbs
  - Modulus::cpu
  - Modulus::bytes_len
  - Modulus::add_assign
  - Modulus::elems_are_equal
  - Modulus::elem_unencoded
  - CommonOps::is_zero
  - CommonOps::elem_mul
  - CommonOps::elem_product
  - CommonOps::elem_square
  - CommonOps::elem_squared
  - Modulus::elem_mul
  - Modulus::elem_product
  - Modulus::elem_square
  - Modulus::elem_squared
  - Modulus::is_zero
  - Modulus::elem_verify_is_not_zero
  - Modulus::a
  - Modulus::b
  - PrivateKeyOps::point_sum
  - Modulus::point_x
  - Modulus::point_y
  - Modulus::point_z
  - PrivateKeyOps::leak_limbs
  - PrivateKeyOps::point_mul_base
  - PrivateKeyOps::point_mul
  - PrivateKeyOps::elem_inverse_squared
  - PublicKeyOps::elem_parse
  - ScalarOps::scalar_modulus
  - ScalarOps::scalar_bytes_len
  - ScalarOps::leak_limbs
  - ScalarOps::scalar_product
  - PublicScalarOps::n
  - PublicScalarOps::scalar_as_elem
  - Modulus::elem_less_than_vartime
  - PublicScalarOps::scalar_inv_to_mont_vartime
  - PrivateScalarOps::to_mont
  - PrivateScalarOps::scalar_inv_to_mont
  - twin_mul_inefficient
  - Modulus::elem_reduced_to_scalar
  - elem_sqr_mul
  - elem_sqr_mul_acc
  - elem_parse_big_endian_fixed_consttime
  - scalar_parse_big_endian_fixed_consttime
  - scalar_parse_big_endian_variable
  - scalar_parse_big_endian_partially_reduced_variable_consttime
  - parse_big_endian_fixed_consttime
  - unwrap_impossible_len_mismatch_error
  - tests::q_minus_n_plus_n_equals_0_test
  - tests::p256_q_minus_n_plus_n_equals_0_test
  - tests::p384_q_minus_n_plus_n_equals_0_test
  - tests::p256_elem_add_test
  - tests::p384_elem_add_test
  - tests::elem_add_test
  - tests::p384_elem_sub_test
  - tests::elem_sub_test
  - tests::p384_elem_div_by_2_test
  - tests::elem_div_by_2_test
  - tests::p256_elem_neg_test
  - tests::p384_elem_neg_test
  - tests::elem_neg_test
  - tests::p256_elem_mul_test
  - tests::p384_elem_mul_test
  - tests::elem_mul_test
  - tests::p256_scalar_mul_test
  - tests::p384_scalar_mul_test
  - tests::scalar_mul_test
  - tests::p256_scalar_square_test
  - tests::scalar_square_test
  - tests::p256_scalar_inv_to_mont_zero_panic_test
  - tests::p384_scalar_inv_to_mont_zero_panic_test
  - tests::p256_point_sum_test
  - tests::p384_point_sum_test
  - tests::point_sum_test
  - tests::p256_point_sum_mixed_test
  - tests::point_sum_mixed_test
  - tests::p256_point_double_test
  - tests::p384_point_double_test
  - tests::point_double_test
  - tests::p256_point_mul_test
  - tests::p384_point_mul_test
  - tests::p256_point_mul_serialized_test
  - tests::point_mul_serialized_test
  - tests::p256_point_mul_base_test
  - tests::p384_point_mul_base_test
  - tests::point_mul_base_tests
  - tests::assert_point_actual_equals_expected
  - tests::consume_jacobian_point
  - tests::consume_affine_point
  - tests::consume_point_elem
  - t::e::s::t::s::::::::c::o::n::s::u::m::e::_::p::o::i::n::t::consume_point_elem
  - tests::consume_point
  - tests::assert_elems_are_equal
  - tests::assert_limbs_are_equal
  - tests::consume_elem
  - tests::consume_scalar
  - tests::consume_scalar_mont
  source_file: /src/spdm-rs/external/ring/src/ec/suite_b/ops.rs
- function_names:
  - random_scalar
  - generate_private_scalar_bytes
  - private_key_as_scalar
  - check_scalar_big_endian_bytes
  - scalar_from_big_endian_bytes
  - public_from_private
  - affine_from_jacobian
  - big_endian_affine_from_jacobian
  source_file: /src/spdm-rs/external/ring/src/ec/suite_b/private_key.rs
- function_names:
  - parse_uncompressed_point
  - tests::parse_uncompressed_point_test
  - tests::public_key_ops_from_curve_name
  source_file: /src/spdm-rs/external/ring/src/ec/suite_b/public_key.rs
- function_names:
  - suite_b_curve
  source_file: /src/spdm-rs/external/ring/src/ec/suite_b/curve.rs
- function_names:
  - p::2::5::6::_::e::l::e::m::_::i::n::v::_::s::q::u::a::r::e::d::sqr_mul
  - p::2::5::6::_::e::l::e::m::_::i::n::v::_::s::q::u::a::r::e::d::sqr_mul_acc
  - p256_elem_inv_squared
  - p256_point_mul_base_impl
  - twin_mul_nistz256
  - point_mul_base_vartime
  - p::2::5::6::_::s::c::a::l::a::r::_::i::n::v::_::t::o::_::m::o::n::t::mul
  - p::2::5::6::_::s::c::a::l::a::r::_::i::n::v::_::t::o::_::m::o::n::t::sqr
  - p::2::5::6::_::s::c::a::l::a::r::_::i::n::v::_::t::o::_::m::o::n::t::sqr_mul
  - p::2::5::6::_::s::c::a::l::a::r::_::i::n::v::_::t::o::_::m::o::n::t::sqr_mul_acc
  - p256_scalar_inv_to_mont
  - tests::p256_point_mul_base_vartime_test
  source_file: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p256.rs
- function_names:
  - p::3::8::4::_::e::l::e::m::_::i::n::v::_::s::q::u::a::r::e::d::sqr_mul
  - p::3::8::4::_::e::l::e::m::_::i::n::v::_::s::q::u::a::r::e::d::sqr_mul_acc
  - p384_elem_inv_squared
  - p384_point_mul_base_impl
  - p::3::8::4::_::s::c::a::l::a::r::_::i::n::v::_::t::o::_::m::o::n::t::mul
  - p::3::8::4::_::s::c::a::l::a::r::_::i::n::v::_::t::o::_::m::o::n::t::sqr
  - p::3::8::4::_::s::c::a::l::a::r::_::i::n::v::_::t::o::_::m::o::n::t::sqr_mut
  - p::3::8::4::_::s::c::a::l::a::r::_::i::n::v::_::t::o::_::m::o::n::t::sqr_mul
  - p::3::8::4::_::s::c::a::l::a::r::_::i::n::v::_::t::o::_::m::o::n::t::sqr_mul_acc
  - p384_scalar_inv_to_mont
  - p384_elem_sqr_mont
  source_file: /src/spdm-rs/external/ring/src/ec/suite_b/ops/p384.rs
- function_names:
  - NumLimbs::into
  - Elem::from
  - Elem::zero
  - Elem::one
  - PublicElem::from_hex
  - mul_mont
  - binary_op
  - binary_op_assign
  - unary_op
  - unary_op_assign
  - unary_op_from_binary_op_assign
  source_file: /src/spdm-rs/external/ring/src/ec/suite_b/ops/elem.rs
- function_names:
  - digest_scalar
  - digest_bytes_scalar
  - digest_scalar_
  - tests::test
  source_file: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/digest_scalar.rs
- function_names:
  - EcdsaVerificationAlgorithm::verify
  - E::c::d::s::a::V::e::r::i::f::i::c::a::t::i::o::n::A::l::g::o::r::i::t::h::m::::::::v::e::r::i::f::y::_::d::i::g::e::s::t::sig_r_equals_x
  - EcdsaVerificationAlgorithm::verify_digest
  - split_rs_fixed
  - split_rs_asn1
  - tests::test_digest_based_test_vectors
  source_file: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/verification.rs
- function_names:
  - EcdsaSigningAlgorithm::eq
  - EcdsaKeyPair::generate_pkcs8
  - EcdsaKeyPair::from_pkcs8
  - EcdsaKeyPair::from_private_key_and_public_key
  - EcdsaKeyPair::new
  - EcdsaKeyPair::sign
  - EcdsaKeyPair::sign_with_fixed_nonce_during_test
  - EcdsaKeyPair::sign_digest
  - NonceRandom::fmt
  - NonceRandom::fill_impl
  - NonceRandomKey::new
  - EcdsaKeyPair::public_key
  - PublicKey::as_ref
  - format_rs_fixed
  - f::o::r::m::a::t::_::r::s::_::a::s::n::1::format_integer_tlv
  - format_rs_asn1
  - tests::signature_ecdsa_sign_fixed_test
  - tests::signature_ecdsa_sign_asn1_test
  source_file: /src/spdm-rs/external/ring/src/ec/suite_b/ecdsa/signing.rs
- function_names:
  - eddsa_digest
  source_file: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519.rs
- function_names:
  - x25519_check_private_key_bytes
  - x25519_generate_private_key
  - x25519_public_from_private
  - x::2::5::5::1::9::_::e::c::d::h::scalar_mult
  - x25519_ecdh
  - x25519_neon
  - tests::test_x25519_public_from_private
  source_file: /src/spdm-rs/external/ring/src/ec/curve25519/x25519.rs
- function_names:
  - Elem::zero
  - Elem::negate
  - ExtPoint::from_scalarmult_base
  - ExtPoint::from_encoded_point_vartime
  - ExtPoint::into_encoded_point
  - ExtPoint::invert_vartime
  - Point::new_at_infinity
  - Point::into_encoded_point
  - encode_point
  - has_fe25519_adx
  source_file: /src/spdm-rs/external/ring/src/ec/curve25519/ops.rs
- function_names:
  - Scalar::from_bytes_checked
  - Scalar::from_sha512_digest_reduced
  - MaskedScalar::from_bytes_masked
  - Scalar::from
  source_file: /src/spdm-rs/external/ring/src/ec/curve25519/scalar.rs
- function_names:
  - EdDSAParameters::fmt
  - EdDSAParameters::verify
  source_file: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/verification.rs
- function_names:
  - Ed25519KeyPair::generate_pkcs8
  - Ed25519KeyPair::from_pkcs8
  - Ed25519KeyPair::from_pkcs8_maybe_unchecked
  - Ed25519KeyPair::from_seed_and_public_key
  - Ed25519KeyPair::from_seed_unchecked
  - Ed25519KeyPair::from_seed_
  - Ed25519KeyPair::sign
  - Ed25519KeyPair::public_key
  - PublicKey::as_ref
  - unwrap_pkcs8
  source_file: /src/spdm-rs/external/ring/src/ec/curve25519/ed25519/signing.rs
- function_names: []
  source_file: /src/spdm-rs/external/ring/src/polyfill/notsend.rs
- function_names:
  - from_mut
  - from_ref
  source_file: /src/spdm-rs/external/ring/src/polyfill/ptr.rs
- function_names:
  - split_at_checked
  - split_first_chunk_mut
  source_file: /src/spdm-rs/external/ring/src/polyfill/slice.rs
- function_names:
  - Ref::as_ptr
  - Ref::from_bytes_with_nul_unchecked
  - unwrap_const_from_bytes_with_nul
  - c::o::n::s::t::_::f::r::o::m::_::b::y::t::e::s::_::w::i::t::h::_::n::u::l::const_contains
  - const_from_bytes_with_nul
  source_file: /src/spdm-rs/external/ring/src/polyfill/cstr.rs
- function_names:
  - '[I; 12]::array_split_map'
  - '[I; 16]::array_split_map'
  - '[I; 32]::array_split_map'
  - '[I; 16]::array_split_map'
  source_file: /src/spdm-rs/external/ring/src/polyfill/array_split_map.rs
- function_names:
  - assert_iterator
  - assert_exact_size_iterator
  source_file: /src/spdm-rs/external/ring/src/polyfill/test.rs
- function_names:
  - LeadingZerosStripped::clone
  - LeadingZerosStripped::new
  - LeadingZerosStripped::next
  - LeadingZerosStripped::size_hint
  - tests::test_leading_zeroes_stripped
  source_file: /src/spdm-rs/external/ring/src/polyfill/leading_zeros_skipped.rs
- function_names:
  - unwrap_const
  source_file: /src/spdm-rs/external/ring/src/polyfill/unwrap_const.rs
- function_names:
  - ArrayFlatMap::new
  - ArrayFlatMap::next
  - ArrayFlatMap::size_hint
  - tests::test_array_flat_map
  - tests::test_array_flat_map_len_overflow
  source_file: /src/spdm-rs/external/ring/src/polyfill/array_flat_map.rs
- function_names:
  - cold_exhaustive_error
  source_file: /src/spdm-rs/external/ring/src/polyfill/cold_error.rs
- function_names:
  - overwrite_at_start
  source_file: /src/spdm-rs/external/ring/src/polyfill/sliceutil.rs
- function_names:
  - as_chunks
  - AsChunks::from_ref
  - AsChunks::as_flattened
  - AsChunks::as_ptr
  - AsChunks::is_empty
  - AsChunks::len
  - AsChunks::index
  - AsChunks::into_iter
  - AsChunksIter::next
  - AsChunks::from
  - AsChunks::from
  - AsChunks::from
  source_file: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks.rs
- function_names:
  - as_chunks_mut
  - AsChunksMut::as_flattened
  - AsChunksMut::as_flattened_mut
  - AsChunksMut::as_ptr
  - AsChunksMut::as_ptr
  - AsChunksMut::as_mut_ptr
  - AsChunksMut::as_mut
  - AsChunksMut::as_ref
  - AsChunksMut::chunks_mut
  - AsChunksMut::split_at_mut
  - AsChunksMutChunksMutIter::next
  source_file: /src/spdm-rs/external/ring/src/polyfill/slice/as_chunks_mut.rs
- function_names:
  - OnceNonZeroUsize::new
  - OnceNonZeroUsize::get
  - OnceNonZeroUsize::get_or_init
  - OnceNonZeroUsize::init
  source_file: /src/spdm-rs/external/ring/src/polyfill/once_cell/race.rs
- function_names:
  - featureflags::get_or_init
  - featureflags::get
  - c::p::u::i::d::_::t::o::_::c::a::p::s::_::a::n::d::_::s::e::t::_::c::_::f::l::a::g::s::check
  - c::p::u::i::d::_::t::o::_::c::a::p::s::_::a::n::d::_::s::e::t::_::c::_::f::l::a::g::s::set
  - cpuid_to_caps_and_set_c_flags
  - tests::x86_has_sse2
  source_file: /src/spdm-rs/external/ring/src/cpu/intel.rs
- function_names:
  - f::e::a::t::u::r::e::f::l::a::g::s::::::::g::e::t::_::o::r::_::i::n::i::t::init
  - featureflags::get_or_init
  - featureflags::get
  source_file: /src/spdm-rs/external/ring/src/cpu/arm.rs
- function_names:
  - detect_features
  source_file: /src/spdm-rs/external/ring/src/cpu/arm/fuchsia.rs
- function_names:
  - detect_features
  - detect_features
  - detect_features
  source_file: /src/spdm-rs/external/ring/src/cpu/arm/linux.rs
- function_names:
  - d::e::t::e::c::t::_::f::e::a::t::u::r::e::s::detect_feature
  - detect_features
  - tests::sha512_detection
  source_file: /src/spdm-rs/external/ring/src/cpu/arm/darwin.rs
- function_names:
  - detect_features
  source_file: /src/spdm-rs/external/ring/src/cpu/arm/windows.rs
- function_names:
  - PublicExponent::from_be_bytes
  - PublicExponent::be_bytes
  - PublicExponent::value
  - tests::test_public_exponent_constants
  source_file: /src/spdm-rs/external/ring/src/rsa/public_exponent.rs
- function_names:
  - encode
  - mgf1
  - test::test_pss_padding_verify
  - test::test_pss_padding_encode
  source_file: /src/spdm-rs/external/ring/src/rsa/padding.rs
- function_names:
  - KeyPairComponents::fmt
  source_file: /src/spdm-rs/external/ring/src/rsa/keypair_components.rs
- function_names:
  - KeyPair::from_pkcs8
  - KeyPair::from_der
  - K::e::y::P::a::i::r::::::::f::r::o::m::_::d::e::r::_::r::e::a::d::e::r::nonnegative_integer
  - KeyPair::from_der_reader
  - KeyPair::from_components
  - KeyPair::from_components_
  - KeyPair::public
  - KeyPair::public_modulus_len
  - KeyPair::public_key
  - PrivatePrime::new
  - PrivateCrtPrime::new
  - elem_exp_consttime
  - KeyPair::sign
  - KeyPair::private_exponentiate
  - tests::test_rsakeypair_private_exponentiate
  source_file: /src/spdm-rs/external/ring/src/rsa/keypair.rs
- function_names:
  - RsaParameters::verify
  - rsa_params
  - super::PublicKeyComponents::verify
  - verify_rsa_
  source_file: /src/spdm-rs/external/ring/src/rsa/verification.rs
- function_names:
  - PublicModulus::clone
  - PublicModulus::from_be_bytes
  - PublicModulus::be_bytes
  - PublicModulus::len_bits
  - PublicModulus::value
  - PublicModulus::oneRR
  source_file: /src/spdm-rs/external/ring/src/rsa/public_modulus.rs
- function_names:
  - PublicKey::from_modulus_and_exponent
  - PublicKey::modulus_len
  - PublicKey::inner
  - Inner::from_modulus_and_exponent
  - Inner::n
  - Inner::e
  - Inner::exponentiate
  - Inner::exponentiate_elem
  - PublicKey::as_ref
  - fill_be_bytes_n
  source_file: /src/spdm-rs/external/ring/src/rsa/public_key.rs
- function_names:
  - PublicKeyComponents::fmt
  - PublicKeyComponents::from
  source_file: /src/spdm-rs/external/ring/src/rsa/public_key_components.rs
- function_names:
  - PKCS1::digest_alg
  - PKCS1::encode
  - PKCS1::verify
  - pkcs1_encode
  - rsa_pkcs1_padding
  - pkcs1_digestinfo_prefix
  source_file: /src/spdm-rs/external/ring/src/rsa/padding/pkcs1.rs
- function_names:
  - PSS::digest_alg
  - PSS::encode
  - PSS::verify
  - PSSMetrics::new
  - pss_digest
  - rsa_pss_padding
  source_file: /src/spdm-rs/external/ring/src/rsa/padding/pss.rs
- function_names:
  - digest_shavs::run_known_answer_test
  source_file: /src/spdm-rs/external/ring/cavp/tests/shavs.rs
- function_names:
  - sign
  - verify
  source_file: /src/spdm-rs/external/ring/bench/ecdsa.rs
- function_names:
  - oneshot
  source_file: /src/spdm-rs/external/ring/bench/digest.rs
- function_names:
  - NonceSequence::new
  - NonceSequence::advance
  - seal_in_place_separate_tag
  - open_in_place
  - bench_id
  source_file: /src/spdm-rs/external/ring/bench/aead.rs
- function_names:
  - generate_key
  - compute_public_key
  - agree_ephemeral
  - bench_name
  source_file: /src/spdm-rs/external/ring/bench/agreement.rs
- function_names:
  - verify_case
  - verify
  source_file: /src/spdm-rs/external/ring/bench/rsa.rs
- function_names:
  - enum_builder
  source_file: /src/spdm-rs/codec/src/macros.rs
- function_names:
  - tests::it_works
  source_file: /src/spdm-rs/codec/src/lib.rs
- function_names:
  - Reader::init
  - Reader::rest
  - Reader::take
  - Reader::any_left
  - Reader::left
  - Reader::used
  - Reader::sub
  - Reader::as_ref
  - Writer::init
  - Writer::clear
  - Writer::extend_from_slice
  - Writer::push
  - Writer::left
  - Writer::left_slice
  - Writer::mut_left_slice
  - Writer::used
  - Writer::used_slice
  - Writer::mut_used_slice
  - Codec::read_bytes
  - Codec::read_vec
  - alloc::vec::Vec::encode
  - alloc::vec::Vec::read
  - Option::encode
  - Option::read
  - decode_u8
  - u8::encode
  - u8::read
  - put_u16
  - decode_u16
  - u16::encode
  - u16::read
  - u24::new
  - u24::get
  - u24::decode
  - u24::encode
  - u24::read
  - decode_u32
  - u32::encode
  - u32::read
  - put_u64
  - decode_u64
  - u64::encode
  - u64::read
  - u128::encode
  - u128::read
  - '[T; N]::encode'
  - '[T; N]::read'
  - tests::test_u128
  - tests::test_u64
  - tests::test_u32
  - tests::test_u16
  - tests::test_u24
  - tests::test_u24_max_size
  - tests::test_u8
  - tests::test_case0_rest
  - tests::test_case0_any_left
  - tests::test_case1_any_left
  - tests::test_case0_read_bytes
  - tests::test_case0_sub
  - tests::test_case0_array
  source_file: /src/spdm-rs/codec/src/codec.rs
